diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-10-09 00:19:56 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-11-11 10:31:28 -0500 |
commit | 92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0 (patch) | |
tree | 834f022b8b1da89e3fd3ffad7e7bacb7f84cd7ff | |
parent | a91eaf1bdc0664a0514e0c5db0038e990da18bab (diff) | |
download | guix-92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0.tar.gz guix-92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0.zip |
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.
-rw-r--r-- | gnu/packages/machine-learning.scm | 14 |
1 files changed, 8 insertions, 6 deletions
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)) |