In molecular dynamics, the most expensive part regarding the computational effort is calculating the pairwise force interactions between particles. Most improvements aim at efficiently identifying the nearby particles for the calculation of forces, which usually converge to zero with a growing distance. The Verlet Lists algorithm stores neighbor particles in a list and updates them every few iterations. This thesis includes several implementations for reducing the time spent on the neighbor list rebuilds. The first improvement aims to reduce the number of rebuild iterations. To achieve this, the rebuild criterion is enhanced to be more dynamic by being coupled with the particle movement since the last rebuild. The conducted runtime measurements in different experiments show an advantage of this improvement for scenarios with a high velocity difference over time. Second, the effort for the rebuilds is decreased by implementing a partial strategy to only update the lists which are invalidated by particle movement. This partial rebuilding procedure introduces much computational overhead but can beat the reference implementation in large simulation domains for a small Verlet skin size. Furthermore, a new rebuild traversal is presented, which can reduce the time spent on updating the neighbor lists by achieving a lower CPU spin time. These algorithms are implemented as a part of the open-source C++ library AutoPas, which provides a wide portfolio of optimizations. In conclusion, the results show that every improvement can perform better than its respective reference implementation in at least one scenario and is therefore a valuable extension of AutoPas.
«
In molecular dynamics, the most expensive part regarding the computational effort is calculating the pairwise force interactions between particles. Most improvements aim at efficiently identifying the nearby particles for the calculation of forces, which usually converge to zero with a growing distance. The Verlet Lists algorithm stores neighbor particles in a list and updates them every few iterations. This thesis includes several implementations for reducing the time spent on the neighbor list...
»