fftw3: MPI Initialization
6.12.2 MPI Initialization
-------------------------
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' (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.