I also got this same error 700 when trying to use 'pair
buck/coul/long/gpu' and 'package gpu force/neigh 0 0 -1.0'. When I
replace the option -1.0 by 1.0, everything runs fine. My system has only
3 atom types.
I also got this same error 700 when trying to use 'pair
buck/coul/long/gpu' and 'package gpu force/neigh 0 0 -1.0'. When I
replace the option -1.0 by 1.0, everything runs fine. My system has only
3 atom types.
Could these two problems be somehow related?
unlikely. are you using the latest version of LAMMPS?
this looks like a problem that was fixed with mike and
trung's last update to the GPU package.
it was another bug in the function that computes the forces for the atoms left on the host. This function is called when the package gpu flag is not 1.0. Somehow I missed this case in my unit tests.
I fixed the bug in the attached source file. Please copy it to lammps/src/GPU/, go to src/, make yes-gpu, and rebuild.
Thanks a lot for pointing this out. Let me know if this fix works.
Regards,
-Trung
FYI, below is the result of git diff:
diff --git a/src/GPU/pair_buck_coul_long_gpu.cpp b/src/GPU/pair_buck_coul_long_gpu.cpp
index a5f6401…2e3e77b 100644
— a/src/GPU/pair_buck_coul_long_gpu.cpp
+++ b/src/GPU/pair_buck_coul_long_gpu.cpp
@@ -248,7 +248,7 @@ void PairBuckCoulLongGPU::cpu_compute(int start, int inum, int eflag,
I just had this done the same way as in buck/coul/long. Since r is required by both coul and buck terms so I guess it’s evaluated outside of the if’s (one for coul and the other for buck) to avoid two sqrt()'s in case r is less than both cutoffs.