Major difference between thread-MPI and OpenMPI versions of GROMACS-2020-RAMD
We investigate a protein-drug complex trying to determine the average time for its dissociation. For this, we used GROMACS-2020.3-RAMD modification of GROMACS-2020.3 code that applies a random force to the ligand in a receptor-ligand complex. It aborts the run when the ligand detaches from the receptor. We have done several runs with the same magnitude of the force (ramd-force = 400) to collect good statistics. Each run was started from identical initial configuration with identical parameters except "ld-seed" and "ramd-seed" which had individual values. The quantity of interest was the run duration (that is the time needed for the complex dissociation).
We found that builds with thread-MPI and OpenMPI produce strikingly different results even if runned on the same computer. They are presented on the graph below. Each point is the run number (X) and its duration (Y). An Excel spreadsheet with the values, run input files, log and edr files are available here: https://drive.google.com/file/d/1KjDtJ_RBvtOnluGWnJ1TUKXuN077pDvf/view?usp=sharing The same situation is observed with force 250 and on other computers running GROMACS-2020.1-RAMD. We can provide more simulation files upon request. Albeit we used the modified GROMACS version, the modifications in it are rather limited. Hence we suspect the problem may lie in the corresponding vanilla version.
The build options were:
Thread MPI build:
cmake .. -DCMAKE_INSTALL_PREFIX=SOFT/gromacs-2020-ramd -DGMX_THREAD_MPI=ON -DFFTWF_INCLUDE_DIR=
SOFT/include -DFFTWF_LIBRARY=$SOFT/lib/libfftw3f.so -DGMX_OPENMP=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
OpenMPI (version 3.1.6) build:
cmake .. -DCMAKE_INSTALL_PREFIX=SOFT/gromacs-2020-ramd-openmpi -DGMX_MPI=ON -DFFTWF_INCLUDE_DIR=
SOFT/include -DFFTWF_LIBRARY=$SOFT/lib/libfftw3f.so -DGMX_OPENMP=OFF -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_SIMD=AVX_256
The version of GCC is 5.4.0, the version of FFTW is 3.3.3-sse2.