32#if defined (GRID_COMMS_MPI3)
47#if defined (GRID_COMMS_MPI3)
50#ifdef ACCELERATOR_AWARE_MPI
69 PacketType_t PacketType;
110#ifndef ACCELERATOR_AWARE_MPI
111 static void *HostCommBuf;
157#ifndef ACCELERATOR_AWARE_MPI
158 size_t host_heap_top;
159 size_t host_heap_bytes;
161 size_t host_heap_size;
195#ifndef ACCELERATOR_AWARE_MPI
196 void *HostBufferMalloc(
size_t bytes);
197 void HostBufferFreeAll(
void);
AcceleratorVector< int, MaxDims > Coordinate
#define NAMESPACE_BEGIN(A)
static void SharedMemoryAllocate(uint64_t bytes, int flags)
static const int MAXLOG2RANKSPERNODE
static void SharedMemoryFree(void)
static void OptimalCommunicatorHypercube(const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
static Grid_MPI_Comm WorldComm
static uint64_t _ShmAllocBytes
static std::vector< int > WorldShmRanks
static uint64_t ShmAllocBytes(void)
static void Init(Grid_MPI_Comm comm)
static void GetShmDims(const Coordinate &WorldDims, Coordinate &ShmDims)
static void SharedMemoryZero(void *dest, size_t bytes)
static uint64_t MAX_MPI_SHM_BYTES
static int ShmSetup(void)
static void OptimalCommunicatorSharedMemory(const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
static std::vector< void * > WorldShmCommBufs
static int ShmAlloc(void)
static Grid_MPI_Comm WorldShmComm
static void OptimalCommunicator(const Coordinate &processors, Grid_MPI_Comm &optimal_comm, Coordinate &ShmDims)
void * ShmBufferTranslate(int rank, void *local_p)
std::vector< int > ShmRanks
void * ShmBufferSelf(void)
void * ShmBufferMalloc(size_t bytes)
void * ShmBuffer(int rank)
void ShmBufferFreeAll(void)
void SharedMemoryTest(void)
void SetCommunicator(Grid_MPI_Comm comm)
std::vector< void * > ShmCommBufs
static const int MAXLOG2RANKSPERNODE