Hi all,
I’m running simulations using the Kokkos-accelerated ReaxFF force field in LAMMPS, such as pair_style reaxff/kk or reaxff/kk/device. I noticed that there are also Kokkos versions of other related commands, for example:
fix qeq/reaxff/kk, fix qeq/reaxff/kk/device, fix qeq/reaxff/kk/host
fix npt/kk, fix nvt/kk, fix npt/kk/device, etc.
My question is:
When I use reaxff/kk, is it necessary (or at least strongly recommended) to also use Kokkos variants of these fixes, such as fix npt/kk and fix qeq/reaxff/kk, instead of their non-Kokkos counterparts?
Any suggestions or best practices would be greatly appreciated.
Thanks in advance!
Best regards,
Both approaches should yield the same results, but if you use GPU acceleration, it is more than recommended, because even a single non-KOKKOS fix can slow down the simulation significantly due to additional communication. You should use -sf kk switch when invoking LAMMPS, e.g. lmp -in input.in -sf kk, which will use KOKKOS implementations wherever it is possible.
I don’t know if it is the same for CPU version, but you can test it easily by running the simulations for both cases.
1 Like
Thank you very much for the detailed explanation! That really helps clarify things.
I’ll make sure to use the -sf kk flag when running KOKKOS-accelerated simulations, and I’ll also run some tests to compare performance on CPU-only runs.
Thanks again for your support!
Best regards,