Electronic Thesis/Dissertation
 

A High-Performance and Highly Reusable Fast Multipole Method Library and Its Applications to Solvation Energy Calculations at Virus-Scale

Open Access

The fast multipole method (FMM), recognized as one of the top ten algorithms of 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 library that offers an easy entry to this intricate algorithm. Featuring a kernel-independent variant of FMM (KIFMM), ExaFMM can readily extend to new kernels. We created a high-level Python interface with a modest effort due to a streamlined 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 85% 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 two 20-Core Intel Xeon Gold 6148 CPUs.

Author Language Keyword Date created Type of Work License
  • All rights reserved
Rights statement GW Unit Degree Advisor Committee Member(s) Persistent URL

Notice to Authors

If you are the author of this work and you have any questions about the information on this page, please use the Contact form to get in touch with us.

Thumbnail Title Date Uploaded Visibility Actions
Preview of Wang_gwu_0075A_15904.pdf Wang_gwu_0075A_15904.pdf 2022-04-25 Open Access