#include <DistrProcManager.h>
Inheritance diagram for DistrProcManager::

Public Methods | |
| DistrProcManager () | |
| ~DistrProcManager () | |
| virtual void | init (int &argc, char **&argv) |
| virtual void | finish () |
| virtual int | getNoProcs () |
| virtual int | getMyId () |
| void | setMyId (int new_id) |
| virtual bool | isParallel () const |
| int | getSendCount () |
| int | getRecvCount () |
| bool | master () const |
| bool | slave () const |
| void | startIteratorOverSlaves () |
| void | startIteratorOverSlaves (int &start_slave, int &stop_slave) |
| bool | nextSlave (int &i) |
| virtual void | broadcast (real &r, int root=0) |
| virtual void | broadcast (int &i, int root=0) |
| virtual void | broadcast (String &s, int root=0) |
| virtual void | broadcast (char *c, int size, int root=0) |
| virtual void | broadcast (String *s, int root=0) |
| virtual void | broadcast (VecSimple(int) &vec, int root=0) |
| virtual void | broadcast (VecSimple(real) &vec, int root=0) |
| virtual void | send (real &r, int to=0, int tag=0) |
| virtual void | recv (real &r, int from, int tag) |
| virtual void | send (int &i, int to=0, int tag=0) |
| virtual void | recv (int &i, int from, int tag) |
| virtual void | send (char &c, int to=0, int tag=0) |
| virtual void | recv (char &c, int from, int tag) |
| virtual void | send (VecSimple(real) &vec, int to, int tag) |
| virtual void | recv (VecSimple(real) &vec, int from, int tag) |
| virtual void | send (VecSimple(int) &vec, int to, int tag) |
| virtual void | recv (VecSimple(int) &vec, int from, int tag) |
| virtual void | send (VecSimple(char) &vec, int to, int tag) |
| virtual void | recv (VecSimple(char) &vec, int from, int tag) |
| virtual void | startSend (real &r, int to=0, int tag=0) |
| virtual void | startRecv (real &r, int from, int tag) |
| virtual void | startSend (int &i, int to=0, int tag=0) |
| virtual void | startRecv (int &i, int from, int tag) |
| virtual void | startSend (char &c, int to=0, int tag=0) |
| virtual void | startRecv (char &c, int from, int tag) |
| virtual void | startSend (VecSimple(real) &vec, int to=0, int tag=0) |
| virtual void | startRecv (VecSimple(real) &vec, int from, int tag) |
| virtual void | startSend (VecSimple(int) &vec, int to=0, int tag=0) |
| virtual void | startRecv (VecSimple(int) &vec, int from, int tag) |
| virtual void | startSend (VecSimple(char) &vec, int to=0, int tag=0) |
| virtual void | startRecv (VecSimple(char) &vec, int from, int tag) |
| virtual void | finishSend () |
| virtual void | finishRecv () |
| virtual void | redimReqVec (int i) |
| virtual void | initRepSend (real &r, int to=0, int tag=0) |
| virtual void | initRepRecv (real &r, int from, int tag) |
| virtual void | initRepSend (int &i, int to=0, int tag=0) |
| virtual void | initRepRecv (int &i, int from, int tag) |
| virtual void | initRepSend (VecSimple(real) &vec, int to=0, int tag=0) |
| virtual void | initRepRecv (VecSimple(real) &vec, int from, int tag) |
| virtual void | initRepSend (VecSimple(int) &vec, int to=0, int tag=0) |
| virtual void | initRepRecv (VecSimple(int) &vec, int from, int tag) |
| virtual void | startRepSend () |
| virtual void | startRepRecv () |
| virtual void | completeRepSend () |
| virtual void | completeRepRecv () |
| virtual void | freeRepSend () |
| virtual void | freeRepRecv () |
| virtual void | reduce (real &r_loc, real &r_glob, CommOperation op, int root=0) |
| virtual void | reduce (int &i_loc, int &i_glob, CommOperation op, int root=0) |
| virtual void | reduce (VecSimple(real) &r_loc, VecSimple(real) &r_glob, int length, CommOperation op, int root=0) |
| virtual void | reduce (VecSimple(int) &i_loc, VecSimple(int) &i_glob, int length, CommOperation op, int root=0) |
| virtual void | allReduce (real &r_loc, real &r_glob, CommOperation op) |
| virtual void | allReduce (int &i_loc, int &i_glob, CommOperation op) |
| virtual void | allReduce (VecSimple(real) &r_loc, VecSimple(real) &r_glob, int length, CommOperation op) |
| virtual void | allReduce (VecSimple(int) &i_loc, VecSimple(int) &i_glob, int length, CommOperation op) |
| virtual void | synchronize () |
| virtual real | getTime () |
| virtual void | probe (int source, int tag) |
| virtual int | getStatusSource () |
| virtual int | getStatusTag () |
| virtual int | getStatusError () |
| virtual int | getStatusSize () |
| virtual int | getCommConstant (CommConstant const_name) |
Protected Attributes | |
| int | my_id |
| int | num_procs |
| int | slaves_iter |
| int | loop_length |
| int | start_slave |
| int | stop_slave |
| int | send_reqs_counter |
| int | recv_reqs_counter |
NAME: DistrProcManager - dummy base class for managers of distributed processes
DESCRIPTION:
The class is a dummy implementation for basic common functionality for management of distributed processes and parallel programming in a parallel Diffpack environment. The interface allows for usage of different communication languages. The actual implementation of the functionality is in the parallel toolbox to Diffpack, see for instance class "DistrProcManagerMPI".
|
|
|
|
|
|
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
return the identification number of a process. Reimplemented in DistrProcManagerMPI. |
|
|
return the total number of processes. Reimplemented in DistrProcManagerMPI. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
returns a real number of seconds since some arbitrary point of time in the past. The point is guaranteed not to change during the lifetime of a process. Thus, a time interval can be measured by calling this routine at the beginning and end of a program segment and subtracting the values returned. Before the time is measured, the processes are synchronized. Reimplemented in DistrProcManagerMPI. |
|
|
initiation for use of MPI commands Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
returns true if the rank of the calling process equals zero. |
|
|
iterates one step to the next slave process. See startIteratorOverSlaves for more information. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
set or change the identification number of a process. |
|
|
returns true if the rank of the calling process is different from zero. |
|
|
See documentation of one of the overloaded functions. |
|
|
The "startIteratorOverSlaves" and "nextSlave" functions enables the programmer to run through all slave processes in the group or through only a subset of the slave processes. To initialize the iteration over slaves, call "startIteratorOverSlaves". Without arguments, "startIteratorOverSlaves" initializes the iteration over all slave processes in the group. In an overloaded version indices for the starting and stopping slave in the group can be given. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
Reimplemented in DistrProcManagerMPI. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|