Molecular dynamics simulations require efficient algorithms to compute forces between particles. AutoPas is a C++ library for particle simulations that provides different algorithms and data structures for short range particle interaction force calculation. The short range nature means that not all interactions between particles are considered, but only those within their approximate neighborhood. This makes it necessary to store or search for neighboring particles. For this purpose, AutoPas implements data structures that use different strategies to manage these neighbors. These data structures are called containers and can be changed during runtime through tuning to adapt to a specific simulation scenario. All of these structures need to be rebuilt from time to time because particles move and their neighbors change. Especially in containers that explicitly store neighbors, these rebuilds can be time consuming. Therefore, strategies are used to delay such rebuilds. One strategy is to include additional particles in the neighborhood using a so-called skin. Another strategy is to track and buffer individual particles that leave their neighboring structures. Force calculations that involve buffered particles are less efficient, while rebuild operations can be computationally expensive. Therefore there is a trade-off between keeping particles in the buffer and performing rebuilds.
In this thesis, we develop an approach that adapts the rebuild frequency at runtime. The method balances the remainder traversal time, which represents the interaction computation of buffered particles, against the rebuild time. The approach was integrated into AutoPas and evaluated using md-flexible, an example molecular dynamics application based on AutoPas.
The evaluation shows a maximum reduction in AutoPas related simulation time of about 5% compared to the previously existing dynamic approach that determines rebuilds based on particle movement. Although the improvement is small, it is statistically significant. The approach removes the need for manual selection of the rebuild frequency.
«
Molecular dynamics simulations require efficient algorithms to compute forces between particles. AutoPas is a C++ library for particle simulations that provides different algorithms and data structures for short range particle interaction force calculation. The short range nature means that not all interactions between particles are considered, but only those within their approximate neighborhood. This makes it necessary to store or search for neighboring particles. For this purpose, AutoPas imp...
»