skip to main content
10.1145/1654059.1654118acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article

A massively parallel adaptive fast-multipole method on heterogeneous architectures

Published: 14 November 2009 Publication History

Abstract

We present new scalable algorithms and a new implementation of our kernel-independent fast multipole method (Ying et al. ACM/IEEE SC '03), in which we employ both distributed memory parallelism (via MPI) and shared memory/streaming parallelism (via GPU acceleration) to rapidly evaluate two-body non-oscillatory potentials. On traditional CPU-only systems, our implementation scales well up to 30 billion unknowns on 65K cores (AMD/CRAY-based Kraken system at NSF/NICS) for highly non-uniform point distributions. On GPU-enabled systems, we achieve 30x speedup for problems of up to 256 million points on 256 GPUs (Lincoln at NSF/NCSA) over a comparable CPU-only based implementations.
We achieve scalability to such extreme core counts by adopting a new approach to scalable MPI-based tree construction and partitioning, and a new reduction algorithm for the evaluation phase. For the sub-components of the evaluation phase (the direct- and approximate-interactions, the target evaluation, and the source-to-multipole translations), we use NVIDIA's CUDA framework for GPU acceleration to achieve excellent performance. To do so requires carefully constructed data structure transformations, which we describe in the paper and whose cost we show is minor. Taken together, these components show promise for ultrascalable FMM in the petascale era and beyond.

References

[1]
NVIDIA CUDA (Compute Unified Device Architecture): Programming Guide, Version 2.1, December 2008.
[2]
P. Ajmera, R. Goradia, S. Chandran, and S. Aluru, Fast, parallel, gpu-based construction of space filling curves and octrees, in I3D '08: Proceedings of the 2008 symposium on Interactive 3D graphics and games, ACM, 2008, pp. 1--1.
[3]
S. Balay, K. Buschelman, W. D. Gropp, D. Kaushik, M. Knepley, L. C. McInnes, B. F. Smith, and H. Zhang, PETSc home page, 2001. http://www.mcs.anl.gov/petsc.
[4]
H. Cheng, L. Greengard, and V. Rokhlin, A fast adaptive multipole algorithm in three dimensions, Journal of Computational Physics, 155 (1999), pp. 468--498.
[5]
A. Grama, A. Gupta, G. Karypis, and V. Kumar, An Introduction to Parallel Computing: Design and Analysis of Algorithms, Addison Wesley, second ed., 2003.
[6]
L. Greengard and V. Rokhlin, A fast algorithm for particle simulations, Journal of Computational Physics, 73 (1987), pp. 325--348.
[7]
N. A. Gumerov and R. Duraiswami, Fast multipole methods on graphics processors, Journal of Computational Physics, 227 (2008), pp. 8290--8313.
[8]
B. Hariharan and S. Aluru, Efficient parallel algorithms and software for compressed octrees with applications to hierarchical methods, Parallel Computing, 31 (2005), pp. 311--331.
[9]
J. JáJ'a, An introduction to parallel algorithms, Addison Wesley, 1992.
[10]
J. Kurzak and B. M. Pettitt, Massively parallel implementation of a fast multipole method for distributed memory machines, Journal of Parallel and Distributed Computing, 65 (2005), pp. 870--881.
[11]
S. Ogata, T. J. Campbell, R. K. Kalia, A. Nakano, P. Vashishta, and S. Vemparala, Scalable and portable implementation of the fast multipole method on parallel computers, Computer Physics Communications, 153 (2003), pp. 445--461.
[12]
J. C. Phillips, J. E. Stone, and K. Schulten, Adapting a message-driven parallel application to GPU-accelerated clusters, in SC'08: Proceedings of the 2008 ACM/IEEE conference on Supercomputing, 2008, pp. 1--9.
[13]
R. Sampath, S. S. Adavani, H. Sundar, I. Lashuk, and G. Biros, Dendro home page, 2008.
[14]
R. S. Sampath, S. S. Adavani, H. Sundar, I. Lashuk, and G. Biros, Dendro: parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees, in SC '08: Proceedings of the 2008 ACM/IEEE conference on Supercomputing, Piscataway, NJ, USA, 2008, IEEE Press, pp. 1--12.
[15]
F. E. Sevilgen and S. Aluru, A unifying data structure for hierarchical methods, in Proceedings of Supercomputing, The SCxy Conference series, Portland, Oregon, November 1999, ACM/IEEE.
[16]
H. Sundar, R. S. Sampath, and G. Biros, Bottom-up construction and 2:1 balance refinement of linear octrees in parallel, SIAM Journal on Scientific Computing, 30 (2008), pp. 2675--2708.
[17]
S.-H. Teng, Provably good partitioning and load balancing algorithms for parallel adaptive N-body simulation, SIAM Journal on Scientific Computing, 19 (1998).
[18]
M. S. Warren and J. K. Salmon, A parallel hashed octtree N-body algorithm, in Proceedings of Supercomputing, The SCxy Conference series, Portland, Oregon, November 1993, ACM/IEEE.
[19]
L. Ying, G. Biros, H. Langston, and D. Zorin, KIFMM3D: The kernel-independent fast multipole (FMM) 3D code. GPL license.
[20]
L. Ying, G. Biros, and D. Zorin, A kernel-independent adaptive fast multipole method in two and three dimensions, Journal of Computational Physics, 196 (2004), pp. 591--626.
[21]
L. Ying, G. Biros, D. Zorin, and H. Langston, A new parallel kernel-independent fast multipole algorithm, in Proceedings of SC03, The SCxy Conference series, Phoenix, Arizona, November 2003, ACM/IEEE.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SC '09: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
November 2009
778 pages
ISBN:9781605587448
DOI:10.1145/1654059
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 November 2009

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SC '09
Sponsor:

Acceptance Rates

SC '09 Paper Acceptance Rate 59 of 261 submissions, 23%;
Overall Acceptance Rate 1,516 of 6,373 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)26
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media