This header contains MPI collective operations, which implement various parallel algorithms that require the coordination of all processes within a communicator. More...
#include <boost/mpi/communicator.hpp>#include <boost/mpi/inplace.hpp>#include <vector>#include <boost/mpi/collectives/all_gather.hpp>#include <boost/mpi/collectives/all_reduce.hpp>#include <boost/mpi/collectives/all_to_all.hpp>#include <boost/mpi/collectives/broadcast.hpp>#include <boost/mpi/collectives/gather.hpp>#include <boost/mpi/collectives/scatter.hpp>#include <boost/mpi/collectives/reduce.hpp>#include <boost/mpi/collectives/scan.hpp>

Namespaces | |
| boost | |
| Duration formatting facet for input. | |
| boost::mpi | |
Functions | |
| template<typename T > | |
| void | boost::mpi::all_gather (const communicator &comm, const T &in_value, std::vector< T > &out_values) |
| Gather the values stored at every process into vectors of values from each process. More... | |
| template<typename T > | |
| void | boost::mpi::all_gather (const communicator &comm, const T &in_value, T *out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::all_gather (const communicator &comm, const T *in_values, int n, std::vector< T > &out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::all_gather (const communicator &comm, const T *in_values, int n, T *out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::all_reduce (const communicator &comm, const T *value, int n, T *out_value, Op op) |
| Combine the values stored by each process into a single value available to all processes. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::all_reduce (const communicator &comm, const T &value, T &out_value, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| T | boost::mpi::all_reduce (const communicator &comm, const T &value, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::all_reduce (const communicator &comm, inplace_t< T * > value, int n, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::all_reduce (const communicator &comm, inplace_t< T > value, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::all_to_all (const communicator &comm, const std::vector< T > &in_values, std::vector< T > &out_values) |
| Send data from every process to every other process. More... | |
| template<typename T > | |
| void | boost::mpi::all_to_all (const communicator &comm, const T *in_values, T *out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::all_to_all (const communicator &comm, const std::vector< T > &in_values, int n, std::vector< T > &out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::all_to_all (const communicator &comm, const T *in_values, int n, T *out_values) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::broadcast (const communicator &comm, T &value, int root) |
| Broadcast a value from a root process to all other processes. More... | |
| template<typename T > | |
| void | boost::mpi::broadcast (const communicator &comm, T *values, int n, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::broadcast (const communicator &comm, skeleton_proxy< T > &value, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::broadcast (const communicator &comm, const skeleton_proxy< T > &value, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T &in_value, std::vector< T > &out_values, int root) |
| Gather the values stored at every process into a vector at the root process. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T &in_value, T *out_values, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T &in_value, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T *in_values, int n, std::vector< T > &out_values, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T *in_values, int n, T *out_values, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::gather (const communicator &comm, const T *in_values, int n, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, const std::vector< T > &in_values, T &out_value, int root) |
| Scatter the values stored at the root to all processes within the communicator. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, const T *in_values, T &out_value, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, T &out_value, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, const std::vector< T > &in_values, T *out_values, int n, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, const T *in_values, T *out_values, int n, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T > | |
| void | boost::mpi::scatter (const communicator &comm, T *out_values, int n, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::reduce (const communicator &comm, const T &in_value, T &out_value, Op op, int root) |
| Combine the values stored by each process into a single value at the root. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::reduce (const communicator &comm, const T &in_value, Op op, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::reduce (const communicator &comm, const T *in_values, int n, T *out_values, Op op, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::reduce (const communicator &comm, const T *in_values, int n, Op op, int root) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::scan (const communicator &comm, const T &in_value, T &out_value, Op op) |
| Compute a prefix reduction of values from all processes in the communicator. More... | |
| template<typename T , typename Op > | |
| T | boost::mpi::scan (const communicator &comm, const T &in_value, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<typename T , typename Op > | |
| void | boost::mpi::scan (const communicator &comm, const T *in_values, int n, T *out_values, Op op) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
This header contains MPI collective operations, which implement various parallel algorithms that require the coordination of all processes within a communicator.
The header collectives_fwd.hpp provides forward declarations for each of these operations. To include only specific collective algorithms, use the headers boost/mpi/collectives/algorithm_name.hpp.