fftMPI, a library for performing 2d and 3d FFTs in parallel

RESOURCE

Abstract

The fftMPI library enables two and three dimensional Fast Fourier Transforms (FFTs) to be performed efficiently in parallel on a variety of platforms from desktop machines to supercomputers. It allows for flexibility in the initial distribution of the FFT grid across processors, as well as the final output. It handles the data communication and reordering necessary to perform multi-dimensional FFTs in parallel. It relies on open-source or vendor-provided libraries to perform one dimensional FFTs on a single processor. It uses MPI for inter-processor communication, which is a standard distributed memory message-passing library.
Developers:
Plimpton, Steven [1] Kohlmeyer, Axel [2] Coffman, Paul [3] Blood, Phil [4]
  1. Sandia National Laboratories
  2. Temple University
  3. Argonne Leadership Computing Facility
  4. Pittsburgh Supercomputing Center
Release Date:
2018-04-25
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Programming Languages:
The CSlib can be used from programs written in C++, C, Fortran, or Python.
Shell
Makefile
Version:
2.0
Licenses:
Other (Commercial or Open-Source): https://github.com/sandialabs/fftmpi?tab=License-1-ov-file#readme
Sponsoring Org.:
Code ID:
45665
Site Accession Number:
SCR#2298.0; 7966
Research Org.:
Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States)
Country of Origin:
United States

RESOURCE

Citation Formats

Plimpton, Steven, Kohlmeyer, Axel, Coffman, Paul, and Blood, Phil. fftMPI, a library for performing 2d and 3d FFTs in parallel. Computer Software. https://github.com/sandialabs/fftmpi. USDOE. 25 Apr. 2018. Web. doi:10.11578/dc.20201001.68.
Plimpton, Steven, Kohlmeyer, Axel, Coffman, Paul, & Blood, Phil. (2018, April 25). fftMPI, a library for performing 2d and 3d FFTs in parallel. [Computer software]. https://github.com/sandialabs/fftmpi. https://doi.org/10.11578/dc.20201001.68.
Plimpton, Steven, Kohlmeyer, Axel, Coffman, Paul, and Blood, Phil. "fftMPI, a library for performing 2d and 3d FFTs in parallel." Computer software. April 25, 2018. https://github.com/sandialabs/fftmpi. https://doi.org/10.11578/dc.20201001.68.
@misc{ doecode_45665,
title = {fftMPI, a library for performing 2d and 3d FFTs in parallel},
author = {Plimpton, Steven and Kohlmeyer, Axel and Coffman, Paul and Blood, Phil},
abstractNote = {The fftMPI library enables two and three dimensional Fast Fourier Transforms (FFTs) to be performed efficiently in parallel on a variety of platforms from desktop machines to supercomputers. It allows for flexibility in the initial distribution of the FFT grid across processors, as well as the final output. It handles the data communication and reordering necessary to perform multi-dimensional FFTs in parallel. It relies on open-source or vendor-provided libraries to perform one dimensional FFTs on a single processor. It uses MPI for inter-processor communication, which is a standard distributed memory message-passing library.},
doi = {10.11578/dc.20201001.68},
url = {https://doi.org/10.11578/dc.20201001.68},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20201001.68}},
year = {2018},
month = {apr}
}