AutoPas: a Library for N-Body Simulations enabling optimal Node-Leveling through Auto-Tuning
N-Body Problem based simulations are employed in various disciplines, for example, to model the evolution of star clusters or galaxies, to approximate fluid motion, or to study the behavior of molecules in so-called molecular dynamics simulations. To avoid the theoretical time complexity of O(N^2) which would be needed to compute all pairwise particle interactions, algorithms can be employed to reduce the complexity to O(N). One approach is to restrict considerations to short-range particle interactions via introducing a cutoff for the interaction length. From a computational perspective, short-range interactions are compute-intensive and primarily happen at node-level, stressing the need for optimal performance of particle interactions.
In order to achieve the optimal, scenario dependent, node-level performance, we started the development of the C++ library project AutoPas. It aims to provide an easy to use interface for building arbitrary N-Body simulations. The user only has to define a particle class and a functor which describes the pairwise interactions. Decisions such as choosing the optimal particle container, its parallel traversal, which type of data structures to use or whether optimizations through Newton's third law of motion are beneficial, are handled by an auto-tuner according to the current state of the simulation from within the library. This allows the users to focus on extending the actual simulation code while having well-performing and, in the optimal case, hardware-independent code.
Already in a very early version, AutoPas was coupled with an already existing MolecularDynamics-code for verification and validation and to study its usability. Here the results of this coupling, the scalability of different algorithms implemented in the library, as well as the AutoPas library interface itself, are presented.
Our current research focuses on expanding the library, optimizing parallel efficiency, implementing auto-tuning strategies, and coupling AutoPas with established and mature codes.
«
AutoPas: a Library for N-Body Simulations enabling optimal Node-Leveling through Auto-Tuning
N-Body Problem based simulations are employed in various disciplines, for example, to model the evolution of star clusters or galaxies, to approximate fluid motion, or to study the behavior of molecules in so-called molecular dynamics simulations. To avoid the theoretical time complexity of O(N^2) which would be needed to compute all pairwise particle interactions, algorithms can be employed to redu...
»