I am looking for a discrete Fourier transform (DFT) library that can be run with MPI on Python.

Usually, in other languages (C, Fortran) FFTW is used. There's a Python wrapper for FFTW called pyFFTW, it does support multithreading but seemingly not MPI.

  • $\begingroup$ Note that FFTW itself already has routines for computing higher dimensional FFT's using MPI even though pyFFTW doesn't include this. You'd have to get the data distributed to your processors in the correct way, but then you could call FFTW and let it do the work. You'd also have to rearrange the transformed data and get it back into Python. $\endgroup$ Jun 28, 2016 at 20:15

1 Answer 1


I think you are looking for mpi4py-fft, which is a Python package (BSD-2 licensed) with its wrappers on the serial FFTW library. From pretty extensive mpi4py documentation:

Parallel FFTs are computed through a combination of global redistributions and serial transforms.

The library also depends on mpi4py (developed also by one of the co-authors of mpi4py-fft).



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.