diff options
Diffstat (limited to 'gnu/packages/mpi.scm')
-rw-r--r-- | gnu/packages/mpi.scm | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index ebf9238906..70b14c30b3 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <[email protected]> -;;; Copyright © 2014-2022 Ludovic Courtès <[email protected]> +;;; Copyright © 2014-2023 Ludovic Courtès <[email protected]> ;;; Copyright © 2014 Ian Denhardt <[email protected]> ;;; Copyright © 2016 Andreas Enge <[email protected]> ;;; Copyright © 2017 Dave Love <[email protected]> @@ -143,7 +143,7 @@ bind processes, and much more.") ;; Note: 2.x isn't the default yet, see above. (package (inherit hwloc-1) - (version "2.8.0") + (version "2.9.0") (source (origin (method url-fetch) (uri (string-append "https://download.open-mpi.org/release/hwloc/v" @@ -151,7 +151,7 @@ bind processes, and much more.") "/hwloc-" version ".tar.bz2")) (sha256 (base32 - "1ha23yqfx9kfxm5fcj9m0fnyf0r2k6p4k88xxqishclcsky752il")))) + "11v8hnl6fdsdbm3wnz5gg88f2ghixjyl7jlfmywj293ab5iyjw10")))) ;; libnuma is no longer needed. (inputs (modify-inputs (package-inputs hwloc-1) @@ -167,6 +167,10 @@ bind processes, and much more.") (substitute* "tests/hwloc/linux-libnuma.c" (("numa_available\\(\\)") "-1")))) + (add-before 'check 'skip-test-that-requires-/sys + (lambda _ + ;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it. + (setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0"))) (add-before 'check 'skip-test-that-fails-on-qemu (lambda _ ;; Skip test that fails on emulated hardware due to QEMU bug: @@ -325,7 +329,6 @@ software vendors, application developers and computer science researchers.") ((guix build ant-build-system) #:prefix ant:) (guix build utils)) #:imported-modules ((guix build ant-build-system) - (guix build syscalls) ,@%gnu-build-system-modules) ,@(substitute-keyword-arguments (package-arguments openmpi) ((#:configure-flags flags) @@ -359,7 +362,7 @@ software vendors, application developers and computer science researchers.") (substitute-keyword-arguments (package-arguments openmpi) ((#:configure-flags flags) `(cons "--enable-mpi-thread-multiple" ,flags)))) - (description " This version of Open@tie{}MPI has an implementation of + (description "This version of Open@tie{}MPI has an implementation of @code{MPI_Init_thread} that provides @code{MPI_THREAD_MULTIPLE}. This won't work correctly with all transports (such as @code{openib}), and the performance is generally worse than the vanilla @code{openmpi} package, which @@ -384,6 +387,15 @@ only provides @code{MPI_THREAD_FUNNELED}."))) ;; compare stdout, such as that of 'hdf5-parallel-openmpi'. Thus, tell ;; UCX to not emit those warnings. (setenv "UCX_LOG_LEVEL" "error") + + ;; Starting from 2.9.0, hwloc fails when /sys is unavailable: + ;; + ;; [hwloc/linux] failed to find sysfs cpu topology directory, aborting linux discovery. + ;; + ;; This in turn breaks Open MPI users. To work around it, define a fake + ;; topology with 4 cores. That silently disables CPU binding, though + ;; 'get_cpubind' will report there's no binding. + (setenv "HWLOC_SYNTHETIC" "4") #t)) (define-public python-mpi4py |