diff --git a/glicid/packages/algebra.scm b/glicid/packages/algebra.scm index cf2301d..ba760bc 100644 --- a/glicid/packages/algebra.scm +++ b/glicid/packages/algebra.scm @@ -7,27 +7,19 @@ #:use-module (guix download) ) -;;;;;;;; - (define-public fftw-openmpi-with-fortran - (package (inherit fftw-openmpi) (name "fftw-openmpi-with-fortran") (version "3.3.10") (source (origin - (method url-fetch) - (uri (string-append "https://www.fftw.org/fftw-" - version".tar.gz")) - (sha256 - (base32 - "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan")))) - - (inputs `(("gfortran-toolchain", gfortran-toolchain ) - ,@(package-inputs fftw-openmpi))) - + (method url-fetch) + (uri (string-append "https://www.fftw.org/fftw-" version ".tar.gz")) + (sha256 (base32 "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan")) + )) + (inputs `( + ("gfortran-toolchain", gfortran-toolchain) + ,@(package-inputs fftw-openmpi) + )) ) ) - - -;;; glicid/algebra.scm ends here diff --git a/glicid/packages/benchmark.scm b/glicid/packages/benchmark.scm index 21473d4..d71ebc4 100644 --- a/glicid/packages/benchmark.scm +++ b/glicid/packages/benchmark.scm @@ -1,139 +1,136 @@ (define-module (glicid packages benchmark) - #:use-module (guix packages) + #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages mpi) + #:use-module (guix packages) #:use-module ((gnu packages benchmark) #:prefix gnu:) - #:use-module (glicid packages mpi) - #:use-module (glicid utils) - #:use-module (guix build-system gnu) #:use-module (gnu packages commencement) - + #:use-module (gnu packages compression) + #:use-module (gnu packages mpi) + #:use-module (glicid packages mpi) + #:use-module (glicid packages gcc) + #:use-module (glicid utils) ) -;;;;;;;; - - (define-public intel-mpi-benchmarks/openmpi-2021.3 - (package - (inherit gnu:intel-mpi-benchmarks/openmpi) - (name "intel-mpi-benchmarks-newer") - (version "2021.3") - (source - (origin - (inherit (package-source gnu:intel-mpi-benchmarks/openmpi)) - (method git-fetch) - (uri (git-reference - (url "https://github.com/intel/mpi-benchmarks") - (commit (string-append "IMB-v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04kczch2hlfzbgk929vcxx480kc6raba8rbz246j7d26k1z1zh8h")) - ) + (package + (inherit gnu:intel-mpi-benchmarks/openmpi) + (name "intel-mpi-benchmarks-newer") + (version "2021.3") + (source + (origin + (inherit (package-source gnu:intel-mpi-benchmarks/openmpi)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/mpi-benchmarks") + (commit (string-append "IMB-v" version)) + )) + (file-name (git-file-name name version)) + (sha256 (base32 "04kczch2hlfzbgk929vcxx480kc6raba8rbz246j7d26k1z1zh8h")) + ) ) ) - - ) +) (define-public intel-mpi-benchmarks/openmpi-2021.3-libfabric-rdma - (transform-package - ((instead-of "openmpi" openmpi-glicid-libfabric-rdma ) intel-mpi-benchmarks/openmpi-2021.3 ) "fab+rdma")) + (transform-package ( + (instead-of "openmpi" openmpi-glicid-libfabric-rdma) + intel-mpi-benchmarks/openmpi-2021.3 + ) "fab+rdma") +) (define intel-mpi-benchmark-transform-gcc-11 - (gcc11-instead-of-gcc intel-mpi-benchmarks/openmpi-2021.3-libfabric-rdma)) - -(define-public intel-mpi-benchmarks/openmpi-2021.3-gcc-11 - (package - (inherit intel-mpi-benchmark-transform-gcc-11) - (version (string-append (package-version intel-mpi-benchmark-transform-gcc-11) "-gcc-11" )) - ) + (gcc11-instead-of-gcc intel-mpi-benchmarks/openmpi-2021.3-libfabric-rdma) +) + +(define-public intel-mpi-benchmarks/openmpi-2021.3-gcc-11 + (package + (inherit intel-mpi-benchmark-transform-gcc-11) + (version (string-append (package-version intel-mpi-benchmark-transform-gcc-11) "-gcc-11" )) + ) ) -(use-modules (guix packages)) -(use-modules (guix download)) -(use-modules (guix build-system gnu)) -(use-modules (gnu packages compression)) -(use-modules (guix git-download)) -(use-modules (gnu packages commencement)) -(use-modules (glicid packages gcc)) (define-public stream-benchmarks - (package - (name "stream-benchmarks") - (version "5.10-jh") - (source (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/jeffhammond/STREAM.git") - (commit "HEAD") - ) - ) - - (sha256 (base32 "1b5ka2h6rhp2103app6p0vq29y7qixcli9w874hb33y05ggjin8m")) - (file-name (string-append name "-" version "-checkout")) - ) - ) - + (package + (name "stream-benchmarks") + (version "5.10-jh") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jeffhammond/STREAM.git") + (commit "HEAD") + ) + ) + (sha256 (base32 "1b5ka2h6rhp2103app6p0vq29y7qixcli9w874hb33y05ggjin8m")) + (file-name (string-append name "-" version "-checkout")) + )) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure - (delete 'check) ; no check - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - ;; Le Makefile du paquet ne fournit pas de règle « install » - ;; alors on le fait nous-mêmes. - (let ((bin (string-append (assoc-ref outputs "out") - "/bin"))) - (install-file "stream_c.exe" bin) - (install-file "stream_f.exe" bin) - - #t))) + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure + (delete 'check) ; no check + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Le Makefile du paquet ne fournit pas de règle « install » + ;; alors on le fait nous-mêmes. + (let + ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "stream_c.exe" bin) + (install-file "stream_f.exe" bin) + #t + ) + ) + ) + ) ) - ) - ) - (inputs `(("gfortran-toolchain" ,gfortran-toolchain))) - - (synopsis "STREAM benchmark") - (description "STREAM benchmark") - (home-page "https://") - (license "")) + ) + (inputs `( + ("gfortran-toolchain" ,gfortran-toolchain) + )) + (synopsis "STREAM benchmark") + (description "STREAM benchmark") + (home-page "https://") + (license "") + ) ) ;;defined by gricad / PA Boutier (define-public osu-benchmarks - (package + (package (name "osu-benchmarks") (version "5.8") (source (origin - (method url-fetch) - (uri (string-append "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-" version ".tgz")) - (sha256 - (base32 - "19a4wg0msipibkxsi8i0c34d07512yfaj2k37dxg5541ysdw690f")))) + (method url-fetch) + (uri (string-append "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-" version ".tgz")) + (sha256 (base32 "19a4wg0msipibkxsi8i0c34d07512yfaj2k37dxg5541ysdw690f")) + )) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'setenv - (lambda _ - (setenv "CC" (which "mpicc")) - (setenv "CXX" (which "mpic++")) - #t))))) - (propagated-inputs - `(("openmpi" ,openmpi))) - (synopsis "OSU micro benchmarks") - (description "OSU micro benchmark for mpi") - (home-page "https://mvapich.cse.ohio-state.edu/benchmarks/") - (license license:gpl2+))) - - -;;; glicid/benchmark.scm ends here - + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'setenv + (lambda _ + (setenv "CC" (which "mpicc")) + (setenv "CXX" (which "mpic++")) + #t + ) + ) + ) + ) + ) + (propagated-inputs `( + ("openmpi" ,openmpi) + )) + (synopsis "OSU micro benchmarks") + (description "OSU micro benchmark for mpi") + (home-page "https://mvapich.cse.ohio-state.edu/benchmarks/") + (license license:gpl2+) + ) +) diff --git a/glicid/utils.scm b/glicid/utils.scm index be4598e..ae1b244 100644 --- a/glicid/utils.scm +++ b/glicid/utils.scm @@ -1,46 +1,33 @@ (define-module (glicid utils) - #:use-module (guix packages) - #:use-module (guix transformations) - #:use-module (gnu packages gcc) - #:use-module (glicid packages gcc) - #:use-module (gnu packages commencement) - #:use-module (gnu packages) - #:export (latest-version) - #:export (gcc11-instead-of-gcc) -; #:export (gcc10-instead-of-gcc) - #:export (transform-package) - #:export (instead-of) - - ) -;; helper function -;; return latest version of 2 packages - + #:use-module (guix packages) + #:use-module (guix transformations) + #:use-module (gnu packages gcc) + #:use-module (glicid packages gcc) + #:use-module (gnu packages commencement) + #:use-module (gnu packages) + #:export (latest-version) + #:export (gcc11-instead-of-gcc) + #:export (transform-package) + #:export (instead-of) +) (define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2)) (define gcc11-instead-of-gcc - ;; This is a procedure to replace GCC by GCC11, - ;; recursively. -; (package-input-rewriting/spec `((,gcc-toolchain . ,(const gcc-toolchain-11))))) (package-input-rewriting `( - (,gcc-toolchain . ,gcc-toolchain-11) - (,gfortran-toolchain . ,gfortran-toolchain-11) - ) - ) + (,gcc-toolchain . ,gcc-toolchain-11) + (,gfortran-toolchain . ,gfortran-toolchain-11) + )) ) (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 - ) + (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)) + )) +)