Grid 0.7.0
GlobalSharedMemory Class Reference

#include <SharedMemory.h>

Static Public Member Functions

static int ShmSetup (void)
static int ShmAlloc (void)
static uint64_t ShmAllocBytes (void)
static void Init (Grid_MPI_Comm comm)
static void OptimalCommunicator (const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
static void OptimalCommunicatorHypercube (const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
static void OptimalCommunicatorSharedMemory (const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
static void GetShmDims (const Coordinate &WorldDims, Coordinate &ShmDims)
static void SharedMemoryAllocate (uint64_t bytes, int flags)
static void SharedMemoryFree (void)
static void SharedMemoryZero (void *dest, size_t bytes)

Static Public Attributes

static int HPEhypercube
static uint64_t MAX_MPI_SHM_BYTES
static int Hugepages
static std::vector< void * > WorldShmCommBufs
static Grid_MPI_Comm WorldComm
static int WorldRank
static int WorldSize
static Grid_MPI_Comm WorldShmComm
static int WorldShmRank
static int WorldShmSize
static int WorldNodes
static int WorldNode
static std::vector< int > WorldShmRanks

Static Private Attributes

static const int MAXLOG2RANKSPERNODE
static int _ShmSetup
static int _ShmAlloc
static uint64_t _ShmAllocBytes

Detailed Description

Definition at line 87 of file SharedMemory.h.

Member Function Documentation

◆ ShmSetup()

int GlobalSharedMemory::ShmSetup ( void )
inlinestatic

Definition at line 103 of file SharedMemory.h.

References _ShmSetup.

◆ ShmAlloc()

int GlobalSharedMemory::ShmAlloc ( void )
inlinestatic

Definition at line 104 of file SharedMemory.h.

References _ShmAlloc.

Referenced by SharedMemory::SetCommunicator().

◆ ShmAllocBytes()

uint64_t GlobalSharedMemory::ShmAllocBytes ( void )
inlinestatic

Definition at line 105 of file SharedMemory.h.

References _ShmAllocBytes.

Referenced by SharedMemory::SetCommunicator().

◆ Init()

void GlobalSharedMemory::Init ( Grid_MPI_Comm comm)
static

◆ OptimalCommunicator()

void GlobalSharedMemory::OptimalCommunicator ( const Coordinate & processors,
Grid_MPI_Comm & optimal_comm,
Coordinate & ShmDims )
static

◆ OptimalCommunicatorHypercube()

void GlobalSharedMemory::OptimalCommunicatorHypercube ( const Coordinate & processors,
Grid_MPI_Comm & optimal_comm,
Coordinate & ShmDims )
static

◆ OptimalCommunicatorSharedMemory()

void GlobalSharedMemory::OptimalCommunicatorSharedMemory ( const Coordinate & processors,
Grid_MPI_Comm & optimal_comm,
Coordinate & ShmDims )
static

◆ GetShmDims()

void GlobalSharedMemory::GetShmDims ( const Coordinate & WorldDims,
Coordinate & ShmDims )
static

◆ SharedMemoryAllocate()

void GlobalSharedMemory::SharedMemoryAllocate ( uint64_t bytes,
int flags )
static

◆ SharedMemoryFree()

void GlobalSharedMemory::SharedMemoryFree ( void )
static

Definition at line 59 of file SharedMemory.cc.

References _ShmAlloc, _ShmAllocBytes, WorldShmCommBufs, and WorldShmSize.

◆ SharedMemoryZero()

void GlobalSharedMemory::SharedMemoryZero ( void * dest,
size_t bytes )
static

Definition at line 879 of file SharedMemoryMPI.cc.

References acceleratorMemSet().

Field Documentation

◆ MAXLOG2RANKSPERNODE

const int GlobalSharedMemory::MAXLOG2RANKSPERNODE
staticprivate

Definition at line 89 of file SharedMemory.h.

Referenced by OptimalCommunicatorHypercube().

◆ _ShmSetup

int GlobalSharedMemory::_ShmSetup
staticprivate

Definition at line 93 of file SharedMemory.h.

Referenced by Init(), NAMESPACE_BEGIN(), SharedMemoryAllocate(), and ShmSetup().

◆ _ShmAlloc

int GlobalSharedMemory::_ShmAlloc
staticprivate

Definition at line 94 of file SharedMemory.h.

Referenced by NAMESPACE_BEGIN(), SharedMemoryAllocate(), SharedMemoryFree(), and ShmAlloc().

◆ _ShmAllocBytes

uint64_t GlobalSharedMemory::_ShmAllocBytes
staticprivate

◆ HPEhypercube

int GlobalSharedMemory::HPEhypercube
static

Definition at line 101 of file SharedMemory.h.

Referenced by Grid_init(), NAMESPACE_BEGIN(), and OptimalCommunicator().

◆ MAX_MPI_SHM_BYTES

uint64_t GlobalSharedMemory::MAX_MPI_SHM_BYTES
static

Definition at line 106 of file SharedMemory.h.

Referenced by Grid_init(), CartesianCommunicator::Init(), and NAMESPACE_BEGIN().

◆ Hugepages

int GlobalSharedMemory::Hugepages
static

Definition at line 107 of file SharedMemory.h.

Referenced by Grid_init(), CartesianCommunicator::Init(), and NAMESPACE_BEGIN().

◆ WorldShmCommBufs

std::vector< void * > GlobalSharedMemory::WorldShmCommBufs
static

◆ WorldComm

Grid_MPI_Comm GlobalSharedMemory::WorldComm
static

◆ WorldRank

int GlobalSharedMemory::WorldRank
static

Definition at line 114 of file SharedMemory.h.

Referenced by Init(), and NAMESPACE_BEGIN().

◆ WorldSize

int GlobalSharedMemory::WorldSize
static

◆ WorldShmComm

Grid_MPI_Comm GlobalSharedMemory::WorldShmComm
static

Definition at line 117 of file SharedMemory.h.

Referenced by Init(), NAMESPACE_BEGIN(), and SharedMemoryAllocate().

◆ WorldShmRank

◆ WorldShmSize

int GlobalSharedMemory::WorldShmSize
static

◆ WorldNodes

int GlobalSharedMemory::WorldNodes
static

Definition at line 121 of file SharedMemory.h.

Referenced by Init(), NAMESPACE_BEGIN(), and SharedMemory::NodeCount().

◆ WorldNode

int GlobalSharedMemory::WorldNode
static

◆ WorldShmRanks

std::vector< int > GlobalSharedMemory::WorldShmRanks
static

Definition at line 124 of file SharedMemory.h.

Referenced by Init(), and NAMESPACE_BEGIN().


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