A distributed-memory implementation of the butterfly algorithm. In particular, the current implementation performs analytical interpolation in order to efficiently apply Egorov-like operators with user-defined black-box phase functions. Please see A parallel butterfly algorithm for more details.
Coming soon! For now, please see this example driver, which efficiently applies an analogue of a generalized Radon transform over a 3D volume.
Building DistButterfly is often as simple as running:
cd dist-butterfly
mkdir build
cd build
cmake ..
make