We provide a mathematically proven parallelization scheme for particle methods on distributed-memory computer systems. Particle methods are a versatile and widely used class of algorithms for computer simulations and numerical predictions in various applications, ranging from continuum fluid dynamics and granular flows, using methods such as Smoothed Particle Hydrodynamics (SPH) and Discrete Element Methods (DEM) to Molecular Dynamics (MD) simulations in molecular modeling. Particle methods naturally lend themselves to implementation on parallel-computing hardware. So far, however, a mathematical proof of correctness and equivalence to sequential implementations was only available for shared-memory parallelism. Here, we leverage a formal definition of the algorithmic class of particle methods to provide a proven parallelization scheme for distributed-memory computers. We prove that these parallelized particle methods on distributed memory computers are formally equivalent to their sequential counterpart for a well-defined class of particle methods. Notably, the here analyzed parallelization scheme is well-known and commonly used. Our analysis is, therefore, of immediate practical relevance to existing and new parallel software implementations of particle methods and places them on solid theoretical grounds.
翻译:我们为分布式内存计算机系统上的粒子方法提供了一种经过数学证明的并行化方案。粒子方法是一类通用且广泛使用的算法,应用于从连续流体动力学和颗粒流(如光滑粒子流体动力学(SPH)和离散单元法(DEM))到分子建模中的分子动力学(MD)模拟等多种场景的计算机仿真与数值预测。粒子方法天然适合在并行计算硬件上实现。然而,迄今为止,其正确性及与串行实现等价性的数学证明仅适用于共享内存并行。本文基于粒子方法算法类别的形式化定义,为分布式内存计算机提供了一种可证明的并行化方案。我们证明了,对于明确定义的一类粒子方法,这些在分布式内存计算机上并行化的粒子方法与其串行版本在形式上等价。值得注意的是,本文分析的并行化方案是众所周知且广泛应用的。因此,我们的分析对现有及新建的粒子方法并行软件实现具有直接的实践意义,并为其奠定了坚实的理论基础。