diff --git a/glicid-tainted/packages/chemistry.scm b/glicid-tainted/packages/chemistry.scm index 6cf0b8a..3c888ca 100644 --- a/glicid-tainted/packages/chemistry.scm +++ b/glicid-tainted/packages/chemistry.scm @@ -265,6 +265,71 @@ hwloc openmpi-glicid-waves openssh-sans-x ;; ssh is because openmpi use rsh and ) ) +(define-public gromacs-upstream+cuda-v3-2300 + (package + (inherit gromacs-upstream+cuda-v2-2300) + (name "gromacs-upstream+cuda-v3") + (arguments + (list #:configure-flags + #~(list "-DGMX_DEVELOPER_BUILD=on" ; Needed to run tests + ;; Unbundling + "-DGMX_USE_LMFIT=EXTERNAL" + "-DGMX_BUILD_OWN_FFTW=off" + "-DGMX_EXTERNAL_BLAS=on" + "-DGMX_EXTERNAL_LAPACK=on" + "-DGMX_EXTERNAL_TNG=on" + "-DGMX_EXTERNAL_ZLIB=on" + "-DGMX_HWLOC=ON" + "-DGMX_MPI=ON" + "-DGMX_GPU=CUDA" + (string-append "-DCUDA_TOOLKIT_ROOT_DIR=" #$(this-package-input "cuda-toolkit")) + "-DGMX_EXTERNAL_TINYXML2=on" + (string-append "-DTinyXML2_DIR=" + #$(this-package-input "tinyxml2")) + "-DGMX_USE_CUFFTMP=on" + (string-append "-DcuFFTMp_ROOT=" #$(this-package-input "cuda-toolkit")) + ;; Workaround for cmake/FindSphinx.cmake version parsing that does + ;; not understand the guix-wrapped `sphinx-build --version' answer + (string-append "-DSPHINX_EXECUTABLE_VERSION=" + #$(package-version python-sphinx))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fixes + (lambda* (#:key inputs #:allow-other-keys) + ;; Still bundled: part of gromacs, source behind registration + ;; but free software anyways + ;;(delete-file-recursively "src/external/vmd_molfile") + ;; Still bundled: threads-based OpenMPI-compatible fallback + ;; designed to be bundled like that + ;;(delete-file-recursively "src/external/thread_mpi") + ;; Unbundling + (delete-file-recursively "src/external/lmfit") + (delete-file-recursively "src/external/clFFT") + (delete-file-recursively "src/external/fftpack") + (delete-file-recursively "src/external/build-fftw") + (delete-file-recursively "src/external/tng_io") + (delete-file-recursively "src/external/tinyxml2") + (delete-file-recursively "src/external/googletest") + (copy-recursively #$(package-source googletest) + "src/external/googletest") + ;; This test warns about the build host hardware, disable + (substitute* "src/gromacs/hardware/tests/hardwaretopology.cpp" + (("TEST\\(HardwareTopologyTest, HwlocExecute\\)") + "void __guix_disabled()")) + (substitute* "src/gromacs/hardware/tests/hardwaretopology.cpp" + (("TEST\\(HardwareTopologyTest, NumaCacheSelfconsistency\\)") + "void __guix_disabledv2()")) ;; really not sure it's the best way… + + + + + ))))) + + (inputs + (modify-inputs (package-inputs gromacs) + (append cuda +hwloc openmpi-glicid-waves openssh-sans-x ;; ssh is because openmpi use rsh and tests use it ! +))))) (define-public gromacs-upstream gromacs-upstream-2300) (define-public gromacs-upstream+cuda gromacs-upstream+cuda-2300) @@ -272,4 +337,4 @@ hwloc openmpi-glicid-waves openssh-sans-x ;; ssh is because openmpi use rsh and -;gromacs-upstream+cuda-v2 +gromacs-upstream+cuda-v3-2300 diff --git a/glicid-tainted/packages/staging.scm b/glicid-tainted/packages/staging.scm index 3134872..389be45 100644 --- a/glicid-tainted/packages/staging.scm +++ b/glicid-tainted/packages/staging.scm @@ -17,6 +17,11 @@ #:use-module (gnu packages geo) #:use-module (gnu packages python-check) #:use-module (guix-science-nonfree packages machine-learning) + #:use-module (glicid packages mpi) + #:use-module (guix-science-nonfree packages linux) + #:use-module (guix-science-nonfree packages cuda) + #:use-module (guix utils) + ) @@ -205,3 +210,24 @@ !# +(define-public openmpi-glicid+cuda + (package + (inherit openmpi-glicid) + (name "openmpi-glicid+cuda") + (arguments + + (substitute-keyword-arguments (package-arguments openmpi-glicid) + ((#:configure-flags flags #~'()) + #~(append (list (string-append "--with-cuda=" + #$(this-package-input "cuda-toolkit")) + "--enable-mpi-ext=cuda") + #$flags)))) + (inputs (modify-inputs (package-inputs openmpi-glicid) + (append cuda) + (replace "psm2-upstream" psm2-cuda))) ; todo : psm2-upstream + (synopsis "MPI-3 implementation, with CUDA support")) + + +) + +;openmpi-glicid+cuda