diff --git a/glicid-tainted/packages/chemistry.scm b/glicid-tainted/packages/chemistry.scm index 09e4ae2..c32f089 100644 --- a/glicid-tainted/packages/chemistry.scm +++ b/glicid-tainted/packages/chemistry.scm @@ -139,6 +139,71 @@ + ))))) + + (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+cuda-v1-zen3 + (package + (inherit gromacs) + (name "gromacs+cuda-v1") + (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_GPU=CUDA" + "-DGMX_SIMD=AVX2_256" + (string-append "-DCUDA_TOOLKIT_ROOT_DIR=" #$(this-package-input "cuda-toolkit")) + "-DGMX_EXTERNAL_TINYXML2=on" + (string-append "-DTinyXML2_DIR=" + #$(this-package-input "tinyxml2")) + ;; 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