[gmx-users] NVML library in CUDA 9 & Gromacs 2018
Jernej Zidar
jernej.zidar at gmail.com
Fri Jan 12 09:19:31 CET 2018
Hi,
I have an interesting problem with the NVML library from CUDA 9 (and 9.1)
and Gromacs 2018. Namely, the NVML is reported as detected during cmake but
Gromacs 2018 is linked without it.
This is the cmake command I would issue:
m -rf * && CMAKE_PREFIX_PATH=/home/zidar/utils/fftw-3.3.6-gcc/ \
cmake ../gromacs-2018-rc1 -DGMX_GPU=on -DGMX_MPI=off
-DGMX_FFT_LIBRARY=fftw3 \
-DCMAKE_INSTALL_PREFIX=/home/zidar/utils/gromacs-2018-rc1-gcc
-DGMX_SIMD=AVX2_256
make install
Relevant part from cmake:
-- Looking for NVIDIA GPUs present in the system
-- Number of NVIDIA GPUs detected: 3
-- Found CUDA: /usr/local/cuda (found suitable version "9.1", minimum
required is "6.5")
-- Found NVML: /usr/lib/x86_64-linux-gnu/libnvidia-ml.so
But when I run mdrun:
NOTE: GROMACS was configured without NVML support hence it can not exploit
application clocks of the detected Tesla K40c GPU to improve
performance.
Recompile with the NVML library (compatible with the driver used) or
set application clocks manually.
CUDA is installed in /usr/local/cuda-9.1 with a symlink to /usr/local/cuda.
The library file is physically present in /usr/lib/x86_64-linux-gnu/
Gromacs 2016.4 can be compiled without issues. The NVML library is detected
and properly linked:
ldd /home/zidar/utils/gromacs-2016.4-gcc/bin/gmx
linux-vdso.so.1 (0x00007ffc333ad000)
libgromacs.so.2 => /home/zidar/utils/gromacs-2016.4-gcc/lib/libgromacs.so.2
(0x00002ac6ada45000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00002ac6b06c2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002ac6b08df000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00002ac6b0ae3000)
libnvidia-ml.so.1 => /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
(0x00002ac6b0ceb000)
libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5
(0x00002ac6b12c5000)
libfftw3f.so.3 => /home/zidar/utils/fftw-3.3.6-gcc/lib/libfftw3f.so.3
(0x00002ac6b1501000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00002ac6b1a2f000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00002ac6b1d33000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00002ac6b20b5000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00002ac6b22e2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002ac6b24f9000)
/lib64/ld-linux-x86-64.so.2 (0x00002ac6ad5df000)
libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00002ac6b2898000)
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00002ac6b2aa3000)
But not with neither Gromacs 2018 nor Gromacs 2018 rc1:
ldd /home/zidar/utils/gromacs-2018-rc1-gcc/bin/gmx
linux-vdso.so.1 (0x00007ffd2d5fd000)
libgromacs.so.3 =>
/home/zidar/utils/gromacs-2018-rc1-gcc/lib/libgromacs.so.3
(0x00002aad09c56000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00002aad0ca83000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00002aad0ce05000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00002aad0d109000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00002aad0d336000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00002aad0d54d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002aad0d76a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00002aad0db09000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002aad0dd11000)
libcufft.so.9.1 => /usr/local/cuda/lib64/libcufft.so.9.1
(0x00002aad0df15000)
libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5
(0x00002aad15402000)
libfftw3f.so.3 => /home/zidar/utils/fftw-3.3.6-gcc/lib/libfftw3f.so.3
(0x00002aad1563e000)
/lib64/ld-linux-x86-64.so.2 (0x00002aad097ed000)
libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00002aad15b6c000)
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00002aad15d77000)
Any idea where to start looking ?
Thanks,
Jernej
More information about the gromacs.org_gmx-users
mailing list