We have developed a compressed neighbor list for short-range particle-particle interaction based on a space- filling curve (SFC) memory layout and particle clusters. The neighbor list can be constructed efficiently on GPUs, supporting NVIDIA and AMD hardware, and has a memory footprint of only 4 bytes per particle to store approximately 200 neighbors. Compared to the highly-optimized domain-specific neighbor list implementation of GROMACS, a molecular dynamics code, it has a comparable cluster overhead and delivers similar performance in a neighborhood pass. Thanks to the SFC-based data layout and the support for varying interaction radii per particle, our neighbor list performs well for systems with high density contrasts, such as those encountered in many astrophysical and cosmological applications. Due to the close relation between SFCs and octrees, our neighbor list seamlessly integrates with octree-based domain decomposition and multipole-based methods for long-range gravitational or electrostatic interactions. To demonstrate the coupling between long- and short-range forces, we simulate an Evrard collapse, a standard test case for the coupling between hydrodynamical and gravitational forces, on up to 1024 GPUs, and compare our results to the analytical solution.
翻译:我们开发了一种基于空间填充曲线(SFC)内存布局和粒子簇的短程粒子-粒子相互作用压缩邻居列表。该邻居列表可在GPU上高效构建,支持NVIDIA和AMD硬件,且每个粒子仅需4字节内存即可存储约200个邻居。与分子动力学软件GROMACS中高度优化的领域专用邻居列表实现相比,我们的方法具有相当的簇开销,并在邻域遍历中提供相近的性能。得益于基于SFC的数据布局以及对每个粒子可变相互作用半径的支持,我们的邻居列表在高密度对比系统中表现优异,例如在许多天体物理和宇宙学应用中遇到的场景。由于SFC与八叉树之间的紧密关联,我们的邻居列表能够与基于八叉树的域分解方法以及用于长程引力或静电相互作用的基于多极展开的方法无缝集成。为演示长程力与短程力的耦合,我们在多达1024个GPU上模拟了Evrard坍缩——一个流体力学与引力耦合的标准测试案例,并将我们的结果与解析解进行了比较。