This title appears in the Scientific Report :
2021
Please use the identifier:
http://dx.doi.org/10.1177/1094342020964857 in citations.
Please use the identifier: http://hdl.handle.net/2128/26689 in citations.
A CUDA fast multipole method with highly efficient M2L far field evaluation
A CUDA fast multipole method with highly efficient M2L far field evaluation
Solving an N-body problem, electrostatic or gravitational, is a crucial task and the main computational bottleneck in many scientific applications. Its direct solution is an ubiquitous showcase example for the compute power of graphics processing units (GPUs). However, the naïve pairwise summation h...
Saved in:
Personal Name(s): | Kohnke, Bartosz (Corresponding author) |
---|---|
Kutzner, Carsten / Beckmann, Andreas / Lube, Gert / Kabadshow, Ivo / Dachsel, Holger / Grubmüller, Helmut | |
Contributing Institute: |
Jülich Supercomputing Center; JSC |
Published in: | The international journal of high performance computing applications, 35 (2021) 1, S. 97 - 117 |
Imprint: |
Thousand Oaks, Calif.
Sage Science Press
2021
|
DOI: |
10.1177/1094342020964857 |
Document Type: |
Journal Article |
Research Program: |
Cross-Domain Algorithms, Tools, Methods Labs (ATMLs) and Research Groups |
Link: |
OpenAccess |
Publikationsportal JuSER |
Please use the identifier: http://hdl.handle.net/2128/26689 in citations.
Solving an N-body problem, electrostatic or gravitational, is a crucial task and the main computational bottleneck in many scientific applications. Its direct solution is an ubiquitous showcase example for the compute power of graphics processing units (GPUs). However, the naïve pairwise summation has 𝒪(𝑁2) computational complexity. The fast multipole method (FMM) can reduce runtime and complexity to 𝒪(𝑁) for any specified precision. Here, we present a CUDA-accelerated, C++ FMM implementation for multi particle systems with 𝑟−1 potential that are found, e.g. in biomolecular simulations. The algorithm involves several operators to exchange information in an octree data structure. We focus on the Multipole-to-Local (M2L) operator, as its runtime is limiting for the overall performance. We propose, implement and benchmark three different M2L parallelization approaches. Approach (1) utilizes Unified Memory to minimize programming and porting efforts. It achieves decent speedups for only little implementation work. Approach (2) employs CUDA Dynamic Parallelism to significantly improve performance for high approximation accuracies. The presorted list-based approach (3) fits periodic boundary conditions particularly well. It exploits FMM operator symmetries to minimize both memory access and the number of complex multiplications. The result is a compute-bound implementation, i.e. performance is limited by arithmetic operations rather than by memory accesses. The complete CUDA parallelized FMM is incorporated within the GROMACS molecular dynamics package as an alternative Coulomb solver. |