fixing some rebuild issues (#14969)
authorZachary DeVito <zdevito@fb.com>
Mon, 10 Dec 2018 00:29:38 +0000 (16:29 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Mon, 10 Dec 2018 00:32:19 +0000 (16:32 -0800)
Summary:
This fixes rebuild issues with the ninja part of the build. With this patch all ninja files will now report `nothing to do` if nothing has changed assuming `BUILD_CAFFE2_OPS=0`.

1. This only does the python file processing for caffe2 when BUILD_CAFFE2_OPS=1, this part of the build file is written in such a way that it is always required to rerun and can take substantial time to move files around in the no-op build. In the future this part should be rewritten to use a faster method of copying the files or should treat copying the files as part of the build rules and only run when the files are out of date.

2. This points `sleef` to a patched version that fixes a dead build output that is causing everything to relink all the time. See https://github.com/shibatch/sleef/pull/231#partial-pull-merging for the upstream change.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/14969

Reviewed By: soumith

Differential Revision: D13395998

Pulled By: zdevito

fbshipit-source-id: ca85b7be9e99c5c578103c144ef0f2c3b927e724

.gitmodules
caffe2/CMakeLists.txt
third_party/sleef

index d32edbf..762f384 100644 (file)
@@ -63,7 +63,7 @@
        url = https://github.com/bddppq/onnx-tensorrt
 [submodule "third_party/sleef"]
        path = third_party/sleef
-       url = https://github.com/shibatch/sleef
+       url = https://github.com/zdevito/sleef
 [submodule "third_party/ideep"]
        path = third_party/ideep
        url = https://github.com/intel/ideep
index 09c3e5c..d2006f1 100644 (file)
@@ -239,8 +239,8 @@ target_include_directories(caffe2 SYSTEM PRIVATE "${Caffe2_DEPENDENCY_INCLUDE}")
 # Set standard properties on the target
 torch_set_target_props(caffe2)
 
-if (NOT MSVC) 
-  target_compile_options(caffe2 INTERFACE "$<$<COMPILE_LANGUAGE:CXX>:-std=c++11>") 
+if (NOT MSVC)
+  target_compile_options(caffe2 INTERFACE "$<$<COMPILE_LANGUAGE:CXX>:-std=c++11>")
 endif()
 
 target_compile_options(caffe2 PRIVATE "-DCAFFE2_BUILD_MAIN_LIB")
@@ -465,7 +465,13 @@ if (BUILD_TEST)
   endif()
 endif()
 
-if (BUILD_PYTHON)
+# Note: we only install the caffe2 python files if BUILD_CAFFE2_OPS is ON
+# This is because the build rules here written in such a way that they always
+# appear to need to be re-run generating >600 pieces of work during the pytorch
+# rebuild step. The long-term fix should be to clean up these rules so they
+# only rerun when needed.
+
+if (BUILD_PYTHON AND BUILD_CAFFE2_OPS)
   # Python site-packages
   # Get canonical directory for python site packages (relative to install
   # location).  It varies from system to system.
index 6ff7a13..191f655 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6ff7a135a1e31979d1e1844a2e7171dfbd34f54f
+Subproject commit 191f655caa25526ae226cf88dd2529265176014a