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.