From 782e9975dc11e614fe38f9899806b968f9cd7d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 15 Nov 2021 17:25:33 +0100 Subject: [PATCH] gnu: python-pytorch: Update to 1.10.0. * gnu/packages/machine-learning.scm (python-pytorch): Update to 1.10.0. * gnu/packages/patches/python-pytorch-system-libraries.patch: Adjust. --- gnu/packages/machine-learning.scm | 4 +- .../python-pytorch-system-libraries.patch | 204 ++++++++++-------- 2 files changed, 113 insertions(+), 95 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 029422677a..701a121627 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2770,7 +2770,7 @@ TensorFlow.js, PyTorch, and MediaPipe.") (define-public python-pytorch (package (name "python-pytorch") - (version "1.9.0") + (version "1.10.0") (source (origin (method git-fetch) (uri (git-reference @@ -2780,7 +2780,7 @@ TensorFlow.js, PyTorch, and MediaPipe.") (file-name (git-file-name name version)) (sha256 (base32 - "0cznsh68hwk5761gv7iijb4g6jgjpvs3bbixwpzzmkbkbn2q96c1")) + "1ihsjw48qqbikmhxxn17bcdvk2zsjabvkq61q6pvj7dzvrdpkb60")) (patches (search-patches "python-pytorch-system-libraries.patch" "python-pytorch-runpath.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/patches/python-pytorch-system-libraries.patch b/gnu/packages/patches/python-pytorch-system-libraries.patch index 76c06520f0..ae872cfd84 100644 --- a/gnu/packages/patches/python-pytorch-system-libraries.patch +++ b/gnu/packages/patches/python-pytorch-system-libraries.patch @@ -1,11 +1,60 @@ Use our own googletest rather than the bundled one. Get NNPACK to use our own PeachPy rather than the bundled one. +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 26210cb5..18b6df27 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -1723,7 +1723,7 @@ if(BUILD_TEST) + if(NOT MSVC) + add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}" ../aten/src/ATen/native/quantized/affine_quantizer_base.cpp) + # TODO: Get rid of c10 dependency (which is only needed for the implementation of AT_ERROR) +- target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main) ++ target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main gtest) + if(USE_FBGEMM) + target_link_libraries(${test_name}_${CPU_CAPABILITY} fbgemm) + endif() +@@ -1746,7 +1746,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_CPU_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + if(USE_OPENMP) + # -fopenmp is a compile time flag and as result not guaranteed + # to link executable against OpenMP runtime library +@@ -1769,7 +1769,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_GPU_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + cuda_add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) + add_test(NAME ${test_name} COMMAND $) +@@ -1787,7 +1787,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_VULKAN_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) + add_test(NAME ${test_name} COMMAND $) +@@ -1805,7 +1805,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_HIP_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE}) + target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS}) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index 5d57b9ca78..620cca4e60 100644 +index ca560288..c0696e53 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake -@@ -644,11 +644,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST) +@@ -684,11 +684,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST) # this shouldn't be necessary anymore. get_property(INC_DIR_temp DIRECTORY PROPERTY INCLUDE_DIRECTORIES) set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "") @@ -17,7 +66,7 @@ index 5d57b9ca78..620cca4e60 100644 # We will not need to test benchmark lib itself. set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark testing as we don't need it.") -@@ -1485,7 +1480,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX) +@@ -1537,7 +1532,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX) endif() set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY}) message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}") @@ -26,97 +75,8 @@ index 5d57b9ca78..620cca4e60 100644 endif() include_directories(${FOXI_INCLUDE_DIRS}) list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader) - -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 50ebb224ce..5953d9ddf7 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -1632,7 +1632,7 @@ if(BUILD_TEST) - if(NOT MSVC) - add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}" ../aten/src/ATen/native/quantized/affine_quantizer_base.cpp) - # TODO: Get rid of c10 dependency (which is only needed for the implementation of AT_ERROR) -- target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main) -+ target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main gtest) - if(USE_FBGEMM) - target_link_libraries(${test_name}_${CPU_CAPABILITY} fbgemm) - endif() -@@ -1655,7 +1655,7 @@ if(BUILD_TEST) - foreach(test_src ${Caffe2_CPU_TEST_SRCS}) - get_filename_component(test_name ${test_src} NAME_WE) - add_executable(${test_name} "${test_src}") -- target_link_libraries(${test_name} torch_library gtest_main) -+ target_link_libraries(${test_name} torch_library gtest_main gtest) - target_include_directories(${test_name} PRIVATE $) - target_include_directories(${test_name} PRIVATE $) - target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) -@@ -1673,7 +1673,7 @@ if(BUILD_TEST) - foreach(test_src ${Caffe2_GPU_TEST_SRCS}) - get_filename_component(test_name ${test_src} NAME_WE) - cuda_add_executable(${test_name} "${test_src}") -- target_link_libraries(${test_name} torch_library gtest_main) -+ target_link_libraries(${test_name} torch_library gtest_main gtest) - target_include_directories(${test_name} PRIVATE $) - target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) - add_test(NAME ${test_name} COMMAND $) -@@ -1691,7 +1691,7 @@ if(BUILD_TEST) - foreach(test_src ${Caffe2_VULKAN_TEST_SRCS}) - get_filename_component(test_name ${test_src} NAME_WE) - add_executable(${test_name} "${test_src}") -- target_link_libraries(${test_name} torch_library gtest_main) -+ target_link_libraries(${test_name} torch_library gtest_main gtest) - target_include_directories(${test_name} PRIVATE $) - target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) - add_test(NAME ${test_name} COMMAND $) -@@ -1709,7 +1709,7 @@ if(BUILD_TEST) - foreach(test_src ${Caffe2_HIP_TEST_SRCS}) - get_filename_component(test_name ${test_src} NAME_WE) - add_executable(${test_name} "${test_src}") -- target_link_libraries(${test_name} torch_library gtest_main) -+ target_link_libraries(${test_name} torch_library gtest_main gtest) - target_include_directories(${test_name} PRIVATE $) - target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE}) - target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS}) - -diff --git a/torch/lib/c10d/test/CMakeLists.txt b/torch/lib/c10d/test/CMakeLists.txt -index b74d4b65f7..fc7c207505 100644 ---- a/torch/lib/c10d/test/CMakeLists.txt -+++ b/torch/lib/c10d/test/CMakeLists.txt -@@ -16,24 +16,24 @@ function(c10d_add_test test_src) - add_test(NAME ${test_name} COMMAND $) - endfunction() - --c10d_add_test(FileStoreTest.cpp c10d gtest_main) --c10d_add_test(TCPStoreTest.cpp c10d gtest_main) -+c10d_add_test(FileStoreTest.cpp c10d gtest_main gtest) -+c10d_add_test(TCPStoreTest.cpp c10d gtest_main gtest) - if(NOT WIN32) -- c10d_add_test(HashStoreTest.cpp c10d gtest_main) -+ c10d_add_test(HashStoreTest.cpp c10d gtest_main gtest) - endif() - - if(USE_CUDA) - if(USE_C10D_GLOO) -- c10d_add_test(ProcessGroupGlooTest.cpp c10d c10d_cuda_test gtest_main) -- c10d_add_test(ProcessGroupGlooAsyncTest.cpp c10d c10d_cuda_test gtest_main) -+ c10d_add_test(ProcessGroupGlooTest.cpp c10d c10d_cuda_test gtest_main gtest) -+ c10d_add_test(ProcessGroupGlooAsyncTest.cpp c10d c10d_cuda_test gtest_main gtest) - endif() - if(USE_C10D_NCCL) -- c10d_add_test(ProcessGroupNCCLTest.cpp c10d c10d_cuda_test gtest_main) -+ c10d_add_test(ProcessGroupNCCLTest.cpp c10d c10d_cuda_test gtest_main gtest) - c10d_add_test(ProcessGroupNCCLErrorsTest.cpp c10d c10d_cuda_test -- gtest_main) -+ gtest_main gtest) - endif() - else() - if(USE_C10D_GLOO) -- c10d_add_test(ProcessGroupGlooTest.cpp c10d gtest_main) -+ c10d_add_test(ProcessGroupGlooTest.cpp c10d gtest_main gtest) - endif() - endif() - diff --git a/cmake/External/nnpack.cmake b/cmake/External/nnpack.cmake -index a41343cbb5..6075bdd0a4 100644 +index a41343cb..6075bdd0 100644 --- a/cmake/External/nnpack.cmake +++ b/cmake/External/nnpack.cmake @@ -40,7 +40,7 @@ endif() @@ -137,3 +97,61 @@ index a41343cbb5..6075bdd0a4 100644 -set(USE_NNPACK OFF) +set(NNPACK_FOUND TRUE) +set(USE_NNPACK ON) +diff --git a/test/cpp/c10d/CMakeLists.txt b/test/cpp/c10d/CMakeLists.txt +index 2e48773a..a70506ce 100644 +--- a/test/cpp/c10d/CMakeLists.txt ++++ b/test/cpp/c10d/CMakeLists.txt +@@ -17,14 +17,14 @@ function(c10d_add_test test_src) + add_test(NAME ${test_name} COMMAND $) + endfunction() + +-c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main) +-c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main) ++c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main gtest) ++c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main gtest) + if(INSTALL_TEST) + install(TARGETS FileStoreTest DESTINATION bin) + install(TARGETS TCPStoreTest DESTINATION bin) + endif() + if(NOT WIN32) +- c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main) ++ c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main gtest) + if(INSTALL_TEST) + install(TARGETS HashStoreTest DESTINATION bin) + endif() +@@ -32,11 +32,11 @@ endif() + + if(USE_CUDA) + if(USE_GLOO AND USE_C10D_GLOO) +- c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main) ++ c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main gtest) + if(INSTALL_TEST) + install(TARGETS ProcessGroupGlooTest DESTINATION bin) + endif() +- c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main) ++ c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main gtest) + endif() + if(USE_NCCL AND USE_C10D_NCCL) + # NCCL is a private dependency of libtorch, but the tests include some +@@ -57,7 +57,7 @@ if(USE_CUDA) + endif() + else() + if(USE_GLOO AND USE_C10D_GLOO) +- c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main) ++ c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main gtest) + endif() + endif() + +diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt +index 213e99bd..ecaae840 100644 +--- a/test/cpp/tensorexpr/CMakeLists.txt ++++ b/test/cpp/tensorexpr/CMakeLists.txt +@@ -46,7 +46,7 @@ target_include_directories(tutorial_tensorexpr PRIVATE ${ATen_CPU_INCLUDE}) + # pthreadpool header. For some build environment we need add the dependency + # explicitly. + if(USE_PTHREADPOOL) +- target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface) ++ target_link_libraries(test_tensorexpr PRIVATE pthreadpool) + endif() + if(USE_CUDA) + target_link_libraries(test_tensorexpr PRIVATE