diff options
| -rw-r--r-- | gnu/packages/fabric-management.scm | 22 | ||||
| -rw-r--r-- | gnu/packages/linux.scm | 12 | ||||
| -rw-r--r-- | gnu/packages/mpi.scm | 8 |
3 files changed, 33 insertions, 9 deletions
diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index 15fd751f045..d979d87f302 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | ;;; Copyright © 2017 Dave Love <fx@gnu.org> | 2 | ;;; Copyright © 2017 Dave Love <fx@gnu.org> |
| 3 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | 3 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
| 4 | ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> | 4 | ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> |
| 5 | ;;; Copyright © 2019, 2023 Ludovic Courtès <ludo@gnu.org> | 5 | ;;; Copyright © 2019, 2023, 2026 Ludovic Courtès <ludo@gnu.org> |
| 6 | ;;; | 6 | ;;; |
| 7 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 8 | ;;; | 8 | ;;; |
| @@ -226,15 +226,19 @@ testing InfiniBand networks.") | |||
| 226 | 226 | ||
| 227 | (string-append "--with-rdmacm=" | 227 | (string-append "--with-rdmacm=" |
| 228 | #$(this-package-input "rdma-core")) | 228 | #$(this-package-input "rdma-core")) |
| 229 | (string-append "--with-rocm=" | 229 | |
| 230 | #$(this-package-input "rocr-runtime"))) | 230 | #$@(if (this-package-input "rocr-runtime") |
| 231 | #~((string-append "--with-rocm=" | ||
| 232 | #$(this-package-input | ||
| 233 | "rocr-runtime"))) | ||
| 234 | #~())) | ||
| 231 | 235 | ||
| 232 | ;; Be verbose so that compiler flags are displayed. | 236 | ;; Be verbose so that compiler flags are displayed. |
| 233 | #:make-flags #~'("V=1"))) | 237 | #:make-flags #~'("V=1"))) |
| 234 | (native-inputs | 238 | (native-inputs |
| 235 | (list autoconf automake libtool pkg-config)) | 239 | (list autoconf automake libtool pkg-config)) |
| 236 | (inputs | 240 | (inputs |
| 237 | (list numactl rdma-core rocr-runtime)) | 241 | (list numactl rdma-core)) |
| 238 | (synopsis "Optimized communication layer for message passing in HPC") | 242 | (synopsis "Optimized communication layer for message passing in HPC") |
| 239 | (description | 243 | (description |
| 240 | "Unified Communication X (UCX) provides an optimized communication layer | 244 | "Unified Communication X (UCX) provides an optimized communication layer |
| @@ -250,3 +254,13 @@ memory mechanisms for efficient intra-node communication.") | |||
| 250 | ;; and x86_64 as supported. | 254 | ;; and x86_64 as supported. |
| 251 | (supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux" | 255 | (supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux" |
| 252 | "riscv64-linux")))) | 256 | "riscv64-linux")))) |
| 257 | |||
| 258 | ;; Note: ROCm support is kept separate to avoid a significant increase in | ||
| 259 | ;; closure size: <https://codeberg.org/guix/guix/issues/7225>. | ||
| 260 | (define-public ucx-rocm | ||
| 261 | (package/inherit ucx | ||
| 262 | (name "ucx-rocm") | ||
| 263 | (inputs (modify-inputs inputs | ||
| 264 | (append rocr-runtime))) | ||
| 265 | (synopsis "Optimized communication layer for message passing in HPC (with | ||
| 266 | ROCm support)"))) | ||
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 469a6f0c2a0..9ee8f2362b8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2012-2021, 2021-2025 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012-2021, 2021-2026 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> | 3 | ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> |
| 4 | ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> | 4 | ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> |
| 5 | ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> | 5 | ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> |
| @@ -10460,7 +10460,6 @@ known as Slingshot.") | |||
| 10460 | (cons package extra) | 10460 | (cons package extra) |
| 10461 | '())))) | 10461 | '())))) |
| 10462 | (append (list rdma-core libnl) | 10462 | (append (list rdma-core libnl) |
| 10463 | (if-supported rocr-runtime) | ||
| 10464 | (if-supported psm) | 10463 | (if-supported psm) |
| 10465 | (if-supported psm2) | 10464 | (if-supported psm2) |
| 10466 | (if-supported libcxi curl json-c)))) | 10465 | (if-supported libcxi curl json-c)))) |
| @@ -10504,6 +10503,15 @@ applications deal with directly. It works in conjunction with provider | |||
| 10504 | libraries, which are often integrated directly into libfabric.") | 10503 | libraries, which are often integrated directly into libfabric.") |
| 10505 | (license (list license:bsd-2 license:gpl2)))) ;dual | 10504 | (license (list license:bsd-2 license:gpl2)))) ;dual |
| 10506 | 10505 | ||
| 10506 | ;; Note: ROCm support is kept separate to avoid a significant increase in | ||
| 10507 | ;; closure size: <https://codeberg.org/guix/guix/issues/7225>. | ||
| 10508 | (define-public libfabric-rocm | ||
| 10509 | (package/inherit libfabric | ||
| 10510 | (name "libfabric-rocm") | ||
| 10511 | (inputs (modify-inputs inputs | ||
| 10512 | (append rocr-runtime))) | ||
| 10513 | (synopsis "Open Fabric Interfaces (with ROCm support)"))) | ||
| 10514 | |||
| 10507 | (define-public libfabric-1 ;needed by Open MPI 4.x | 10515 | (define-public libfabric-1 ;needed by Open MPI 4.x |
| 10508 | (package | 10516 | (package |
| 10509 | (inherit libfabric) | 10517 | (inherit libfabric) |
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index bd891940e1d..5d975bc7532 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org> | 2 | ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org> |
| 3 | ;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org> | 3 | ;;; Copyright © 2014-2026 Ludovic Courtès <ludo@gnu.org> |
| 4 | ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> | 4 | ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> |
| 5 | ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> | 5 | ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> |
| 6 | ;;; Copyright © 2017 Dave Love <fx@gnu.org> | 6 | ;;; Copyright © 2017 Dave Love <fx@gnu.org> |
| @@ -432,7 +432,7 @@ software vendors, application developers and computer science researchers.") | |||
| 432 | (package/inherit openmpi-5 | 432 | (package/inherit openmpi-5 |
| 433 | (name "openmpi-rocm") | 433 | (name "openmpi-rocm") |
| 434 | (arguments | 434 | (arguments |
| 435 | (substitute-keyword-arguments (package-arguments openmpi-5) | 435 | (substitute-keyword-arguments arguments |
| 436 | ((#:configure-flags flags '()) | 436 | ((#:configure-flags flags '()) |
| 437 | #~(cons* (string-append "--with-rocm=" | 437 | #~(cons* (string-append "--with-rocm=" |
| 438 | #$(this-package-input "rocm-hip-runtime")) | 438 | #$(this-package-input "rocm-hip-runtime")) |
| @@ -440,7 +440,9 @@ software vendors, application developers and computer science researchers.") | |||
| 440 | (inputs (modify-inputs (package-inputs openmpi-5) | 440 | (inputs (modify-inputs (package-inputs openmpi-5) |
| 441 | ;; XXX: This might break openmpi-5 for architectures where ROCm | 441 | ;; XXX: This might break openmpi-5 for architectures where ROCm |
| 442 | ;; is not supported. | 442 | ;; is not supported. |
| 443 | (append rocm-hip-runtime))) | 443 | (append rocm-hip-runtime) |
| 444 | (replace "ucx" ucx-rocm) | ||
| 445 | (replace "libfabric" libfabric-rocm))) | ||
| 444 | (synopsis "MPI-3 implementation (with ROCm support)"))) | 446 | (synopsis "MPI-3 implementation (with ROCm support)"))) |
| 445 | 447 | ||
| 446 | (define-public openmpi-c++ | 448 | (define-public openmpi-c++ |
