PPL Logo

arch/util/machine-pxshm.C File Reference

pxshm --> posix shared memory based network layer for communication between processes on the same node This is not going to be the primary mode of communication but only for messages below a certain size between processes on the same node for non-smp version only * contains only pxshm code for More...

Go to the source code of this file.

Data Structures

struct  sharedBufHeader
 This struct is used as the first portion of a shared memory region, followed by data. More...
struct  sharedBufData
struct  OutgoingMsgRec
struct  PxshmSendQ
struct  PxshmContext

Enumerations

enum  entities { SENDER, RECEIVER, SENDER, RECEIVER }

Functions

void calculateNodeSizeAndRank (char **)
void setupSharedBuffers (void)
void initAllSendQs (void)
void CmiExitPxshm (void)
static void cleanupOnAllSigs (int signo)
void CmiInitPxshm (char **argv)
void tearDownSharedBuffers (void)
void freeSharedBuffers (void)
static int CmiValidPxshm (int node, int size)
int PxshmRank (int dstnode)
void pushSendQ (PxshmSendQ *q, char *msg, int size, int *refcount)
int sendMessage (char *msg, int size, int *refcount, sharedBufData *dstBuf, PxshmSendQ *dstSendQ)
int flushSendQ (PxshmSendQ *q)
int sendMessageRec (OutgoingMsgRec *omg, sharedBufData *dstBuf, PxshmSendQ *dstSendQ)
void CmiSendMessagePxshm (char *msg, int size, int dstnode, int *refcount)

Variables

static int SHMBUFLEN = (1024 * 1024 * 4)
static int SHMMAXSIZE = (1024 * 1024)
static int SENDQSTARTSIZE = 256
static int sendQ_head_index = -1
PxshmContextpxshmContext = NULL
static int pxshm_freed = 0


Detailed Description

pxshm --> posix shared memory based network layer for communication between processes on the same node This is not going to be the primary mode of communication but only for messages below a certain size between processes on the same node for non-smp version only * contains only pxshm code for

There are three options here for synchronization: PXSHM_FENCE is the default. It uses memory fences PXSHM_OSSPINLOCK will cause OSSpinLock's to be used (available on OSX) PXSHM_LOCK will cause POSIX semaphores to be used

created by Sayantan Chakravorty, sayantan@gmail.com ,21st March 2007

Definition in file machine-pxshm.C.


Generated on Mon Sep 21 07:56:45 2020 for Charm++ by  doxygen 1.5.5