problem using CG/CMM with GPU acceleration module, E_vdwl goes to zero

Hello LAMMPS Users Mailing List,

I have been trying to accelerate coarse-grained MD simulations using the GPU module. We are using the SDK (Shinoda, Devane, Klein) CG model to do these simulations, which is part of the CG/CMM user package. My simulations work properly when run without using the GPU acceleration. However, when I run with the GPU, I find that after just a single time step, the E_vdwl energy drops to zero and the system is unstable, and often I get CUDA errors (my machines all have NVIDIA GPUs). Here, I decreased “thermo” output to 1, and this is output for the first two steps (all the subsequent steps also show E_vdwl = 0.0), where the starting state is from a prior run using energy minimization:

---------------- Step 0 ----- CPU = 0.0000 (sec) ----------------
TotEng = -305096.5698 KinEng = 36126.5146 Temp = 303.0000
PotEng = -341223.0844 E_bond = 57.3538 E_angle = 501.6453
E_dihed = 0.0000 E_impro = 0.0000 E_vdwl = -341782.0835
E_coul = 0.0000 E_long = 0.0000 Press = -2400.6705
Volume = 4018921.0727
---------------- Step 1 ----- CPU = 0.0077 (sec) ----------------
TotEng = 36706.3820 KinEng = 36106.6905 Temp = 302.8337
PotEng = 599.6915 E_bond = 96.9535 E_angle = 502.7381
E_dihed = 0.0000 E_impro = 0.0000 E_vdwl = 0.0000
E_coul = 0.0000 E_long = 0.0000 Press = 434.3639
Volume = 4015399.2973

All the subsequent time steps also have E_vdwl = 0.0, and many times after several steps I also get an error like this: “Cuda driver error 700 in call at file ‘geryon/nvd_timer.h’ in line 98.”

The header of my PARM.FILE is as follows:

Hello LAMMPS Users Mailing List,

I have been trying to accelerate coarse-grained MD simulations using the GPU
module. We are using the SDK (Shinoda, Devane, Klein) CG model to do these

[...]

timestep 10.0
run_style respa 2 2 bond 1 angle 1 pair 2

you problem is here. the GPU package does not support r-RESPA.
so the computation that is done on the GPU is not transferred back
except during the "setup phase" which is the same for run_style verlet
and run_style respa.

axel.

p.s.: i think it should be possible to allow the use for respa for
/gpu styles with some limitations that would be compatible with your
input. please give me a little time to check it out.

thanks,
    axel.

Dear Axel,

Thanks for your help. I was able to fix my problem by replacing RESPA with Verlet. It would be great to be able to use a limited RESPA but it is fine with the Verlet. I appreciate your work in developing these CG/CMM and GPU modules for LAMMPS.

Best regards,
Luke