Before calling any other FFTW MPI (‘fftw_mpi_’) function, and before importing any wisdom for MPI problems, you must call:
void fftw_mpi_init(void);
If FFTW threads support is used, however, fftw_mpi_init
should
be called after fftw_init_threads
(see Combining MPI and Threads). Calling fftw_mpi_init
additional times (before
fftw_mpi_cleanup
) has no effect.
If you want to deallocate all persistent data and reset FFTW to the pristine state it was in when you started your program, you can call:
void fftw_mpi_cleanup(void);
(This calls fftw_cleanup
, so you need not call the serial
cleanup routine too, although it is safe to do so.) After calling
fftw_mpi_cleanup
, all existing plans become undefined, and you
should not attempt to execute or destroy them. You must call
fftw_mpi_init
again after fftw_mpi_cleanup
if you want
to resume using the MPI FFTW routines.