cannam@95: cannam@95:
cannam@95:cannam@95: Next: FFTW MPI Performance Tips, cannam@95: Previous: FFTW MPI Wisdom, cannam@95: Up: Distributed-memory FFTW with MPI cannam@95:
cannam@95: An MPI program can deadlock if one process is waiting for a
cannam@95: message from another process that never gets sent.  To avoid deadlocks
cannam@95: when using FFTW's MPI routines, it is important to know which
cannam@95: functions are collective: that is, which functions must
cannam@95: always be called in the same order from every
cannam@95: process in a given communicator.  (For example, MPI_Barrier is
cannam@95: the canonical example of a collective function in the MPI standard.) 
cannam@95: 
cannam@95: 
cannam@95:    
The functions in FFTW that are always collective are: every
cannam@95: function beginning with ‘fftw_mpi_plan’, as well as
cannam@95: fftw_mpi_broadcast_wisdom and fftw_mpi_gather_wisdom. 
cannam@95: Also, the following functions from the ordinary FFTW interface are
cannam@95: collective when they are applied to a plan created by an
cannam@95: ‘fftw_mpi_plan’ function: fftw_execute,
cannam@95: fftw_destroy_plan, and fftw_flops. 
cannam@95: 
cannam@95: 
cannam@95: 
cannam@95:    
cannam@95: