Hi,
What is the full/half and half-thread neigh list flags used in pair_eam_kokkos? Does full mean every atom holds all its neighbors and half - is where if (i,j) are neighbors, it is maintained in neigh list of i or j but not both. what is half thread?
regards,
Naga
a full neighbor list has all pairs listed for both atoms. a half neighbor list is has each pair listed only once (for local atoms, for pair across sub-domain boundaries, the force->newton_pair setting decides). the FULL/HALF/HALFTHREAD settings are KOKKOS specific since KOKKOS styles can be compiled with different settings and also can select neighbor list generation settings at runtime.
axel.
A HALF neighbor list is the same as what regular LAMMPS uses and only works when you have a single OpenMP thread and no GPUs. A HALFTHREAD list uses thread atomics for thread safety to avoid write conflicts in the force array, which is needed on GPUs and when you are using more than 1 OpenMP thread (and not using data duplication, which is the default for OpenMP). A FULL neighbor list duplicates computation to avoid atomics, which can be faster on GPUs.
Stan
Ok, thanks for clarifying Axel and Stan.
regards,
Naga