|
|
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...
|
| |
| template<typename Q > |
| void | setGridSize (const std::array< Q, N > &Ns) |
| | get the grids number More...
|
| |
|
const std::array< tMPICoreId, N > & | getGridSize () const |
| | get the grids number
|
| |
| template<typename Q > |
| void | setIndices (const std::array< Q, N > &indices) |
| | set the indices of the current core More...
|
| |
|
const std::array< tMPICoreId, N > & | getIndices () const |
| | get the indices of the current core within the grid environment
|
| |
|
const std::array< tBoolean, N > & | getGridPeriodicity () const |
| | return the periodicity of the grid
|
| |
| const tBoolean & | isPeriodic (const tUCInt &k) const |
| | return true if the grid is periodic in direction k More...
|
| |
| template<typename Q > |
| void | setGridPeriodicity (const std::array< Q, N > &Ts) |
| | set grid periodicity More...
|
| |
| virtual void | initialize () |
| | initialize the environment More...
|
| |
| tMPIError | getCoreIdAtIndices (const std::array< tMPICoreId, N > &indices, tMPICoreId &coreId) const |
| | the core id within the grid at indices More...
|
| |
| tMPIError | getCoreIndices (const tMPICoreId &coreId, std::array< tMPICoreId, N > &indices) const |
| | get the indices of the core with coreId 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< SelfClass > | New (const std::array< tMPICoreId, N > &nCoresPerDirection, int &argc, char *argv[], const tBoolean &isOpenMPEnabled) |
| | create a new cart environment More...
|
| |
| static tMPIError | ComputeGridSize (const MPI_Environment &parent, std::array< tMPICoreId, N > &coresNumber) |
| | get the cores number per direction if possible More...
|
| |
| static tMPIError | ComputeGridSize (const tMPICoreId &nAvailableCores, std::array< tMPICoreId, N > &coresNumber) |
| | get the cores number per direction if possible More...
|
| |
| static tBoolean | ComputeGridSize (const std::array< tReal, N > &Hs, const std::array< tInteger, N > &Ns, const tMPICoreId &nCores, std::array< tMPICoreId, N > &Gs) |
| | compute the grid size in order to minimize the ratio S/V where S is the surface of 1 cpu block and V the volume on 1 cpu block 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...
|
| |
template<tUCInt N>
class MPI_GridEnvironment< N >
This class is a grid Environment of templated dimension N=1,2,3.
- Template Parameters
-
| N | : dimension of the grid To create a grid from a pranet environment call MPI_GridEnvironment::New(const MPI_Environment& parent,const std::array<tMPICoreId,N>& nCoresPerDirections,const std::array<tBoolean,N>& isPeriodicPerDirections,const tBoolean& canCoreIdBeChanged) . |
the nCoresPerDirections array can be set to 0 and it can be built by the method GetGridsNumber(parent.getCoresNumber(),nCoresPerDirections).
To get the indices & thge coreId of the current process per direction, call the method getCoreId(std::array<tMPICoreId,N>& indices,tMPICoreId& coreId) :
To get the coordinates of a process within the grid, call the method getIndices(std::array<tMPICoreId,N>& indices
To create an hyperplan of the grid call New(onst MPI_GridEnvironment<N>& parent,const tUCInt& dir) where dir is the normal of the hyperplan
- Author
- Stephane Despreaux
- Version
- 2.0