Molecular dynamics simulations are a typical example of an N-body problem. They have immense computational costs and require a high degree of parallelism to be solvable in reasonable time on current hardware.
The performance of different data structures and algorithms highly depends on the scenario and available hardware. It might even change over the time of a simulation. Thus it is not always obvious what to select before starting the simulation. The AutoPas library solves this by performing auto-tuning and (re-)selecting the best combination at runtime.
The goal of this thesis was to integrate AutoPas into the Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS). We then show how to make the existing functionality compatible with AutoPas by focusing on some of the provided example scenarios. Additionally, we compare the node-level performance of the AutoPas integration with the
OMP parallelization of the USER-OMP and KOKKOS packages provided with LAMMPS.
We achieve a successful integration with reasonably good performance that is easily extendable to support more of LAMMPS’s features. While we do not outperform the provided packages with the current, still unoptimized version of AutoPas, our integration shows a significantly better speedup for high core counts.
«