Inherits noncopyable.
|
| | Comm (int argc, char **args) |
| | public constructor More...
|
| |
| | ~Comm () |
| | destructor More...
|
| |
| Communicator | communicator () |
| |
| std::string | version () const |
| | Returns the MPI version. More...
|
| |
| void | init (int argc=0, char **args=0) |
| |
| void | finalize () |
| |
| bool | is_initialized () const |
| | Checks if the PE is initialized ( this is not the opposite of is_finalized ) More...
|
| |
| bool | is_finalized () const |
| | Checks if the PE is finalized ( this is not the opposite of is_init ) More...
|
| |
| bool | is_active () const |
| |
| void | barrier () |
| | overload the barrier function More...
|
| |
| void | barrier (Communicator comm) |
| |
| Uint | rank () const |
| | Return rank, additionally, if is_init==0. More...
|
| |
| Uint | size () const |
| | Return the number of processes, or 1 if is_init==0. More...
|
| |
| void | change_status (WorkerStatus::Type status) |
| |
| WorkerStatus::Type | status () |
| |
| Communicator | spawn (int count, const char *command, char **args=nullptr, const char *hosts=nullptr) |
| |
| Communicator | get_parent () const |
| | Gets the parent COMM_WORLD of the process. More...
|
| |
|
| template<typename T > |
| T * | all_to_all (const T *in_values, const int in_n, T *out_values, const int stride=1) |
| |
| template<typename T > |
| void | all_to_all (const std::vector< T > &in_values, std::vector< T > &out_values, const int stride=1) |
| |
| template<typename T > |
| T * | all_to_all (const T *in_values, const int *in_n, T *out_values, int *out_n, const int stride=1) |
| |
| template<typename T > |
| T * | all_to_all (const T *in_values, const int *in_n, const int *in_map, T *out_values, int *out_n, const int *out_map, const int stride=1) |
| |
| template<typename T > |
| void | all_to_all (const std::vector< T > &in_values, const std::vector< int > &in_n, std::vector< T > &out_values, std::vector< int > &out_n, const int stride=1) |
| |
| template<typename T > |
| void | all_to_all (const std::vector< T > &in_values, const std::vector< int > &in_n, const std::vector< int > &in_map, std::vector< T > &out_values, std::vector< int > &out_n, const std::vector< int > &out_map, const int stride=1) |
| |
| template<typename T > |
| void | all_to_all (const std::vector< std::vector< T > > &send, std::vector< std::vector< T > > &recv) |
| |
|
| template<typename T > |
| T * | gather (const T *in_values, const int in_n, T *out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| void | gather (const std::vector< T > &in_values, std::vector< T > &out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| T * | gather (const T *in_values, const int in_n, T *out_values, int *out_n, const int root, const int stride=1) |
| |
| template<typename T > |
| T * | gather (const T *in_values, const int in_n, const int *in_map, T *out_values, int *out_n, const int *out_map, const int root, const int stride=1) |
| |
| template<typename T > |
| void | gather (const std::vector< T > &in_values, const int in_n, std::vector< T > &out_values, std::vector< int > &out_n, const int root, const int stride=1) |
| |
| template<typename T > |
| void | gather (const std::vector< T > &in_values, const int in_n, const std::vector< int > &in_map, std::vector< T > &out_values, std::vector< int > &out_n, const std::vector< int > &out_map, const int root, const int stride=1) |
| |
|
| template<typename T > |
| T * | all_gather (const T *in_values, const int in_n, T *out_values, const int stride=1) |
| |
| template<typename T > |
| void | all_gather (const std::vector< T > &in_values, std::vector< T > &out_values, const int stride=1) |
| |
| template<typename T > |
| void | all_gather (const T &in_value, std::vector< T > &out_values) |
| |
| template<typename T > |
| T * | all_gather (const T *in_values, const int in_n, T *out_values, int *out_n, const int stride=1) |
| |
| template<typename T > |
| T * | all_gather (const T *in_values, const int in_n, const int *in_map, T *out_values, int *out_n, const int *out_map, const int stride=1) |
| |
| template<typename T > |
| void | all_gather (const std::vector< T > &in_values, const int in_n, std::vector< T > &out_values, std::vector< int > &out_n, const int stride=1) |
| |
| template<typename T > |
| void | all_gather (const std::vector< T > &in_values, const int in_n, const std::vector< int > &in_map, std::vector< T > &out_values, std::vector< int > &out_n, const std::vector< int > &out_map, const int stride=1) |
| |
| template<typename T > |
| void | all_gather (const std::vector< T > &send, std::vector< std::vector< T > > &recv) |
| |
|
| template<typename T > |
| T * | scatter (const T *in_values, const int in_n, T *out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| void | scatter (const std::vector< T > &in_values, std::vector< T > &out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| T * | scatter (const T *in_values, const int *in_n, T *out_values, int &out_n, const int root, const int stride=1) |
| |
| template<typename T > |
| T * | scatter (const T *in_values, const int *in_n, const int *in_map, T *out_values, int &out_n, const int *out_map, const int root, const int stride=1) |
| |
| template<typename T > |
| void | scatter (const std::vector< T > &in_values, const std::vector< int > &in_n, std::vector< T > &out_values, int &out_n, const int root, const int stride=1) |
| |
| template<typename T > |
| void | scatter (const std::vector< T > &in_values, const std::vector< int > &in_n, const std::vector< int > &in_map, std::vector< T > &out_values, int &out_n, const std::vector< int > &out_map, const int root, const int stride=1) |
| |
|
| template<typename T , typename Op > |
| T * | reduce (const Op &op, const T *in_values, const int in_n, T *out_values, const int root, const int stride=1) |
| |
| template<typename T , typename Op > |
| void | reduce (const Op &op, const std::vector< T > &in_values, std::vector< T > &out_values, const int root, const int stride=1) |
| |
| template<typename T , typename Op > |
| T * | reduce (const Op &op, const T *in_values, const int in_n, const int *in_map, T *out_values, const int *out_map, const int root, const int stride=1) |
| |
| template<typename T , typename Op > |
| void | reduce (const Op &op, const std::vector< T > &in_values, const std::vector< int > &in_map, std::vector< T > &out_values, const std::vector< int > &out_map, const int root, const int stride=1) |
| |
|
| template<typename T , typename Op > |
| T * | all_reduce (const Op &op, const T *in_values, const int in_n, T *out_values, const int stride=1) |
| |
| template<typename T , typename Op > |
| void | all_reduce (const Op &op, const std::vector< T > &in_values, std::vector< T > &out_values, const int stride=1) |
| |
| template<typename T , typename Op > |
| T * | all_reduce (const Op &op, const T *in_values, const int in_n, const int *in_map, T *out_values, const int *out_map, const int stride=1) |
| |
| template<typename T , typename Op > |
| void | all_reduce (const Op &op, const std::vector< T > &in_values, const std::vector< int > &in_map, std::vector< T > &out_values, const std::vector< int > &out_map, const int stride=1) |
| |
|
| template<typename T > |
| T * | broadcast (const T *in_values, const int in_n, T *out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| void | broadcast (const std::vector< T > &in_values, std::vector< T > &out_values, const int root, const int stride=1) |
| |
| template<typename T > |
| T * | broadcast (const T *in_values, const int in_n, const int *in_map, T *out_values, const int *out_map, const int root, const int stride=1) |
| |
| template<typename T > |
| void | broadcast (const std::vector< T > &in_values, const std::vector< int > &in_map, std::vector< T > &out_values, const std::vector< int > &out_map, const int root, const int stride=1) |
| |
Base class for the PE Communication with MPI always occurs over a communicator This communicator can then be queried to determine how many processes are running (the "size" of the communicator) and to give a unique number to each process, from zero to the size of the communicator-1 (i.e., the "rank" of the process)
Definition at line 51 of file Comm.hpp.