GROMACS version: 2021.7
GROMACS modification: No
Here post your question
Good Morning Community,
Apologies up front for the long explanation… but I think details matter.
I am brand new to using GROMACS. I have set up two machines, both desktop pc’s running linux mint. I did a new computer build based on a Nvidia RTX 4070 Ti Super, running LM2023.4 and GROMACS 2023.4. So far so good, no issues, pretty speedy and all is well. Great experience with my first simple sims.
Second computer: in 2015 I purchased a 5810 Precision tower with 2-Quadro K4200 GPUs to run simulations but never really found the time to set everything up… until now. In researching the setup, these GPUs require not newer than CUDA toolkit 10.2, and compute 3.0, which then limits gcc/g++ to not newer than version 8. I chose to install LM 19.3 since this distro seemed to best match the hardware and CUDA requirements. Installation (finally) was successful, CUDA confirmed, nvcc --version 10.2 confirmed, CUDA directory added to $PATH via .bashrc, etc.
Now – GROMACS. The best match (I thought) is 2021.7 for said reasons above. Everything installed fine by following the specific GROMACS installation instructions. I am testing using a methanol box of 1000 molecules. I have successfully run 4 equilibrations with an energy minimization at 325K followed sequentially by an NVT and (3) NPT equilibration runs. But, I noticed the simulations took 20 minutes compared to ~30 seconds with the new machine. I didn’t think it would be THAT slow. And, yep, it’s partly new hardware (it’s AWESOME!) but I wondered if the GPU(s) were even working on the older computer. I assumed the GPUs would be automatically recognized and used by GROMACS, since I did nothing special on the new machine to enable GPU usage. I checked gmx mdrun output and gmx --version output and it seems the GPUs are not being accessed for the sims.
gmx mdrun output:
GROMACS: gmx mdrun, version 2021.7
Executable: /usr/local/gromacs/bin/gmx
Data prefix: /usr/local/gromacs
Working dir: /home/mph/mdsims/meoh/neat_meoh_298K/eq5_npt_273K
Command line:
gmx mdrun -v -deffnm eq5_npt_273K
Reading file eq5_npt_273K.tpr, VERSION 2021.7 (single precision)
Changing nstlist from 10 to 100, rlist from 1.2 to 1.201
Using 1 MPI thread
Using 4 OpenMP threads
starting mdrun ‘simbox’
500000 steps, 1000.0 ps.
step 499900, remaining wall clock time: 0 s
Writing final coordinates.
step 500000, remaining wall clock time: 0 s
Core t (s) Wall t (s) (%)
Time: 5202.345 1300.586 400.0
(ns/day) (hour/ns)
Performance: 66.432 0.361
gmx --version output:
GROMACS: gmx, version 2021.7
Executable: /usr/local/gromacs/bin/gmx
Data prefix: /usr/local/gromacs
Working dir: /home/mph
Command line:
gmx --version
GROMACS version: 2021.7
Precision: mixed
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support: CUDA
SIMD instructions: AVX2_256
FFT library: fftw-3.3.8-sse2-avx-avx2-avx2_128
RDTSCP usage: enabled
TNG support: enabled
Hwloc support: disabled
Tracing support: disabled
C compiler: /usr/bin/gcc-7 GNU 7.5.0
C compiler flags: -mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -pthread -O3 -DNDEBUG
C++ compiler: /usr/bin/g+±7 GNU 7.5.0
C++ compiler flags: -mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -pthread SHELL:-fopenmp -O3 -DNDEBUG
CUDA compiler: /usr/local/cuda-10.2/bin/nvcc nvcc: NVIDIA (R) Cuda compiler driver;Copyright (c) 2005-2019 NVIDIA Corporation;Built on Wed_Oct_23_19:24:38_PDT_2019;Cuda compilation tools, release 10.2, V10.2.89
CUDA compiler flags:-std=c++14;-gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_35,code=compute_35;-gencode;arch=compute_32,code=compute_32;-use_fast_math;-D_FORCE_INLINES;-mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -pthread SHELL:-fopenmp -O3 -DNDEBUG
CUDA driver: 11.40
CUDA runtime: N/A
As best as I can tell, from mdrun (compared to the new computer) there should be a line by MPI Thread and OpenMP that says something about GPU used. I see nothing.
Similarly, with gmx --version, the CUDA runtime is N/A.
So while the GPUs are recognized by Mint, the sims are not taking advantage. Is this a GROMACS version difference? Must I explicitly invoke GPU usage in 2021.7? Have I missed a “simple” hardware setup? Not sure what else is helpful in diagnosing the issue.
Many thanks in advance for any advice/assistance.