figshare
Browse
Tingyu-Wang-dissertation-defense.pdf (12.82 MB)

A high-performance and highly reusable fast multipole method library and its application to solvation energy calculations at virus-scale

Download (12.82 MB)
presentation
posted on 2022-04-04, 18:04 authored by Tingyu WangTingyu Wang
The fast multipole method (FMM), recognized as one of the top ten algorithms from the 20th century, can rapidly evaluate the ubiquitous N-body problems in scientific computations in linear time. Despite being one of the trending topics in high-performance computing (HPC) in the past decades, most FMM implementations are experimental, and few emphasize software usability. We introduce ExaFMM, a high-performance and highly reusable open-source FMM (KIFMM) that offers an easy entry to this intricate algorithm. Featuring a kernel-independent variant of FMM, ExaFMM can readily extend to new kernels. We created a high-level Python interface with a modest effort due to a straightforward and standard software design. Convergence results show the code is high order accurate and can reach 14 digits of accuracy in the potential.
In a strong scaling test, the parallel efficiency is 78% on 32 threads. Performance comparison with other libraries confirms that ExaFMM is in the same ballpark as several highly optimized FMM libraries under various accuracy settings. By integrating ExaFMM into Bempp, a Galerkin boundary element method package, we present a high-productivity and high-performance linear Poisson-Boltzmann (PB) solver. It empowers researchers to compute solvation energy at the scale of viruses interactively via easy-to-use Python interfaces. The 1/N convergence rate observed in mesh-refinement studies confirms code correctness, and result comparison with other trusted PB software shows agreement using a wide range of proteins.Performance results report timings and breakdowns with between 8,000 and 2 million boundary elements and confirm the linear complexity in both time and space. In the performance comparison with APBS, our software demonstrates an advantage in applications involving larger structures or requiring higher accuracy. Bempp-ExaFMM took 80-min runtime to compute the solvation energy of a Zika virus, represented by 1.6 million atoms and 10 million boundary elements, on a single compute node with 40 CPU cores.

History