You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When tersoff/gpu, tersoff/zbl/gpu or tersoff/mod/gpu are used in pair hybrid, the run crashes due to bugs in device memory accesses. The input script reproduces the issue is attached. in.hybrid.txt
The text was updated successfully, but these errors were encountered:
There is one final and rather obscure issue that i observed running the test input. When using the attached input with 4 MPI tasks or more, the results are suddenly wrong. I've tracked this down to having to deal correctly with the case of having an empty neighbor list, which is much more likely for hybrid styles than for regular calculations. The problem seems to be caused by this line: https://github.com/lammps/lammps/blob/lammps-icms/lib/gpu/lal_balance.h#L162
Where the number of "local" atoms is forced to be > 0. Unfortunately, changing it, so it will return zero, where there are no atoms in the list will result in kernel launch failures. On the other hand, when it is set to 1, it will copy data from the GPU to the host, that is bogus.
Thanks for the hints, Axel. Indeed it involves an empty neighbor list of local atoms. For this case, the checks to return are currently not correct, which then allows the program to continue to the part where the balancer is invoked. I have fixed the checks and created a pull request for this issue. I tested the input script with 4, 6 and 8 MPI tasks and it seems to work correctly now. Please double check this on your side. Thanks!
When tersoff/gpu, tersoff/zbl/gpu or tersoff/mod/gpu are used in pair hybrid, the run crashes due to bugs in device memory accesses. The input script reproduces the issue is attached.
in.hybrid.txt
The text was updated successfully, but these errors were encountered: