guix-glicid/glicid/packages/mpi.scm
2022-06-17 19:00:51 +02:00

106 lines
3.1 KiB
Scheme

(define-module (glicid packages mpi)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((gnu packages mpi) #:prefix gnu:)
#:use-module (glicid packages linux)
#:use-module (glicid packages fabric-management)
#:use-module (glicid utils)
#:use-module (guix utils)
#:use-module (glicid packages parallel)
#:use-module (gnu packages)
)
(define-public openmpi-upstream-4.1.2
(package
(inherit gnu:openmpi)
(name "openmpi-upstream")
(version "4.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/ompi/v"
(version-major+minor version)
"/downloads/openmpi-" version ".tar.bz2"))
(sha256 (base32 "09xmlr4mfs02kwcf5cmdgkcdjj81fjwjmpa3rz2k28f3gz7wfy4v"))
(patches (search-patches "openmpi-mtl-priorities.patch"))
)
)
)
)
(define-public openmpi-upstream-4.1.4
(package
(inherit gnu:openmpi)
(name "openmpi-upstream")
(version "4.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/ompi/v"
(version-major+minor version)
"/downloads/openmpi-" version ".tar.bz2"))
(sha256 (base32 "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj"))
(patches (search-patches "openmpi-mtl-priorities.patch"))
)
)
)
)
(define local-openmpi openmpi-upstream-4.1.4)
(define-public openmpi-latest (latest-version local-openmpi gnu:openmpi))
(define-public openmpi-glicid
(package
(inherit
(transform-package ((instead-of "slurm" slurm-glicid) openmpi-latest) "glicid")
)
)
)
(define openmpi-glicid-libfabric
(transform-package ((instead-of "libfabric" libfabric-latest) openmpi-glicid) "libfabric")
)
;(define-public openmpi-glicid-rdma
; (transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid) "rdma-core")
;)
;(define-public openmpi-glicid-ucx
; (transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid) "ucx" )
;)
(define openmpi-glicid-libfabric-rdma
(transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid-libfabric) "rdma")
)
;(define-public openmpi-glicid-libfabric-ucx
; (transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid-libfabric) "ucx")
;)
(define openmpi-glicid-libfabric-rdma-ucx
(transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid-libfabric-rdma) "ucx")
)
(define openmpi-glicid-libfabric-rdma-ucx-psm2
(transform-package ((instead-of "psm2" ucx-latest-glicid) openmpi-glicid-libfabric-rdma-ucx) "psm2")
)
(define-public openmpi-glicid-waves
(transform-package ((instead-of "slurm-glicid" slurm-ccipl) openmpi-glicid-libfabric-rdma-ucx-psm2) "waves")
)
(define openmpi-glicid-transform-gcc-11 (gcc11-instead-of-gcc openmpi-glicid))
(define-public openmpi-glicid-gcc-11
(package
(inherit openmpi-glicid-transform-gcc-11)
(name (string-append (package-name openmpi-glicid-transform-gcc-11) "-gcc-11" ))
)
)