A flexible algorithm for calculating pair interactions on SIMD architectures
By Szilárd Páll, Berk Hess. Computer Physics Communications, 2013
668 citations recorded by the source corpus.
Calculating interactions or correlations between pairs of particles is typically the most time-consuming task in particle simulation or correlation analysis. Straightforward implementations using a double loop over particle pairs have traditionally worked well, especially since compilers usually do a good job of unrolling the inner loop. In order to reach high performance on modern CPU and accelerator architectures, single-instruction multiple-data (SIMD) parallelization has become essential. Avoiding memory bottlenecks is also increasingly important and requires reducing the ratio of memory to arithmetic operations. Moreover, when pairs only interact within a certain cut-off distance, good SIMD utilization can only be achieved by reordering input and output data, which quickly becomes a limiting factor. Here we present an algorithm for SIMD parallelization based on grouping a fixed number of particles, e.g. 2, 4, or 8, into spatial clusters. Calculating all interactions between particles in a pair of such clusters improves data reuse compared to the traditional scheme and results in a more efficient SIMD parallelization. Adjusting the cluster size allows the algorithm to map to SIMD units of various widths. This flexibility not only enables fast and efficient implementation on current CPUs and accelerator architectures like GPUs or Intel MIC, but it also makes the algorithm future-proof. We present the algorithm with an application to molecular dynamics simulations, where we can also make use of the effective buffering the method introduces.
Subfields: Computer Networks and Communications, Hardware and Architecture, Spectroscopy
View Paper: https://www.semanticscholar.org/paper/c3d1c289f5a0df6140733c4d6c91aa7f9a1de008
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
In Hardware and Architecture
In Spectroscopy
- Carsten Kutzner
- Helmut Grubmüller
- B. L. de Groot
- Szilárd Páll
- Martin Fechner
- Ansgar Esztermann
- Erik Lindahl
- Mark James Abraham
Citations in the corpus
- Heterogeneous Parallelization and Acceleration of Molecular Dynamics Simulations in GROMACS (2020, methodology): “9,13,21,33,37,38 A common approach is to assign different i -particles to each SIMT thread requiring a separate j particle loaded for each pair interaction.”
- More bang for your buck: Improved use of GPU nodes for GROMACS 2018 (2019, methodology): “First, the dual pair list extension of the cluster pair algorithm 22 was developed with two goals: reducing the computational cost of pair search (and domain decomposition) and facilitating optimal simulation performance without manual parameter tuning.”