A Data-Parallel Implementation of the Adaptive Fast Multipole Algorithm 1

Given an ensemble of n bodies in space whose interaction is governed by a potential function, the N-body problem is to calculate the force on each body in the ensemble that results from its interaction with all other bodies. An efficient algorithm for this problem is critical in the simulation of molecular dynamics, turbulent fluid flow, intergalactic matter and other problems. The fast multipole algorithm (FMA) developed by Greengard approximates the solution with bounded error in time O(n ). For non-uniform distributions of bodies, an adaptive variation of the algorithm is required to maintain this time complexity. The parallel execution of the FMA poses complex implementation issues in the decomposition of the problem over processors to reduce communication. As a result the 3D Adaptive FMA has, to our knowledge, never been implemented on a scalable parallel computer. This paper describes several variations on the parallel adaptive 3D FMA algorithm that are expressed using the data- parallel subset of the high-level parallel prototyping language Proteus. These formulations have implicit parallelism that is executed sequentially using the current Proteus execution system to yield some insight into the performance of the variations. Efforts underway will make it possible to directly generate vector code from the formulations, rendering them executable on a broad class of parallel computers.

[1]  Feng Zhao,et al.  The Parallel Multipole Method on the Connection Machine , 1991, SIAM J. Sci. Comput..

[2]  Lars Siegfried Nyland,et al.  The design of a prototyping programming language for parallel and sequential algorithms , 1991 .

[3]  F. Colonna,et al.  On searching neighbors in computer simulations of macromolecular systems , 1984 .

[4]  Daniel W. Palmer,et al.  Transforming high-level data-parallel programs into vector operations , 1993, PPOPP '93.

[5]  William Gropp,et al.  A Parallel Version of the Fast Multipole Method-Invited Talk , 1987, PPSC.

[6]  Stephen R. Tate,et al.  The Complexity of N-body Simulation , 1993, ICALP.

[7]  D. A. Dunnett Classical Electrodynamics , 2020, Nature.

[8]  Guy E. Blelloch,et al.  Compiling Collection-Oriented Languages onto Massively Parallel Computers , 1990, J. Parallel Distributed Comput..

[9]  Wilhelm Hasselbring,et al.  Prototyping Parallel Algorithms with PROSET-Linda , 1993, ACPC.

[10]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language , 1992 .

[11]  K. Schmidt,et al.  Implementing the fast multipole method in three dimensions , 1991 .

[12]  Victor Y. Pan,et al.  The power of combining the techniques of algebraic and numerical computing: improved approximate multipoint polynomial evaluation and improved multipole algorithms , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[13]  John K. Salmon,et al.  Parallel hierarchical N-body methods , 1992 .

[14]  A. Appel An efficient program for many-body simulations (or, Cray performance from a VAX) , 1983 .

[15]  John H. Reif,et al.  Prototyping parallel and distributed programs in Proteus , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.

[16]  Feng Zhao,et al.  An {\it bf O(N)} Algorithm for Three-Dimensional N-body Simulations , 1987 .

[17]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[18]  J.P. Singh Implications of Hierarchical N-body Methods for Multiprocessor Architecture , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[19]  Michael S. Warren,et al.  Astrophysical N-body simulations using hierarchical tree data structures , 1992, Proceedings Supercomputing '92.

[20]  J. CARRIERt,et al.  A FAST ADAPTIVE MULTIPOLE ALGORITHM FOR PARTICLE SIMULATIONS * , 2022 .

[21]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[22]  V. Rokhlin,et al.  Rapid Evaluation of Potential Fields in Three Dimensions , 1988 .

[23]  John H. Reif,et al.  Prototyping N-body simulation in Proteus , 1992, Proceedings Sixth International Parallel Processing Symposium.

[24]  Pangfeng Liu,et al.  Abstractions for parallel N-body simulations , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[25]  L. Greengard The Rapid Evaluation of Potential Fields in Particle Systems , 1988 .

[26]  Feng Zhao An O(N) Algorithm for Three-dimensional N-body Simulations , 2022 .