A practical comparison of N-body algorithms

This work compares three algorithms for the three dimensional N-body problem, the Barnes-Hut algorithm, Greengard's Fast Multipole Method(FMM), and the Parallel Multi-pole Tree Algorithm (PMTA) to determine which of the algorithms performs best in practice. Although FMM has a better asymptotic running time (O(N) instead of O(N log N) for uniform distributions), the algorithm is more complicated and it is not immediately clear above what values of N it performs better in practice. We studied the dependence of accuracy on the variable parameters , p and , and then compared the oating point operation counts of the three algorithms at similar levels of accuracy, for both charged and uncharged random distributions. At a high level of accuracy (RMS-error 10 ?5), the FMM did the least number of operations for N > 10 4 , assuming both charged and uncharged distributions of points. At a lower level of accuracy, (RMS-error 10 ?3) for uncharged distributions, the FMM did not outperform Barnes-Hut even for N > 10 8. For charged distributions of particles, both the FMM and PMTA were comparable at low accuracy. The algorithms were implemented in the parallel language Nesl.

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

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

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

[4]  Anoop Gupta,et al.  SPLASH: Stanford parallel applications for shared-memory , 1992, CARN.

[5]  John A. Board,et al.  Fast Fourier Transform Accelerated Fast Multipole Algorithm , 1996, SIAM J. Sci. Comput..

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

[7]  Roland Wielen,et al.  A comparison of numerical methods for the study of star cluster dynamics , 1974 .

[8]  John Salmon Parallel N log N N-body algorithms and applications to astrophysics , 1991, COMPCON Spring '91 Digest of Papers.

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

[10]  Paul B. Callahan Optimal parallel all-nearest-neighbors using the well-separated pair decomposition , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

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

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

[13]  J.A. Board,et al.  Scalable implementations of multipole-accelerated algorithms for molecular dynamics , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[14]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[15]  Polynomial Evaluation,et al.  The Power of Combining the Techniques of Algebraic and Numerical Computing: Improved Approximate Multipoint , 1992 .

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

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