An Efficient SIMD Implementation of Pseudo-Verlet Lists for Neighbor Interactions in Particle-Based Codes
TimeThursday, November 15th8:30am - 5pm
DescriptionIn particle-based simulations, neighbour finding (i.e. finding pairs of particles to interact within a given range) is the most time consuming part of the computation. One of the best such algorithms, which can be used for both Molecular Dynamics (MD) and Smoothed Particle Hydrodynamics (SPH) simulations is the pseudo-Verlet list algorithm. The algorithm improves the neighbour finding by reducing the number of spurious pair-wise distance calculations. This algorithm, however, does not vectorize trivially, and hence makes it difficult to exploit SIMD-parallel architectures. On this poster, we present several novel modifications as well as a vectorization strategy for the algorithm which lead to overall speed-ups over the scalar version of the algorithm of 2.21x for the AVX instruction set (SIMD width of 8), 2.41x for AVX2, and 3.65x for AVX-512 (SIMD width of 16).