Grid 0.7.0
SharedMemory Class Reference

#include <SharedMemory.h>

Inheritance diagram for SharedMemory:
CartesianCommunicator GridBase GridCartesian GridRedBlackCartesian

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

Detailed Description

Definition at line 148 of file SharedMemory.h.

Constructor & Destructor Documentation

◆ SharedMemory()

SharedMemory::SharedMemory ( )
inline

Definition at line 173 of file SharedMemory.h.

◆ ~SharedMemory()

SharedMemory::~SharedMemory ( )

Definition at line 1020 of file SharedMemoryMPI.cc.

References ShmComm.

Member Function Documentation

◆ SetCommunicator()

◆ ShmBarrier()

void SharedMemory::ShmBarrier ( void )

Definition at line 966 of file SharedMemoryMPI.cc.

References ShmComm.

Referenced by SharedMemoryTest().

◆ SharedMemoryTest()

void SharedMemory::SharedMemoryTest ( void )

◆ ShmBufferSelf()

void * SharedMemory::ShmBufferSelf ( void )

Definition at line 112 of file SharedMemory.cc.

References ShmCommBufs, and ShmRank.

Referenced by ShmBufferFreeAll().

◆ ShmBuffer()

void * SharedMemory::ShmBuffer ( int rank)

Definition at line 997 of file SharedMemoryMPI.cc.

References ShmCommBufs, and ShmRanks.

◆ ShmBufferTranslate()

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().

◆ ShmBufferMalloc()

void * SharedMemory::ShmBufferMalloc ( size_t bytes)

Definition at line 92 of file SharedMemory.cc.

References heap_bytes, heap_size, and heap_top.

◆ ShmBufferFreeAll()

void SharedMemory::ShmBufferFreeAll ( void )

Definition at line 108 of file SharedMemory.cc.

References heap_bytes, heap_top, and ShmBufferSelf().

Referenced by SetCommunicator().

◆ NodeCount()

int SharedMemory::NodeCount ( void )
inline

Definition at line 202 of file SharedMemory.h.

References GlobalSharedMemory::WorldNodes.

◆ RankCount()

int SharedMemory::RankCount ( void )
inline

Definition at line 203 of file SharedMemory.h.

References GlobalSharedMemory::WorldSize.

Field Documentation

◆ MAXLOG2RANKSPERNODE

const int SharedMemory::MAXLOG2RANKSPERNODE
staticprivate

Definition at line 151 of file SharedMemory.h.

◆ heap_top

size_t SharedMemory::heap_top
private

Definition at line 153 of file SharedMemory.h.

Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().

◆ heap_bytes

size_t SharedMemory::heap_bytes
private

Definition at line 154 of file SharedMemory.h.

Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().

◆ heap_size

size_t SharedMemory::heap_size
private

Definition at line 155 of file SharedMemory.h.

Referenced by SetCommunicator(), and ShmBufferMalloc().

◆ ShmComm

Grid_MPI_Comm SharedMemory::ShmComm
protected

◆ ShmRank

int SharedMemory::ShmRank
protected

◆ ShmSize

int SharedMemory::ShmSize
protected

Definition at line 168 of file SharedMemory.h.

Referenced by SetCommunicator(), and SharedMemoryTest().

◆ ShmCommBufs

std::vector<void *> SharedMemory::ShmCommBufs
protected

◆ ShmRanks

std::vector<int> SharedMemory::ShmRanks
protected

The documentation for this class was generated from the following files: