Dramatically different results on GPU and CPU

GROMACS version: 2018.2 , 2021.5
GROMACS modification: No
Here post your question
I simulated the water in a porous materials. I ran same system with same input on CPU with Gromacs 2018.2 and on GPU (CUDA) with Gromacs 2021.5. The results of RDF of water are dramatically different (See the attached RDF). Could any one tell me why the results are so different on GPU and CPU.

Hi,
In general, the best way to compare simulation runs is to look at small change. That makes easy to understand the source of the difference (if any).
For example if you can run the same input files (including parameters files) using the same software version on different architecture or different GROMACS versions on the same architecture.
You can also have a look if any bugs are reported for 2018.2 that can justify any difference between versions. One do not expect difference in the rdf values from simulation run on different architecture.

I hope it helps to understand where the problem is.

\Alessandra

Presuming it’s not some very atypical system where two runs could plausibly get stuck in such different metastable states, my best guess is that you didn’t get the same force field parameters for the two runs (especially perhaps a different LJ sigma value somehow). I would focus on the change in the point where the RDF becomes non-zero, which differs by almost 0.1 nm. Can you take a single configuration from the cpu run and do a single-point energy evaluation on it in your gpu setup? If that’s hard to deconvolute, perhaps take a cpu frame and run an EM or short MD on the gpu setup and save the frames every step and visualize it to see what gets kicked really hard on the swap.