-
Notifications
You must be signed in to change notification settings - Fork 12
MpiCommunicator
Wraps the handle type MPI_Comm
Constructors
|| MpiCommunicator() || an uninitialised communicator that is equivalent to MPI_COMM_NULL
||
|| MpiCommunicator(MPI_Comm communicator, bool willOwn); || Private: Wrap the supplied MPI_Comm. Flag indicates whether the instance is responsible for deleting the communicator when it is destructed ||
|| MpiCommunicator::World() || A communicator equivalent to MPI_COMM_WORLD
||
Instance methods:
|| Name || MPI routine equivalent || Notes||
|| Rank || MPI_Comm_rank || ||
|| Size || MPI_Comm_size || ||
|| Group || MPI_Comm_group || ||
|| Create || MPI_Comm_create || Accepts only an MpiGroup
instance not MPI_Group
||
|| Abort || MPI_Abort || ||
|| operator== || MPI_Comm_compare || returns true if the communicators are identical ||
|| operator MPI_Comm() || n/a || Cast to MPI_Comm
- i.e. get the underlying MPI object, so you can use the object in function calls where an MPI_Comm
is expected ||
|| Duplicate || MPI_Comm_dup || ||
Methods templates on the datatype
|| Name || MPI routine equivalent || Notes||
|| Broadcast || MPI_Bcast || ||
|| AllReduce || MPI_Allreduce || ||
|| Reduce || MPI_Reduce || ||
|| Gather || MPI_Allgather || ||
These have single and std::vector
overloads that work with either just one object or a vector of them.