cuFFTMp can be used with MPI. This is enabled using a
bootstrap library (
nvshmem_bootstrap_mpi.so). The provided
library is designed to support the version of HPC-X included
with the HPC SDK.
However, another bootstrap library can be built to enable the user to use its own MPI implementation. More information on building a custom bootstrap can be found in the NVSHMEM documentation. Note that this does not require building NVSHMEM.
A Makefile is located in the
folder to help with creating a custom bootstrap library.
MPICC=mpicc make mpi_bootstrap where
your MPI C (not C++) wrapper will automatically download
NVSHMEM and build the bootstrap. Placing the resulting
LD_LIBRARY_PATH is all
that is then needed to use cuFFTMp with a custom MPI