Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: FFTW 3.3.8: FFTW MPI Installation Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: Chris@82:
Chris@82:

Chris@82: Next: , Previous: , Up: Distributed-memory FFTW with MPI   [Contents][Index]

Chris@82:
Chris@82:
Chris@82: Chris@82:

6.1 FFTW MPI Installation

Chris@82: Chris@82:

All of the FFTW MPI code is located in the mpi subdirectory of Chris@82: the FFTW package. On Unix systems, the FFTW MPI libraries and header Chris@82: files are automatically configured, compiled, and installed along with Chris@82: the uniprocessor FFTW libraries simply by including Chris@82: --enable-mpi in the flags to the configure script Chris@82: (see Installation on Unix). Chris@82: Chris@82:

Chris@82: Chris@82:

Any implementation of the MPI standard, version 1 or later, should Chris@82: work with FFTW. The configure script will attempt to Chris@82: automatically detect how to compile and link code using your MPI Chris@82: implementation. In some cases, especially if you have multiple Chris@82: different MPI implementations installed or have an unusual MPI Chris@82: software package, you may need to provide this information explicitly. Chris@82:

Chris@82:

Most commonly, one compiles MPI code by invoking a special compiler Chris@82: command, typically mpicc for C code. The configure Chris@82: script knows the most common names for this command, but you can Chris@82: specify the MPI compilation command explicitly by setting the Chris@82: MPICC variable, as in ‘./configure MPICC=mpicc ...’. Chris@82: Chris@82:

Chris@82: Chris@82:

If, instead of a special compiler command, you need to link a certain Chris@82: library, you can specify the link command via the MPILIBS Chris@82: variable, as in ‘./configure MPILIBS=-lmpi ...’. Note that if Chris@82: your MPI library is installed in a non-standard location (one the Chris@82: compiler does not know about by default), you may also have to specify Chris@82: the location of the library and header files via LDFLAGS and Chris@82: CPPFLAGS variables, respectively, as in ‘./configure Chris@82: LDFLAGS=-L/path/to/mpi/libs CPPFLAGS=-I/path/to/mpi/include ...’. Chris@82:

Chris@82: Chris@82: Chris@82: Chris@82: Chris@82: