|
Grid 0.7.0
|
#include <SharedMemory.h>
Public Member Functions | |
| SharedMemory () | |
| ~SharedMemory () | |
| void | SetCommunicator (Grid_MPI_Comm comm) |
| void | ShmBarrier (void) |
| void | SharedMemoryTest (void) |
| void * | ShmBufferSelf (void) |
| void * | ShmBuffer (int rank) |
| void * | ShmBufferTranslate (int rank, void *local_p) |
| void * | ShmBufferMalloc (size_t bytes) |
| void | ShmBufferFreeAll (void) |
| int | NodeCount (void) |
| int | RankCount (void) |
Protected Attributes | |
| Grid_MPI_Comm | ShmComm |
| int | ShmRank |
| int | ShmSize |
| std::vector< void * > | ShmCommBufs |
| std::vector< int > | ShmRanks |
Private Attributes | |
| size_t | heap_top |
| size_t | heap_bytes |
| size_t | heap_size |
Static Private Attributes | |
| static const int | MAXLOG2RANKSPERNODE |
Definition at line 148 of file SharedMemory.h.
|
inline |
Definition at line 173 of file SharedMemory.h.
| SharedMemory::~SharedMemory | ( | ) |
Definition at line 1020 of file SharedMemoryMPI.cc.
References ShmComm.
| void SharedMemory::SetCommunicator | ( | Grid_MPI_Comm | comm | ) |
Definition at line 899 of file SharedMemoryMPI.cc.
References heap_size, GlobalSharedMemory::ShmAlloc(), GlobalSharedMemory::ShmAllocBytes(), ShmBufferFreeAll(), ShmComm, ShmCommBufs, ShmRank, ShmRanks, ShmSize, GlobalSharedMemory::WorldShmCommBufs, and GlobalSharedMemory::WorldShmRank.
Referenced by CartesianCommunicator::CartesianCommunicator(), and CartesianCommunicator::CartesianCommunicator().
| void SharedMemory::ShmBarrier | ( | void | ) |
Definition at line 966 of file SharedMemoryMPI.cc.
References ShmComm.
Referenced by SharedMemoryTest().
| void SharedMemory::SharedMemoryTest | ( | void | ) |
Definition at line 973 of file SharedMemoryMPI.cc.
References acceleratorCopyFromDevice(), acceleratorCopyToDevice(), GridLogDebug, ShmBarrier(), ShmCommBufs, ShmRank, ShmSize, and GlobalSharedMemory::WorldNode.
| void * SharedMemory::ShmBufferSelf | ( | void | ) |
Definition at line 112 of file SharedMemory.cc.
References ShmCommBufs, and ShmRank.
Referenced by ShmBufferFreeAll().
| void * SharedMemory::ShmBuffer | ( | int | rank | ) |
Definition at line 997 of file SharedMemoryMPI.cc.
References ShmCommBufs, and ShmRanks.
| void * SharedMemory::ShmBufferTranslate | ( | int | rank, |
| void * | local_p ) |
Definition at line 1006 of file SharedMemoryMPI.cc.
References ShmCommBufs, ShmRank, and ShmRanks.
Referenced by CartesianCommunicator::StencilSendToRecvFromBegin().
| void * SharedMemory::ShmBufferMalloc | ( | size_t | bytes | ) |
Definition at line 92 of file SharedMemory.cc.
References heap_bytes, heap_size, and heap_top.
| void SharedMemory::ShmBufferFreeAll | ( | void | ) |
Definition at line 108 of file SharedMemory.cc.
References heap_bytes, heap_top, and ShmBufferSelf().
Referenced by SetCommunicator().
|
inline |
Definition at line 202 of file SharedMemory.h.
References GlobalSharedMemory::WorldNodes.
|
inline |
Definition at line 203 of file SharedMemory.h.
References GlobalSharedMemory::WorldSize.
|
staticprivate |
Definition at line 151 of file SharedMemory.h.
|
private |
Definition at line 153 of file SharedMemory.h.
Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().
|
private |
Definition at line 154 of file SharedMemory.h.
Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().
|
private |
Definition at line 155 of file SharedMemory.h.
Referenced by SetCommunicator(), and ShmBufferMalloc().
|
protected |
Definition at line 166 of file SharedMemory.h.
Referenced by SetCommunicator(), ShmBarrier(), CartesianCommunicator::StencilBarrier(), and ~SharedMemory().
|
protected |
Definition at line 167 of file SharedMemory.h.
Referenced by SetCommunicator(), SharedMemoryTest(), ShmBufferSelf(), ShmBufferTranslate(), and CartesianCommunicator::StencilSendToRecvFromBegin().
|
protected |
Definition at line 168 of file SharedMemory.h.
Referenced by SetCommunicator(), and SharedMemoryTest().
|
protected |
Definition at line 169 of file SharedMemory.h.
Referenced by SetCommunicator(), SharedMemoryTest(), ShmBuffer(), ShmBufferSelf(), and ShmBufferTranslate().
|
protected |
Definition at line 170 of file SharedMemory.h.
Referenced by CartesianCommunicator::IsOffNode(), SetCommunicator(), ShmBuffer(), ShmBufferTranslate(), and CartesianCommunicator::StencilSendToRecvFromBegin().