Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PyTorch] Use plain old function pointer for RecordFunctionCallback #48629

Closed
wants to merge 5 commits into from

Conversation

swolchok
Copy link
Contributor

@swolchok swolchok commented Dec 1, 2020

Stack from ghstack:

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: D25135415

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

[ghstack-poisoned]
@swolchok swolchok requested a review from albanD as a code owner December 1, 2020 00:12
@facebook-github-bot facebook-github-bot added cla signed oncall: jit Add this issue/PR to JIT oncall triage queue labels Dec 1, 2020
swolchok added a commit that referenced this pull request Dec 1, 2020
Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

ghstack-source-id: 117508738
Pull Request resolved: #48629
@dr-ci
Copy link

dr-ci bot commented Dec 1, 2020

💊 CI failures summary and remediations

As of commit 74229e0 (more details on the Dr. CI page):


  • 18/18 failures possibly* introduced in this PR
    • 3/18 non-CircleCI failure(s)

🕵️ 15 new failures recognized by patterns

The following CI failures do not appear to be due to upstream breakages:

See CircleCI build pytorch_linux_bionic_py3_8_gcc9_coverage_build (1/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t*’ {aka ‘long unsigned int*’} because ‘user_scope_cnt’ has no linkage
Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: ‘& ts_fun_cnt’ is not a valid template argument of type ‘size_t*’ {aka ‘long unsigned int*’} because ‘ts_fun_cnt’ has no linkage 
Dec 15 00:54:44   775 |   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:54:44       |                                                                          ^ 
Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to ‘pushScopedCallback<at::RecordScope::USER_SCOPE, (& user_scope_cnt)>()’ 
Dec 15 00:54:44   777 |   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:54:44       |                                                                    ^ 
Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: ‘template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback()’ 
Dec 15 00:54:44   736 | void pushScopedCallback() { 
Dec 15 00:54:44       |      ^~~~~~~~~~~~~~~~~~ 
Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 00:54:44 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t*’ {aka ‘long unsigned int*’} because ‘user_scope_cnt’ has no linkage 
Dec 15 00:54:44   777 |   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:54:44       |                                                                    ^ 
Dec 15 00:54:44 test_jit/CMakeFiles/test_jit.dir/build.make:419: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:54:44 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:54:44 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 00:54:44 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 00:54:44 CMakeFiles/Makefile2:11598: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 00:54:44 [ 96%] Building CXX object test_api/CMakeFiles/test_api.dir/fft.cpp.o 
Dec 15 00:54:46 [ 96%] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/test_memdependency.cpp.o 
Dec 15 00:54:56 [ 96%] Building CXX object test_api/CMakeFiles/test_api.dir/functional.cpp.o 

See CircleCI build pytorch_xla_linux_bionic_py3_6_clang9_build (2/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:48:47   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:48:47 void pushScopedCallback() { 
Dec 15 00:48:47      ^ 
Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:48:47   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:48:47   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:48:47 void pushScopedCallback() { 
Dec 15 00:48:47      ^ 
Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:48:47   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:48:47   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:48:47 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:48:47 void pushScopedCallback() { 
Dec 15 00:48:47      ^ 
Dec 15 00:48:47 3 errors generated. 
Dec 15 00:48:47 test_jit/CMakeFiles/test_jit.dir/build.make:419: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:48:47 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:48:47 CMakeFiles/Makefile2:11598: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 00:48:47 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 

See CircleCI build pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc5_4_build (3/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage
Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: '& ts_fun_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'ts_fun_cnt' has no linkage 
Dec 15 01:50:28    pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 01:50:28                                                                           ^ 
Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to 'pushScopedCallback()' 
Dec 15 01:50:28    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 01:50:28                                                                     ^ 
Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
Dec 15 01:50:28  void pushScopedCallback() { 
Dec 15 01:50:28       ^ 
Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 01:50:28 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage 
Dec 15 01:50:28    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 01:50:28                                                                     ^ 
Dec 15 01:50:28 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 01:50:28 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 01:50:28 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 01:50:28 CMakeFiles/Makefile2:16086: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 01:50:28 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 01:50:28 [ 95%] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/test_train_impl.cpp.o 
Dec 15 01:50:31 [ 95%] Building CXX object test_api/CMakeFiles/test_api.dir/jit.cpp.o 
Dec 15 01:50:40 [ 95%] Building CXX object test_api/CMakeFiles/test_api.dir/memory.cpp.o 

See CircleCI build pytorch_linux_xenial_py3_clang7_onnx_build (4/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:51:24   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:51:24 void pushScopedCallback() { 
Dec 15 00:51:24      ^ 
Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:51:24   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:51:24   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:51:24 void pushScopedCallback() { 
Dec 15 00:51:24      ^ 
Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:51:24   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:51:24   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:51:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:51:24 void pushScopedCallback() { 
Dec 15 00:51:24      ^ 
Dec 15 00:51:24 3 errors generated. 
Dec 15 00:51:24 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:51:24 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:51:24 CMakeFiles/Makefile2:13937: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 00:51:24 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 

See CircleCI build binary_linux_libtorch_3_7m_cpu_gcc5_4_cxx11-abi_shared-with-deps_build (5/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

../test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage
../test/cpp/jit/test_misc.cpp:775:74: error: ‘& ts_fun_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘ts_fun_cnt’ has no linkage 
   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
                                                                          ^ 
../test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to ‘pushScopedCallback()’ 
   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
                                                                    ^ 
../test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
 void pushScopedCallback() { 
      ^ 
../test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
../test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage 
   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
                                                                    ^ 
[4698/5058] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_subgraph_matcher.cpp.o 
[4699/5058] Building CXX object caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/native/cpu/BinaryOpsKernel.cpp.AVX2.cpp.o 
[4700/5058] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_custom_class_registrations.cpp.o 
[4701/5058] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/padded_buffer.cpp.o 
[4702/5058] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_graph_executor.cpp.o 
[4703/5058] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_subgraph_utils.cpp.o 
[4704/5058] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_utils.cpp.o 
[4705/5058] Building CXX object test_jit/CMakeFiles/jitbackend_test.dir/test_backend.cpp.o 

See CircleCI build pytorch_linux_bionic_py3_6_clang9_build (6/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:53:07   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:53:07 void pushScopedCallback() { 
Dec 15 00:53:07      ^ 
Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:53:07   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:53:07   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:53:07 void pushScopedCallback() { 
Dec 15 00:53:07      ^ 
Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:53:07   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:53:07   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:53:07 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:53:07 void pushScopedCallback() { 
Dec 15 00:53:07      ^ 
Dec 15 00:53:07 3 errors generated. 
Dec 15 00:53:07 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:53:07 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 00:53:07 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 00:53:07 test_jit/CMakeFiles/test_jit.dir/build.make:419: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 

See CircleCI build pytorch_macos_10_13_py3_build (7/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:26:04   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:26:04 void pushScopedCallback() { 
Dec 15 00:26:04      ^ 
Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:26:04   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:26:04   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:26:04 void pushScopedCallback() { 
Dec 15 00:26:04      ^ 
Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:26:04   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:26:04   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:26:04 ../test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:26:04 void pushScopedCallback() { 
Dec 15 00:26:04      ^ 
Dec 15 00:26:04 1 warning and 3 errors generated. 
Dec 15 00:26:08 [4805/5040] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_lite_trainer.cpp.o 
Dec 15 00:26:09 [4806/5040] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_lite_interpreter.cpp.o 
Dec 15 00:26:16 [4807/5040] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_module_api.cpp.o 
Dec 15 00:26:16 ninja: build stopped: subcommand failed. 

See CircleCI build pytorch_vulkan_linux_bionic_py3_6_clang9_build (8/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:42:03   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:42:03 void pushScopedCallback() { 
Dec 15 00:42:03      ^ 
Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:42:03   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:42:03   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:42:03 void pushScopedCallback() { 
Dec 15 00:42:03      ^ 
Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:42:03   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:42:03   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:42:03 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:42:03 void pushScopedCallback() { 
Dec 15 00:42:03      ^ 
Dec 15 00:42:03 3 errors generated. 
Dec 15 00:42:03 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:42:03 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:42:03 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 00:42:03 make[1]: *** Waiting for unfinished jobs.... 

See CircleCI build pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build (9/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage
Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: '& ts_fun_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'ts_fun_cnt' has no linkage 
Dec 15 01:59:13    pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 01:59:13                                                                           ^ 
Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to 'pushScopedCallback<USER_SCOPE, (& user_scope_cnt)>()' 
Dec 15 01:59:13    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 01:59:13                                                                     ^ 
Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
Dec 15 01:59:13  void pushScopedCallback() { 
Dec 15 01:59:13       ^~~~~~~~~~~~~~~~~~ 
Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 01:59:13 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage 
Dec 15 01:59:13    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 01:59:13                                                                     ^ 
Dec 15 01:59:13 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 01:59:13 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 01:59:13 CMakeFiles/Makefile2:16372: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 01:59:13 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 01:59:13 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 01:59:13 [ 96%] Building CXX object test_api/CMakeFiles/test_api.dir/init.cpp.o 
Dec 15 01:59:27 [ 96%] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/test_type.cpp.o 
Dec 15 01:59:32 [ 96%] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/test_cuda.cpp.o 

See CircleCI build pytorch_bazel_test (10/15)

Step: "Test" (full log | diagnosis details | 🔁 rerun)

t_Callbacks_Test::TestBody()\':\ntest/cpp/jit/test_misc.cpp:972:8: warning: unused variable \'h2\' [-Wunused-variable]\n auto h2 = add_remove_test_add_cb<2>();\n ^~\nIn file included from test/cpp/jit/test_misc.cpp:38:0:\n./torch/csrc/jit/passes/pass_manager.h: At global scope:\n./torch/csrc/jit/passes/pass_manager.h:30:26: warning: \'torch::jit::graphPassID\' defined but not used [-Wunused-variable]\n static GraphPassNameType graphPassID = 1;\n ^~~~~~~~~~~\n" }
Dec 15 00:29:16 //:tensor_options_test                                                NO STATUS 
Dec 15 00:29:16 //:tensor_test                                                        NO STATUS 
Dec 15 00:29:16 //:torch_include_test                                                 NO STATUS 
Dec 15 00:29:16  
Dec 15 00:29:16 Executed 0 out of 25 tests: 25 were skipped. 
Dec 15 00:29:16 FAILED: Build did NOT complete successfully 
Dec 15 00:29:16 + cleanup 
Dec 15 00:29:16 + retcode=1 
Dec 15 00:29:16 + set +x 
Dec 15 00:29:16 =================== sccache compilation log =================== 
_Callbacks_Test::TestBody()\':\ntest/cpp/jit/test_misc.cpp:972:8: warning: unused variable \'h2\' [-Wunused-variable]\n   auto h2 = add_remove_test_add_cb<2>();\n        ^~\nIn file included from test/cpp/jit/test_misc.cpp:38:0:\n./torch/csrc/jit/passes/pass_manager.h: At global scope:\n./torch/csrc/jit/passes/pass_manager.h:30:26: warning: \'torch::jit::graphPassID\' defined but not used [-Wunused-variable]\n static GraphPassNameType graphPassID = 1;\n                          ^~~~~~~~~~~\n" } 
Dec 15 00:29:16  
Dec 15 00:29:16 =========== If your build fails, please take a look at the log above for possible reasons =========== 
Dec 15 00:29:16 Compile requests                     100 
Dec 15 00:29:16 Compile requests executed             75 
Dec 15 00:29:16 Cache hits                            55 
Dec 15 00:29:16 Cache hits (C/C++)                    55 
Dec 15 00:29:16 Cache misses                          16 
Dec 15 00:29:16 Cache misses (C/C++)                  16 
Dec 15 00:29:16 Cache timeouts                         0 
Dec 15 00:29:16 Cache read errors                      0 

See CircleCI build pytorch_libtorch_linux_xenial_cuda11_1_cudnn8_py3_gcc7_build (11/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage
Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: '& ts_fun_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'ts_fun_cnt' has no linkage 
Dec 15 02:12:36    pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 02:12:36                                                                           ^ 
Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to 'pushScopedCallback<USER_SCOPE, (& user_scope_cnt)>()' 
Dec 15 02:12:36    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 02:12:36                                                                     ^ 
Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
Dec 15 02:12:36  void pushScopedCallback() { 
Dec 15 02:12:36       ^~~~~~~~~~~~~~~~~~ 
Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 02:12:36 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage 
Dec 15 02:12:36    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 02:12:36                                                                     ^ 
Dec 15 02:12:36 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 02:12:36 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 02:12:36 make[2]: Leaving directory '/var/lib/jenkins/cpp-build/caffe2/build' 
Dec 15 02:12:36 CMakeFiles/Makefile2:16196: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 02:12:36 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 02:12:36 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 02:12:36 [ 98%] Building CXX object test_tensorexpr/CMakeFiles/test_tensorexpr.dir/test_llvm.cpp.o 
 -fdiagnostics-color=always -faligned-new -Werror -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow -DHAVE_AVX_CPU_DEFINITION -DHAVE_AVX2_CPU_DEFINITION -g -fno-omit-frame-pointer -O0 -fPIE   -DCAFFE2_USE_GLOO -DCUDA_HAS_FP16=1 -DHAVE_GCC_GET_CPUID -DUSE_AVX -DUSE_AVX2 -DTH_HAVE_THREAD -pthread -std=gnu++14 -o CMakeFiles/test_tensorexpr.dir/test_llvm.cpp.o -c /var/lib/jenkins/workspace/test/cpp/tensorexpr/test_llvm.cpp 

See CircleCI build binary_linux_libtorch_3_7m_cpu_devtoolset7_shared-with-deps_build (12/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

/pytorch/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage
/pytorch/test/cpp/jit/test_misc.cpp:775:74: error: ‘& ts_fun_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘ts_fun_cnt’ has no linkage 
   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
                                                                          ^ 
/pytorch/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to ‘pushScopedCallback<USER_SCOPE, (& user_scope_cnt)>()’ 
   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
                                                                    ^ 
/pytorch/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
 void pushScopedCallback() { 
      ^~~~~~~~~~~~~~~~~~ 
/pytorch/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
/pytorch/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage 
   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
                                                                    ^ 
[ 97%] Building CXX object caffe2/torch/CMakeFiles/torch_python.dir/csrc/autograd/generated/python_nn_functions.cpp.o 
[ 97%] Building CXX object test_jit/CMakeFiles/test_jit.dir/test_utils.cpp.o 
[ 97%] Building CXX object caffe2/torch/CMakeFiles/torch_python.dir/csrc/autograd/generated/python_fft_functions.cpp.o 
[ 97%] Linking CXX shared library ../lib/libtensorpipe_agent.so 
[ 97%] Built target tensorpipe_agent 
[ 97%] Building CXX object caffe2/torch/CMakeFiles/torch_python.dir/csrc/autograd/generated/python_linalg_functions.cpp.o 
[ 97%] Building CXX object caffe2/torch/CMakeFiles/torch_python.dir/csrc/CudaIPCTypes.cpp.o 
[ 97%] Building CXX object caffe2/torch/CMakeFiles/torch_python.dir/csrc/DataLoader.cpp.o 

See CircleCI build pytorch_linux_xenial_py3_6_gcc5_4_build (13/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage
Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: '& ts_fun_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'ts_fun_cnt' has no linkage 
Dec 15 00:41:24    pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:41:24                                                                           ^ 
Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to 'pushScopedCallback()' 
Dec 15 00:41:24    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:41:24                                                                     ^ 
Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
Dec 15 00:41:24  void pushScopedCallback() { 
Dec 15 00:41:24       ^ 
Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 00:41:24 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: '& user_scope_cnt' is not a valid template argument of type 'size_t* {aka long unsigned int*}' because 'user_scope_cnt' has no linkage 
Dec 15 00:41:24    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:41:24                                                                     ^ 
Dec 15 00:41:24 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:41:24 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:41:24 CMakeFiles/Makefile2:13672: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 00:41:24 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 
Dec 15 00:41:24 make[1]: *** Waiting for unfinished jobs.... 
Dec 15 00:41:24 [ 94%] Building CXX object test_api/CMakeFiles/test_api.dir/dataloader.cpp.o 
Dec 15 00:41:31 [ 94%] Linking CXX executable ../bin/test_tensorexpr 
Dec 15 00:41:32 [ 94%] Built target test_tensorexpr 

See CircleCI build pytorch_linux_xenial_py3_clang5_asan_build (14/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback'
Dec 15 00:57:22   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:57:22 void pushScopedCallback() { 
Dec 15 00:57:22      ^ 
Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:57:22   pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:57:22   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:57:22 void pushScopedCallback() { 
Dec 15 00:57:22      ^ 
Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: error: no matching function for call to 'pushScopedCallback' 
Dec 15 00:57:22   pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:57:22   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Dec 15 00:57:22 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'cnt' 
Dec 15 00:57:22 void pushScopedCallback() { 
Dec 15 00:57:22      ^ 
Dec 15 00:57:22 3 errors generated. 
Dec 15 00:57:22 test_jit/CMakeFiles/test_jit.dir/build.make:686: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:57:22 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 
Dec 15 00:57:22 CMakeFiles/Makefile2:13450: recipe for target 'test_jit/CMakeFiles/test_jit.dir/all' failed 
Dec 15 00:57:22 make[1]: *** [test_jit/CMakeFiles/test_jit.dir/all] Error 2 

See CircleCI build pytorch_linux_bionic_rocm3_9_py3_6_build (15/15)

Step: "Build" (full log | diagnosis details | 🔁 rerun)

Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage
Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:74: error: ‘& ts_fun_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘ts_fun_cnt’ has no linkage 
Dec 15 00:59:10    pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>(); 
Dec 15 00:59:10                                                                           ^ 
Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: no matching function for call to ‘pushScopedCallback<USER_SCOPE, (& user_scope_cnt)>()’ 
Dec 15 00:59:10    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:59:10                                                                     ^ 
Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note: candidate: template<at::RecordScope scope, size_t* cnt> void torch::jit::pushScopedCallback() 
Dec 15 00:59:10  void pushScopedCallback() { 
Dec 15 00:59:10       ^~~~~~~~~~~~~~~~~~ 
Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: note:   template argument deduction/substitution failed: 
Dec 15 00:59:10 /var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:68: error: ‘& user_scope_cnt’ is not a valid template argument of type ‘size_t* {aka long unsigned int*}’ because ‘user_scope_cnt’ has no linkage 
Dec 15 00:59:10    pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>(); 
Dec 15 00:59:10                                                                     ^ 
Dec 15 00:59:10 At global scope: 
Dec 15 00:59:10 cc1plus: warning: unrecognized command line option ‘-Wno-implicit-int-float-conversion’ 
Dec 15 00:59:10 cc1plus: warning: unrecognized command line option ‘-Wno-unused-command-line-argument’ 
Dec 15 00:59:10 cc1plus: warning: unrecognized command line option ‘-Wno-exceptions’ 
Dec 15 00:59:10 cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’ 
Dec 15 00:59:10 cc1plus: warning: unrecognized command line option ‘-Wno-macro-redefined’ 
Dec 15 00:59:10 test_jit/CMakeFiles/test_jit.dir/build.make:419: recipe for target 'test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o' failed 
Dec 15 00:59:10 make[2]: *** [test_jit/CMakeFiles/test_jit.dir/test_misc.cpp.o] Error 1 

Extra GitHub checks: 1 failed


ci.pytorch.org: 2 failed


This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.

Please report bugs/suggestions on the GitHub issue tracker or post in the (internal) Dr. CI Users group.

See how this bot performed.

This comment has been revised 34 times.

…nCallback"

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

[ghstack-poisoned]
swolchok added a commit that referenced this pull request Dec 4, 2020
Pull Request resolved: #48629

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 117893077

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

**NOTE FOR REVIEWERS**: This PR has internal Facebook specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D25135415/)!
Comment on lines +258 to +260
if (rfcb.end()) {
rfcb.end()(rf, ctx.get());
}
Copy link
Contributor

@dhruvbird dhruvbird Dec 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a need to cache the return value from rfcb.end() to prevent a race condition where the value may change in between or will that not happen by construction?

@kimishpatel
Copy link
Contributor

It would be good to know benchmarking results of before and after.

@dhruvbird
Copy link
Contributor

Overall looks good to me. I assume that the loss of convenience (when testing) and the reliance on global/statics is something that is acceptable to everyone for the reduction in object size. I've left some comments on https://www.internalfb.com/diff/D25135415 for one of the fb-specific tests.

Is there a benchmark result for pre/post this change?

@dhruvbird dhruvbird self-requested a review December 8, 2020 17:53
…nCallback"

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

[ghstack-poisoned]
swolchok added a commit that referenced this pull request Dec 9, 2020
Pull Request resolved: #48629

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 118145423

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

**NOTE FOR REVIEWERS**: This PR has internal Facebook specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D25135415/)!
@dhruvbird
Copy link
Contributor

@kimishpatel The benchmark results are in the test plan in the FB specific diff.

…nCallback"

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

[ghstack-poisoned]
swolchok added a commit that referenced this pull request Dec 9, 2020
Pull Request resolved: #48629

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 118226115

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

**NOTE FOR REVIEWERS**: This PR has internal Facebook specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D25135415/)!
…nCallback"

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

[ghstack-poisoned]
swolchok added a commit that referenced this pull request Dec 14, 2020
Pull Request resolved: #48629

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 118568240

Differential Revision: [D25135415](https://our.internmc.facebook.com/intern/diff/D25135415/)

**NOTE FOR REVIEWERS**: This PR has internal Facebook specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D25135415/)!
@mruberry
Copy link
Collaborator

Unlanding. This appears to have broken numerous builds. Note that the Github CI also shows numerous failures. Example snippet:

Dec 15 04:34:01 ERROR 2020-12-15T04:27:50Z: sccache::server: Compilation failed: Output { status: ExitStatus(ExitStatus(256)), stdout: "", stderr: "\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:773:3: \u{1b}[0m\u{1b}[0;1;31merror: \u{1b}[0m\u{1b}[1mno matching function for call to \'pushScopedCallback\'\u{1b}[0m\n  pushScopedCallback<at::RecordScope::FUNCTION, &fun_cnt>();\n\u{1b}[0;1;32m  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\u{1b}[0m\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: \u{1b}[0m\u{1b}[0;1;30mnote: \u{1b}[0mcandidate template ignored: invalid explicitly-specified argument for template parameter \'cnt\'\u{1b}[0m\nvoid pushScopedCallback() {\n\u{1b}[0;1;32m     ^\n\u{1b}[0m\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:775:3: \u{1b}[0m\u{1b}[0;1;31merror: \u{1b}[0m\u{1b}[1mno matching function for call to \'pushScopedCallback\'\u{1b}[0m\n  pushScopedCallback<at::RecordScope::TORCHSCRIPT_FUNCTION, &ts_fun_cnt>();\n\u{1b}[0;1;32m  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\u{1b}[0m\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: \u{1b}[0m\u{1b}[0;1;30mnote: \u{1b}[0mcandidate template ignored: invalid explicitly-specified argument for template parameter \'cnt\'\u{1b}[0m\nvoid pushScopedCallback() {\n\u{1b}[0;1;32m     ^\n\u{1b}[0m\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:777:3: \u{1b}[0m\u{1b}[0;1;31merror: \u{1b}[0m\u{1b}[1mno matching function for call to \'pushScopedCallback\'\u{1b}[0m\n  pushScopedCallback<at::RecordScope::USER_SCOPE, &user_scope_cnt>();\n\u{1b}[0;1;32m  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\u{1b}[0m\u{1b}[1m/var/lib/jenkins/workspace/test/cpp/jit/test_misc.cpp:736:6: \u{1b}[0m\u{1b}[0;1;30mnote: \u{1b}[0mcandidate template ignored: invalid explicitly-specified argument for template parameter \'cnt\'\u{1b}[0m\nvoid pushScopedCallback() {\n\u{1b}[0;1;32m     ^\n\u{1b}[0m3 errors generated.\n" }

@facebook-github-bot
Copy link
Contributor

This pull request has been reverted by 25bc906.

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 7e23ee1.

@malfet
Copy link
Contributor

malfet commented Dec 15, 2020

@swolchok why this change was landed when it clearly introduced 15 new build failures?

@swolchok
Copy link
Contributor Author

@swolchok why this change was landed when it clearly introduced 15 new build failures?

I've been trying to land it for a while, and I'm fairly sure I saw a clean CI run previously. Must have come in during rebasing. In particular, I would expect internal tests to have caught test_misc.cpp breaks and I'm confused that they didn't.

@swolchok
Copy link
Contributor Author

Looks like the test_misc changes in particular may have failed because of a difference between C++14 and C++17.

facebook-github-bot pushed a commit that referenced this pull request Dec 16, 2020
…reapply) (#49408)

Summary:
Pull Request resolved: #49408

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 118665808

Test Plan:
Wait for GitHub CI since we had C++14-specific issues with
this one in previous PR #48629

Reviewed By: malfet

Differential Revision: D25563207

fbshipit-source-id: 6a2831205917d465f8248ca37429ba2428d5626d
@facebook-github-bot facebook-github-bot deleted the gh/swolchok/25/head branch December 18, 2020 15:21
hwangdeyu pushed a commit to hwangdeyu/pytorch that referenced this pull request Jan 6, 2021
…reapply) (pytorch#49408)

Summary:
Pull Request resolved: pytorch#49408

Nearly every non-test callsite doesn't need to capture any variables anyway, and this saves 48 bytes per callback.
ghstack-source-id: 118665808

Test Plan:
Wait for GitHub CI since we had C++14-specific issues with
this one in previous PR pytorch#48629

Reviewed By: malfet

Differential Revision: D25563207

fbshipit-source-id: 6a2831205917d465f8248ca37429ba2428d5626d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla signed Merged oncall: jit Add this issue/PR to JIT oncall triage queue Reverted
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants