3

I compiled a software (GROMACS 2016.3) using cmake (3.5.1) with the following flags:

cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_MPI=on -DGMX_GPU=on -DGMX_OPENMP=on -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 -DGPU_DEPLOYMENT_KIT_ROOT_DIR=/usr/local/cuda-8.0

CUDA libraries 8.0 were installed from deb with the default paths.

When the software runs it throws a warning as GROMACS was configured without NVML support ... Recompile with the NVML library.

How can I make it see such library? Am I giving the wrong paths to cmake? (No warnings or errors arise when compiling gromacs).

Many thanks

talonmies
  • 70,661
  • 34
  • 192
  • 269
  • 3
    Install NVML. It is part of the GPU deployment kit (separate from CUDA). You can read about it [here](https://developer.nvidia.com/nvidia-management-library-nvml) and find instructions about how to download and install. After that, the GROMACS build process may automatically just find it, or you may need to configure GROMACS where to look for it. You're likely to get much better help with a question like this on [the GROMACS mailing list](http://www.gromacs.org/Support/Mailing_Lists). – Robert Crovella Sep 20 '17 at 14:40

1 Answers1

4

I am currently compiling GROMACS to support NVML as well, and here is how I got it to work: add this to your cmake, substitute your paths as needed.

-DNVML_INCLUDE_DIR=/usr/cuda_toolkit/8.0.61/include -DNVML_LIBRARY=/usr/cuda_toolkit/8.0.61/lib64/stubs/libnvidia-ml.so

NVML is included as of CUDA 8+, no longer a separate install.

CDspace
  • 2,639
  • 18
  • 30
  • 36
Ted
  • 41
  • 2