guix-glicid/glicid/packages/mpi.scm
2021-11-30 22:12:36 +01:00

75 lines
1.9 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 (glicid packages parallel)
)
(define openmpi-latest gnu:openmpi)
(define (transform-package original-package suffix)
(package
(inherit original-package)
(name (string-append (package-name original-package) "-" suffix ))
)
)
(define (instead-of package-a-spec package-b)
(package-input-rewriting/spec `(
(,package-a-spec . ,(const package-b)
)
; #:deep? #t
)
)
)
(define-public openmpi-glicid
(transform-package
((instead-of "slurm" slurm-glicid) openmpi-latest) "glicid"))
(define-public 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) openmpi-glicid) "ucx"))
(define-public 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) openmpi-glicid-libfabric) "ucx"))
(define-public openmpi-glicid-libfabric-rdma-ucx
(transform-package
((instead-of "ucx" ucx-latest) openmpi-glicid-libfabric-rdma) "ucx"))
(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" ))
)
)
;;; end