summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-09 00:19:56 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 10:31:28 -0500
commit92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0 (patch)
tree834f022b8b1da89e3fd3ffad7e7bacb7f84cd7ff /gnu
parenta91eaf1bdc0664a0514e0c5db0038e990da18bab (diff)
downloadguix-92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0.tar.gz
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/machine-learning.scm14
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))