inconsistent result for hybrid/overlay eam potential on GPU(eam/fs/gpu)

Dear developers and users,

I’m using the stable branch of lammps, released 10Aug15, and the CUDA 6.5(Double-Double).
When I using the code with a overlay eam/fs potential composed by two
eam/fs files, I found the GPU accelerated result is inconsistent with
the CPU result, a normal atomic geometry will “explode” when
accelerated by the GPU package, the energy and force are not correct.
However, the GPU accelerated result is correct compared with CPU
result when only one eam/fs file is used without hybrid.

A simple test input has been attached(the simple “run 0” will give a significant different result), together with the eam/fs
potential generator(the potential is kind of sensitive to the numerical precision, I picked a rather small interval, making the potential file quite large. A warning of divided by 0 may generate for Fe-Fe pair at zero distance, it is not a problem. The m file can be run with octave). The potential is from the “Two-band modeling of alpha-prime
phase formation in Fe-Cr” by Par Olsson on PRB 72, 214119 2005. The
Fe-Fe interactions and Cr-Cr interactions are determined in
FeCr1.eam.fs, and a major part of the Fe-Cr interactions are
determined also in FeCr1.eam.fs. While FeCr2.eam.fs contains a weak
Fe-Cr interaction, used to describe the contribution from S-band.

From the behavior of the running, I guess the hybrid result somehow only get the force information from the last potential, without the true hybrid/overlay. But I don’t actually have the ability to debug it.

Thank you for your attention.

Yi Wang

eamgpu.tar.bz2 (2.09 KB)