cannam@95: cannam@95: cannam@95: MPI Initialization - FFTW 3.3.3 cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95:
cannam@95: cannam@95:

cannam@95: Next: , cannam@95: Previous: MPI Files and Data Types, cannam@95: Up: FFTW MPI Reference cannam@95:


cannam@95:
cannam@95: cannam@95:

6.12.2 MPI Initialization

cannam@95: cannam@95:

Before calling any other FFTW MPI (‘fftw_mpi_’) function, and cannam@95: before importing any wisdom for MPI problems, you must call: cannam@95: cannam@95:

cannam@95:

     void fftw_mpi_init(void);
cannam@95: 
cannam@95:

If FFTW threads support is used, however, fftw_mpi_init should cannam@95: be called after fftw_init_threads (see Combining MPI and Threads). Calling fftw_mpi_init additional times (before cannam@95: fftw_mpi_cleanup) has no effect. cannam@95: cannam@95:

If you want to deallocate all persistent data and reset FFTW to the cannam@95: pristine state it was in when you started your program, you can call: cannam@95: cannam@95:

cannam@95:

     void fftw_mpi_cleanup(void);
cannam@95: 
cannam@95:

(This calls fftw_cleanup, so you need not call the serial cannam@95: cleanup routine too, although it is safe to do so.) After calling cannam@95: fftw_mpi_cleanup, all existing plans become undefined, and you cannam@95: should not attempt to execute or destroy them. You must call cannam@95: fftw_mpi_init again after fftw_mpi_cleanup if you want cannam@95: to resume using the MPI FFTW routines. cannam@95: cannam@95: cannam@95: