#### 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` (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.