[lammps-users] Implementing triclinic symmetry for PPPM with Kokkos

Dear LAMMPS users and developers,

My research group has started a project using LAMMPS to model flow-driven reactions in molecular systems, many of which have significant contributions from long-range coulomb interactions (e.g. ionic liquids). So far we’ve been using GPU acceleration wherever possible, neither GPU or Kokkos support all the fixes and geometries we need and this is starting to become a performance bottleneck.

My goal is to start adding the fixes and kspace styles required for NEMD to Kokkos, which would be at least “fix nvt/sllod” and PPPM for triclinic cells. The first thing I’m trying to tackle is triclinic geometry in PPPMKokkos, and I noticed that there is a partial implementation of this functionality in pppm_kokkos.cpp (in the functions “setup_triclinic” and “compute_gf_ik_triclinic”) but it’s currently (8Apr2021) commented out. Are there any technical reasons for this that I may not be aware of (e.g. some feature of the calculation that makes it not suitable/hard to implement for Kokkos) and which I should be aware of before I start hacking on this feature?

Kind regards,

Emily Kahl

CCing Stan on this Q, who can answer.


Sorry for the delay in responding. There is no real difficulty in extending PPPMKokkos to support triclinic, I just didn’t have enough time when I did the initial port a few years ago so it wasn’t included. Please let me know if you have any questions.