From 92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 9 Oct 2021 00:19:56 -0400 Subject: gnu: tensorflow: Enable parallel build (at least partially). There are still many parts of the build that happen sequentially, but at least this hastens the long build somewhat. * gnu/packages/machine-learning.scm (tensorflow)[phases]: Remove trailing #t. {build-pip-package}: Honor the PARALLEL-BUILD? argument. --- gnu/packages/machine-learning.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index d71428034d..11c9b0207e 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1730,7 +1730,7 @@ Python.") ((guix build python-build-system) #:select (python-version))) #:imported-modules (,@%cmake-build-system-modules - (guix build python-build-system)) + (guix build python-build-system)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-source-file-times-to-1980 @@ -1853,8 +1853,7 @@ set(eigen_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/external/eigen_archive " (("tf_core_cpu grpc") "tf_core_cpu")) ;; This directory is a dependency of many targets. - (mkdir-p "protobuf") - #t)) + (mkdir-p "protobuf"))) (add-after 'configure 'unpack-third-party-sources (lambda* (#:key inputs #:allow-other-keys) ;; This is needed to configure bundled packages properly. @@ -1932,17 +1931,20 @@ COMPILE_FLAGS ${target_compile_flags} \ INSTALL_RPATH_USE_LINK_PATH TRUE \ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))))) (add-after 'build 'build-pip-package - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key outputs parallel-build? #:allow-other-keys) (setenv "LDFLAGS" (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")) - (invoke "make" "tf_python_build_pip_package"))) + (invoke "make" "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1") + "tf_python_build_pip_package"))) (add-after 'build-pip-package 'install-python (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (wheel (car (find-files "../build/tf_python/dist/" "\\.whl$"))) (python-version (python-version - (assoc-ref inputs "python")))) + (assoc-ref inputs "python")))) (invoke "python" "-m" "pip" "install" wheel (string-append "--prefix=" out)) -- cgit v1.2.3