Highly Efficient FFT for Exascale: HeFFTe v2.3
heffte::mpi Namespace Reference

Wrappers to miscellaneous MPI methods giving a more C++-ish interface. More...

Functions

template<typename index >
ioboxes< index > gather_boxes (box3d< index > const my_inbox, box3d< index > const my_outbox, MPI_Comm const comm)
 Gather all boxes across all ranks in the comm. More...
 
int comm_rank (MPI_Comm const comm)
 Returns the rank of this process within the specified comm. More...
 
bool world_rank (int rank)
 Returns true if this process has the me rank within the MPI_COMM_WORLD (useful for debugging). More...
 
int world_rank ()
 Returns the rank of this process within the MPI_COMM_WORLD (useful for debugging). More...
 
template<typename vector_like >
void dump (int me, vector_like const &x, std::string const &message)
 Write the message and the data from the vector-like x, performed only on rank me (if positive), otherwise using all ranks. More...
 
int comm_size (MPI_Comm const comm)
 Returns the size of the specified communicator. More...
 
MPI_Comm new_comm_from_group (std::vector< int > const &ranks, MPI_Comm const comm)
 Creates a new sub-communicator from the provided processes in comm. More...
 
void comm_free (MPI_Comm const comm)
 Calls free on the MPI comm. More...
 
template<typename scalar >
MPI_Datatype type_from ()
 Returns the MPI equivalent of the scalar C++ type. More...
 
template<>
MPI_Datatype type_from< int > ()
 Specialization to hand the int type.
 
template<>
MPI_Datatype type_from< float > ()
 Specialization to hand the float type.
 
template<>
MPI_Datatype type_from< double > ()
 Specialization to hand the double type.
 
template<>
MPI_Datatype type_from< std::complex< float > > ()
 Specialization to hand the single-precision complex type.
 
template<>
MPI_Datatype type_from< std::complex< double > > ()
 Specialization to hand the double-precision complex type.
 

Detailed Description

Wrappers to miscellaneous MPI methods giving a more C++-ish interface.