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]
- Sandia National Laboratories
- Temple University
- Argonne Leadership Computing Facility
- 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.:
-
USDOEPrimary Award/Contract Number:NA0003525
- 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
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}
}