Currently I am running some nonequilibrium simulations on GPUs and the one fix that does not have kokkos acceleration that I am planning to use is fix ehex. I foresee this potentially representing a large performance bottleneck since it should be applied should be applied rather frequentlym obviating most of the performance gains from other the other kokkos-accelerated pair styles and fixes that I’m using. If this is not a feature that would be generally useful, any development guidance would be most appreciated.
You can see which feature requests (including requests for porting styles to KOKKOS) are currently pending on GitHub at: GitHub · Where software is built
It may be beneficial to submit your request there, too, instead of posting here.
The limiting factor for porting is the amount of available workforce. Most people have project-related priorities and availability for other features depends on how quickly those can be handled.
The most comprehensive information about Kokkos and porting styles to the LAMMPS KOKKOS package is in Stan’s lectures from last years developer event at Temple. Those were live streamed to YouTube and the recording of that is available here:
Dr. Kolmeyer,
I appreciate the prompt response I will also add the feature request there. I have been reading a lot about Kokkos and GPU programming because it’s really accelerated some of the long simulations that I have been running simulating reptation of polymers. I still need to test it, but do you think that my assessment that fix ehex as is with the other kokkos accelerated styles I’m using is correct. Is the view worth the climb so to speak?
Sincerely,
Erik
I usually ask “have similar styles been accelerated”? to figure out the feasibility of accelerating a style, and in the case of fix ehex, I can see that there are Kokkos variants for efield and setforce (useful for looking at how to add forces) and wall/region (useful for treating particles by region). So I would suspect that ehex is both not too difficult to accelerate and worth the effort.
I also noticed that there’s a Kokkos variant of the block region, which is essentially all that I would need. I’m thinking I might try to write a plugin that only handles that scope, since it’s important for my current research, and if I have time time and energy between taking care of my 4 month old I can try to port the rest of the functionality. It’d be rewarding to make such a contribution.