Chris@10: Chris@10: Chris@10: Linking and Initializing MPI FFTW - FFTW 3.3.3 Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10:
Chris@10: Chris@10:

Chris@10: Next: , Chris@10: Previous: FFTW MPI Installation, Chris@10: Up: Distributed-memory FFTW with MPI Chris@10:


Chris@10:
Chris@10: Chris@10:

6.2 Linking and Initializing MPI FFTW

Chris@10: Chris@10:

Programs using the MPI FFTW routines should be linked with Chris@10: -lfftw3_mpi -lfftw3 -lm on Unix in double precision, Chris@10: -lfftw3f_mpi -lfftw3f -lm in single precision, and so on Chris@10: (see Precision). You will also need to link with whatever library Chris@10: is responsible for MPI on your system; in most MPI implementations, Chris@10: there is a special compiler alias named mpicc to compile and Chris@10: link MPI code. Chris@10: Chris@10: Chris@10:

Before calling any FFTW routines except possibly Chris@10: fftw_init_threads (see Combining MPI and Threads), but after calling Chris@10: MPI_Init, you should call the function: Chris@10: Chris@10:

     void fftw_mpi_init(void);
Chris@10: 
Chris@10:

Chris@10: If, at the end of your program, you want to get rid of all memory and Chris@10: other resources allocated internally by FFTW, for both the serial and Chris@10: MPI routines, you can call: Chris@10: Chris@10:

     void fftw_mpi_cleanup(void);
Chris@10: 
Chris@10:

Chris@10: which is much like the fftw_cleanup() function except that it Chris@10: also gets rid of FFTW's MPI-related data. You must not execute Chris@10: any previously created plans after calling this function. Chris@10: Chris@10: Chris@10: Chris@10: