diff --git a/glicid-tainted/packages/chemistry.scm b/glicid-tainted/packages/chemistry.scm index ee99a7a..452c5fd 100644 --- a/glicid-tainted/packages/chemistry.scm +++ b/glicid-tainted/packages/chemistry.scm @@ -21,6 +21,8 @@ #:use-module (gnu packages check) #:use-module (gnu packages gcc) #:use-module (guix-science-nonfree packages cuda) +#:use-module (glicid packages mpi) + ) (define-public gromacs+cuda @@ -71,12 +73,6 @@ (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_disabled()")) - - - ))))) @@ -86,3 +82,69 @@ ;hwloc )))) ) + +(define-public gromacs+cuda-v2 + (package + (inherit gromacs) + (name "gromacs+cuda-v2") + (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" + (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()")) + + + + + ))))) + + (inputs + (modify-inputs (package-inputs gromacs) + (append cuda +hwloc openmpi-glicid-waves +)))) +) + +gromacs+cuda-v2 \ No newline at end of file