~ruther/guix-local

92c3d1c3d059d662f2e5dc1ecdce99f3eb13bfd0 — Maxim Cournoyer 5 years ago a91eaf1
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.
1 files changed, 8 insertions(+), 6 deletions(-)

M gnu/packages/machine-learning.scm
M gnu/packages/machine-learning.scm => gnu/packages/machine-learning.scm +8 -6
@@ 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))