GPU vs CPU - Difference in potential energy - LJ fluid

I have noticed differences in the potential energy between the CPU and GPU (USER-CUDA) versions of LAMMPS.

I am running simulations of a LJ fluid (~256k particles). The data files for each runs are the same and the input files are also the same (apart from the accelerator cuda line in the GPU input file).
I am using a pairwise shifted LJ/cut with a 2.5 sigma cutoff.

I have conducted 4 runs - 1 on the CPU, and 3 on the GPU (DP, DP-rv, SP). The kinetic energies for all simulations are the same, but the potential energies for the CPU and GPU versions are different - see attached plot.

I have compared the resulting energies with Monte-Carlo simulations, and the MC potential energy agrees with the CPU results, not the GPU results.

I am wondering if there could be errors in the potential energy in the GPU version of LAMMPS, and if anyone else has noticed any issues.

GPU svn Revision: 627
CPU svn Revision: 4502

Regards,
Michael Doig.

pe.png

Someone familiar with USER-CUDA may want to answer this.
But this package has not yet been released in LAMMPS. Some
source files are there, but there are no hooks to install it,
and no documentation.

So I don't know how you have managed to install it, or how you
are certain that you are using it correctly. There is also no "accelerator"
command in the current version.

These lines at the top of doc/Section_accelerate.html are relevant:

NOTE: These doc pages are still incomplete as of 1Jun11.
NOTE: The USER-CUDA package discussed below has not yet been
officially released in LAMMPS.

Steve

Someone familiar with USER-CUDA may want to answer this.
But this package has not yet been released in LAMMPS. Some
source files are there, but there are no hooks to install it,
and no documentation.

So I don't know how you have managed to install it, or how you
are certain that you are using it correctly. There is also no "accelerator"
command in the current version.

christian should be able to help with this. however, it looks like
you are using the code from gpulammps repository which is lagging
behind (and the project will be closed, too) the code in the lammps
repository (which is not yet fully documented and released).

i thus recommend to wait for a little bit until the code in the official
lammps repo _is_ released and _then_ test it. these things are
tricky to get right under all circumstances, so there is no gain from
rushing them (or rushing to test them).

cheers,
    axel.

Hi

this seems to be a bug in the CUDA code with shifting the pair potential.
For some reason (yet to be determined) it is ignoring the "pair_modify shift yes" option.

I'll try to fix that as soon as possible (so that it will be fixed then the package is officially released).

Thanks for spotting the problem.
Christian

-------- Original-Nachricht --------