|
|
virtual tMemSize | getMemorySize () const override |
| | return the memory size of the class
|
| |
| virtual tMemSize | getContentsMemorySize () const override |
| | return the memory size of the included associations More...
|
| |
|
const tMPIComm & | getWorld () const |
| | get the world of the environment for reading
|
| |
|
tMPIComm & | getWorld () |
| | get the world of the environment for reading
|
| |
| const tMPICoreId & | getCoresNumber () const |
| | get the number of cores of this environment of common environment More...
|
| |
| const tMPICoreId & | getCoreId () const |
| | get the id of the current process of this environment More...
|
| |
| tMPIError | abort (const tMPIError &errCode) const |
| | abort the process on all cores with the error code More...
|
| |
|
tBoolean | synchronize () const |
| | wait that all the cores has finished her job
|
| |
| tBoolean | isMessageAvaliable (tMPICoreId &source, tMPITag &tag, tMPIBoolean &isAvailable, tMPIStatus &status) const |
| | test if the message is available frm the environment this More...
|
| |
| template<class T > |
| std::shared_ptr< T > | getSharedPointer () |
| | return the shared pointer for this More...
|
| |
| template<class T > |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| | return a const shared pointer for this More...
|
| |
| template<class T > |
| tBoolean | isInstanceOf () const |
| | test if the clas T is an instance of this class More...
|
| |
| tString | getClassName () const |
| | return the name of the class More...
|
| |
| tString | getPointerString () const |
| | retrun the pointer of the class as a string More...
|
| |
| tString | getIdentityString () const |
| | retrun the string identification of the class More...
|
| |
| virtual tString | toString () const |
| | return the string representation of the object node More...
|
| |
|
| static CORE_UniquePointer< MPI_Environment > | New (int argc, char *argv[], const tBoolean &isOpenMPEnabled) |
| | create a test class More...
|
| |
| static CORE_UniquePointer< MPI_Environment > | New (int argc, char *argv[]) |
| | create a test class More...
|
| |
| static void | GetCoresNumber (tMPICoreId &coresNumber) |
| | get the number of cores More...
|
| |
| static void | GetCoresNumber (const MPI_Environment &env, tMPICoreId &coresNumber) |
| | get the number of cores More...
|
| |
| static void | GetCoreId (tMPICoreId &id) |
| | get the id of the current process of common environment More...
|
| |
| static void | GetCoreId (const MPI_Environment &env, tMPICoreId &id) |
| | get the id of the current process of common environment More...
|
| |
| static tReal | GetTime () |
| | get the time More...
|
| |
| static tMPIError | Abort (const MPI_Environment &env, const tMPIError &errCode) |
| | abort the process on all cores of the environment with the eroor code More...
|
| |
| static tMPIError | Abort (const tMPIError &errCode) |
| | abort the process on all cores with the error code More...
|
| |
| static tBoolean | Synchronize (const MPI_Environment &env) |
| | wait that all the core of an environment has finished her job More...
|
| |
|
static tBoolean | Synchronize () |
| | wait that all the cores has finished her job
|
| |
| static tBoolean | Wait (tMPIRequest &request, tMPIStatus &status) |
| | wait the end the the communication by blocking More...
|
| |
| static tBoolean | Wait (tMPIRequest &request) |
| | wait for the request is finished More...
|
| |
| static tBoolean | WaitAll (const tMPICount &nRequests, tMPIRequest requests[], tMPIStatus statuses[]) |
| | wait the end the the communication by blocking More...
|
| |
| static tBoolean | WaitAll (std::valarray< tMPIRequest > &requests) |
| | wait for all the requests are finished More...
|
| |
| template<size_t D> |
| static tBoolean | WaitAll (std::array< tMPIRequest, D > &requests) |
| | wait for all the requests are finished More...
|
| |
| static tBoolean | WaitAll (const tMPICount &nRequests, tMPIRequest *requests) |
| | wait for all the requests are finished More...
|
| |
| static tBoolean | IsFinished (tMPIRequest &request, tMPIInteger &isFinished) |
| | test if the requets is finished More...
|
| |
| static tBoolean | IsAllFinished (std::valarray< tMPIRequest > &requests, tMPIInteger &isFinished) |
| | test if the requets is finished More...
|
| |
| static tBoolean | IsFinished (tMPIRequest &request, tMPIStatus &status, tMPIInteger &isFinished) |
| | return true if the communication is finished More...
|
| |
| static tBoolean | IsMessageAvaliable (const MPI_Environment &env, tMPICoreId &source, tMPITag &tag, tMPIBoolean &isAvailable, tMPIStatus &status) |
| | test if a message is available form any tag and any source More...
|
| |
| static tBoolean | IsMessageAvaliable (const MPI_Environment &env, const tMPITag &tag, const tMPICoreId &source, tMPIBoolean &isAvailable) |
| | test if the message with tag from source is available More...
|
| |
| static tBoolean | IsTagMessageAvaliable (const MPI_Environment &env, const tMPITag &tag, tMPICoreId &source, tMPIBoolean &isAvailable, tMPIStatus &status) |
| | test if the message with tag is avalaible More...
|
| |
| template<typename T > |
| static tBoolean | GetCount (const tMPIStatus &status, tMPICount &nElements) |
| | get the number of element of the message More...
|
| |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| | enable the memory stack More...
|
| |
|
static void | EnableMemoryStack () |
| | enable the memory stack
|
| |
|
static void | DisableMemoryStack () |
| | disable the memory stack
|
| |
|
static tBoolean | IsMemoryStackEnabled () |
| | return trur if the memory stack is enabled
|
| |
| static tString | MemoryStackToString () |
| | get the memory stack in string More...
|
| |
| static tIndex | GetRegisteredClassesNumber () |
| | get the memory stack in string More...
|
| |
This class is a Environment class to define MPI world.
This class contained
- its world id by method getWorld()
- the number of the cores of the environment getCoresNumber()
the id of the current core within the environment getCoreId()
At the beginning of the programm all process has to create a root environment as MPI_Environment::New(int argc,char argv[]): it inits the MPI process by calling MPI_Init(&argc,&argv) and at the end of the programm the environemnt class is deleted and the method MPI_Finalize() is called.
All the cores is defined in this root environment
A program can be stopped by the method MPI_Environment::abort(const tMPIError& err) method.
An environment may be splited in others environment by the method:New(const MPI_Environment& parent,const int& subEnvId,const int& coreId) where subEnvId is the id of the environment where the core is and coreId the new id of the core within the environment defined by subEnvId. Note that to set the core to be the process 0 teh subEnvId must be -1. The new environment call MPI_Comm_split() & MPI_Comm_free() methods.
- Author
- Stephane Despreaux
- Version
- 2.0