Highly Efficient FFT for Exascale: HeFFTe v2.3
|
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. | |
Wrappers to miscellaneous MPI methods giving a more C++-ish interface.