32#define header "SharedMemoryNone: "
63 std::cout <<
header "SharedMemoryAllocate "<< bytes<<
" GPU implementation "<<std::endl;
73 if (ShmCommBuf == (
void *)NULL ) {
74 std::cerr <<
" SharedMemoryNone.cc acceleratorAllocDevice failed NULL pointer for " << bytes<<
" bytes " << std::endl;
78 std::cout <<
WorldRank <<
header " SharedMemoryNone.cc acceleratorAllocDevice "<< bytes
79 <<
"bytes at "<< std::hex<< ShmCommBuf <<std::dec<<
" for comms buffers " <<std::endl;
99 mmap_flag = mmap_flag| MAP_SHARED | MAP_ANONYMOUS;
102 mmap_flag = mmap_flag| MAP_SHARED | MAP_ANON;
105 if ( flags ) mmap_flag |= MAP_HUGETLB;
107 ShmCommBuf =(
void *) mmap(NULL, bytes, PROT_READ | PROT_WRITE, mmap_flag, -1, 0);
108 if (ShmCommBuf == (
void *)MAP_FAILED) {
109 perror(
"mmap failed ");
113 if (!
Hugepages ) madvise(ShmCommBuf,bytes,MADV_HUGEPAGE);
115 bzero(ShmCommBuf,bytes);
void * acceleratorAllocDevice(size_t bytes)
void acceleratorMemSet(void *base, int value, size_t bytes)
AcceleratorVector< int, MaxDims > Coordinate
#define NAMESPACE_BEGIN(A)
accelerator_inline size_type size(void) const
static void SharedMemoryAllocate(uint64_t bytes, int flags)
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 SharedMemoryZero(void *dest, size_t bytes)
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 * ShmBuffer(int rank)
void ShmBufferFreeAll(void)
void SharedMemoryTest(void)
void SetCommunicator(Grid_MPI_Comm comm)
std::vector< void * > ShmCommBufs