What’s ExaFMM?

The fast multipole method (FMM) is a numerical engine used in many applications, from acoustics, electrostatics, fluid simulations, wave scattering, and more.

Despite its importance, there is a lack of open community codes, which has impeded its wider adoption. It is also a difficult algorithm to understand and to program, making availability of open-source implementations even more desirable.

This project offers a software base for FMM, including contributions from a growing group of researchers who are passionate about making the power of multipole-based methods available to all in the scientific-computing community.

Initially (late 2011), the ExaFMM project hosted a parallel, GPU-enabled code developed in the Barba group at Boston University. This code was launched at the Supercomputing Conference of 2011, with a poster at the NVIDIA booth. The features and performance of that code are described in other sections of this web site.

Since then, other FMM researchers have joined-in to make ExaFMM a community effort aimed at providing open-source FMM software infrastructure. As we add more code modules to the repository, descriptions of their features and performance will be added, too.

Where to start?

Get the code base and install according to the instructions. Make sure you understand the license conditions.

User’s Manual

The ExaFMM-UserManual explains how to download and install, the included tests, and a short description of the algorithm. The current version is very preliminary, so bear with us. This is a new project, involving a handful of researchers only, and we will extend the documentation as we are able.

Developer documentation

Detailed documentation of the code for developers is generated automatically using Doxigen.

Mailing list

We maintain an email list to discuss ExaFMM and interact with users and developers. Join the ExaFMM list (you can unsubscribe at any time via the same form).