![]() |
Home | Libraries | People | FAQ | More |
boost::mpi::all_to_all — Send data from every process to every other process.
template<typename T> void all_to_all(const communicator & comm, const std::vector< T > & in_values, std::vector< T > & out_values); template<typename T> void all_to_all(const communicator & comm, const T * in_values, T * out_values); template<typename T> void all_to_all(const communicator & comm, const std::vector< T > & in_values, int n, std::vector< T > & out_values); template<typename T> void all_to_all(const communicator & comm, const T * in_values, int n, T * out_values);
all_to_all is a collective algorithm that transmits p values from every process to every other process. On process i, jth value of the in_values vector is sent to process j and placed in the ith position of the out_values vector in process j. The type T of the values may be any type that is serializable or has an associated MPI data type. If n is provided, then arrays of n values will be transferred from one process to another.
When the type T has an associated MPI data type, this routine invokes MPI_Alltoall to scatter the values.
Parameters: |
|