These require MPI tasks, not the MPI backend. More...
Functions | |
| template<typename T > | |
| std::vector< T > | all_gatherv (const T &t, MPI_Comm comm=MPI_COMM_WORLD) |
| All gather communication pattern implemented using MPI_Allgather. | |
| template<typename R > | |
| auto | all_to_allv (R &&r, MPI_Comm comm=MPI_COMM_WORLD) |
| All-to-All (variable) communication pattern. | |
| template<class R > | |
| auto | one_to_alli (R &&r, std::size_t mem=1<< 20, MPI_Comm comm=MPI_COMM_WORLD) |
| Send data from rank 0 to all others, controlling memory usage. | |
| template<typename R > | |
| auto | one_to_allv (R &&r, MPI_Comm comm=MPI_COMM_WORLD) |
| One-to-All (variable) communication pattern. | |
| int | size (MPI_Comm comm=MPI_COMM_WORLD) |
| Convenience function to get basic MPI communicator information. | |
These require MPI tasks, not the MPI backend.
Contents are in flecsi::util::mpi unless otherwise specified.
| int size | ( | MPI_Comm | comm = MPI_COMM_WORLD | ) |
Convenience function to get basic MPI communicator information.
| auto one_to_allv | ( | R && | r, |
| MPI_Comm | comm = MPI_COMM_WORLD ) |
One-to-All (variable) communication pattern.
This function uses the FleCSI serialization interface to communicate data from the root rank (0) to all other ranks.
| r | range or functor with signature (rank) or (deprecated) (rank, size), read/invoked only on rank 0 and in recipient order |
| comm | An MPI communicator. |
| auto one_to_alli | ( | R && | r, |
| std::size_t | mem = 1 << 20, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Send data from rank 0 to all others, controlling memory usage.
No messages are constructed while data in transit exceeds mem (transmission occurs, at least serially, even if it is 0).
| r | range or functor with signature (rank) or (deprecated) (rank, size), read/invoked only on rank 0 and in recipient order |
| mem | bytes of memory to use before waiting |
| auto all_to_allv | ( | R && | r, |
| MPI_Comm | comm = MPI_COMM_WORLD ) |
All-to-All (variable) communication pattern.
This function uses the FleCSI serialization interface with a packing callable object to communicate data from all ranks to all other ranks.
| r | range or functor with signature (rank) or (deprecated) (rank, size), read/invoked in recipient order |
| comm | An MPI communicator. |
std::vector of the values for the current rank from each rank's r | std::vector< T > all_gatherv | ( | const T & | t, |
| MPI_Comm | comm = MPI_COMM_WORLD ) |
All gather communication pattern implemented using MPI_Allgather.
This function is convenient for passing more complicated types. Otherwise, it may make more sense to use MPI_Allgather directly.
This function uses the FleCSI serialization interface to copy data from all ranks to all other ranks.
| T | serializable data type |
| t | object to send |
| comm | An MPI communicator. |