粒子码中近邻相互作用伪Verlet表的有效SIMD实现
An Efficient SIMD Implementation of Pseudo-Verlet Lists for Neighbour Interactions in Particle-Based Codes
摘要:
在基于粒子的模拟中,寻找邻居(即在给定范围内寻找相互作用的粒子对)是计算中最耗时的部分。其中一个最好的这样的算法,它可以用于分子动力学(MD)和光滑粒子流体动力学(SPH)模拟,是伪Verlet列表算法。然而,该算法并不简单地向量化,因此难以利用SIMD并行架构。在本文中,我们提出了几个新的修改,以及矢量化策略的算法,导致整体加速超过标量版本的算法的2.24倍的AVX指令集(SIMD宽度为8),2.43倍的AVX 2,和4.07倍的AVX-512(SIMD宽度为16)。
英文摘要:
In 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. This algorithm, however, does not vectorise trivially, and hence makes it difficult to exploit SIMD-parallel architectures. In this paper, we present several novel modifications as well as a vectorisation strategy for the algorithm which lead to overall speed-ups over the scalar version of the algorithm of 2.24x for the AVX instruction set (SIMD width of 8), 2.43x for AVX2, and 4.07x for AVX-512 (SIMD width of 16).
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。