arch/exemplar/machine.c File Reference

Exemplar machine layer. More...

Go to the source code of this file.

Data Structures

struct  McQueue
struct  USER_PARAMETERS
static McQueue ** MsgQueue
node_private int _Cmi_numpes
static node_private barrier_t barrier
static node_private int Cmi_argc
static node_private char ** Cmi_argv
static node_private USER_PARAMETERS Cmi_param
static node_private CmiStartFn Cmi_fn
static node_private int Cmi_usched
static node_private int Cmi_initret
static McQueueMcQueueCreate (void)
static void McQueueAddToBack (McQueue *queue, void *element)
static void * McQueueRemoveFromFront (McQueue *queue)
 CpvDeclare (void *, CmiLocalQueue)
static void threadInit ()
void CmiAbort (const char *message)
 Serial version of common Charm++ routines:.
void * CmiSvAlloc (int size)
void CmiSvFree (char *blk)
 CmiNotifyIdle ()
CmiNodeLock CmiCreateLock (void)
int CmiProbeLock (CmiNodeLock lock)
int CmiAsyncMsgSent (CmiCommHandle msgid)
void ConverseInit (int argc, char **argv, CmiStartFn fn, int usched, int initret)
void ConverseExit (void)
static void threadInit (void *arg)
void * CmiGetNonLocal (void)
void CmiSyncSendFn (int destPE, int size, char *msg)
CmiCommHandle CmiAsyncSendFn (int destPE, int size, char *msg)
void CmiFreeSendFn (int destPE, int size, char *msg)
void CmiSyncBroadcastFn (int size, char *msg)
CmiCommHandle CmiAsyncBroadcastFn (int size, char *msg)
void CmiFreeBroadcastFn (int size, char *msg)
void CmiSyncBroadcastAllFn (int size, char *msg)
CmiCommHandle CmiAsyncBroadcastAllFn (int size, char *msg)
void CmiFreeBroadcastAllFn (int size, char *msg)
void CmiNodeBarrier ()
static void ** AllocBlock (unsigned int len)
static void SpillBlock (void **srcblk, void **destblk, int first, int len)


Detailed Description

Exemplar machine layer.

Definition in file machine.c.


Function Documentation

static McQueue * McQueueCreate ( void   )  [static]

Definition at line 310 of file machine.c.

References AllocBlock(), McQueue::blk, McQueue::blk_len, CmiError(), McQueue::first, McQueue::len, McQueue::maxlen, and McQueue::sema.

Referenced by ConverseInit(), and McInitList().

static void McQueueAddToBack ( McQueue queue,
void *  element 
) [static]

Definition at line 332 of file machine.c.

References AllocBlock(), free(), and SpillBlock().

Referenced by CmiFreeSendFn(), CmiSyncBroadcastFn(), CmiSyncListSendFn(), CmiSyncSendFn(), McCleanUpInTransit(), McEnqueueRemote(), and McRetrieveRemote().

static void * McQueueRemoveFromFront ( McQueue queue  )  [static]

Definition at line 357 of file machine.c.

Referenced by CmiGetNonLocal(), and McCleanUpInTransit().

CpvDeclare ( void *  ,
CmiLocalQueue   
)

static void threadInit (  )  [static]

Referenced by ConverseInit().

void CmiAbort ( const char *  message  ) 

Serial version of common Charm++ routines:.

Currently only used for FEM_ALONE mode.

Orion Sky Lawlor, olawlor@acm.org, 2003/8/15

Definition at line 51 of file machine.c.

References CmiError().

void* CmiSvAlloc ( int  size  ) 

Definition at line 59 of file machine.c.

References CmiAbort().

void CmiSvFree ( char *  blk  ) 

Definition at line 70 of file machine.c.

References free().

CmiNotifyIdle ( void   ) 

Definition at line 78 of file machine.c.

CmiNodeLock CmiCreateLock ( void   ) 

Definition at line 82 of file machine.c.

References malloc().

int CmiProbeLock ( CmiNodeLock  lock  ) 

Definition at line 89 of file machine.c.

int CmiAsyncMsgSent ( CmiCommHandle  msgid  ) 

Definition at line 100 of file machine.c.

void ConverseInit ( int  argc,
char **  argv,
CmiStartFn  fn,
int  usched,
int  initret 
)

Definition at line 119 of file machine.c.

References _Cmi_numpes, Cmi_argc, Cmi_argv, Cmi_fn, Cmi_initret, Cmi_usched, CmiAbort(), CmiGetArgInt(), McQueueCreate(), MsgQueue, and threadInit().

void ConverseExit ( void   ) 

Definition at line 158 of file machine.c.

References _Cmi_numpes, and ConverseCommonExit().

static void threadInit ( void *  arg  )  [static]

Definition at line 164 of file machine.c.

References CdsFifo_Create(), Cmi_argv, Cmi_fn, Cmi_initret, Cmi_usched, CmiCopyArgs(), CmiGetArgc(), CmiMyPe(), CmiTimerInit(), ConverseCommonInit(), ConverseExit(), and CsdScheduler().

void* CmiGetNonLocal ( void   ) 

Definition at line 182 of file machine.c.

References CmiAbort(), CmiAlloc(), CmiMyPe(), free(), McQueueRemoveFromFront(), MsgQueue, and size.

void CmiSyncSendFn ( int  destPE,
int  size,
char *  msg 
)

Definition at line 198 of file machine.c.

References CmiAbort(), CQdCreate(), McQueueAddToBack(), MsgQueue, and size.

CmiCommHandle CmiAsyncSendFn ( int  destPE,
int  size,
char *  msg 
)

Definition at line 213 of file machine.c.

References CmiSyncSendFn(), and size.

void CmiFreeSendFn ( int  destPE,
int  size,
char *  msg 
)

Definition at line 220 of file machine.c.

References CdsFifo_Enqueue(), CmiFree(), CmiMyPe(), CmiSyncSendFn(), CQdCreate(), and size.

void CmiSyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 231 of file machine.c.

References CmiMyPe(), CmiSyncSendFn(), and size.

CmiCommHandle CmiAsyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 238 of file machine.c.

References CmiSyncBroadcastFn(), and size.

void CmiFreeBroadcastFn ( int  size,
char *  msg 
)

Definition at line 244 of file machine.c.

References CmiFree(), CmiSyncBroadcastFn(), and size.

void CmiSyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 250 of file machine.c.

References CmiSyncSendFn(), and size.

CmiCommHandle CmiAsyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 257 of file machine.c.

References CmiSyncBroadcastAllFn(), and size.

void CmiFreeBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 264 of file machine.c.

References CdsFifo_Enqueue(), CmiMyPe(), CmiSyncSendFn(), CQdCreate(), and size.

void CmiNodeBarrier ( void   ) 

Definition at line 275 of file machine.c.

References _Cmi_numpes, and CmiAbort().

static void** AllocBlock ( unsigned int  len  )  [static]

Definition at line 292 of file machine.c.

References CmiAbort().

Referenced by CommunicationServer(), McQueueAddToBack(), McQueueCreate(), recdQueueAddToBack(), and recdQueueInit().

static void SpillBlock ( void **  srcblk,
void **  destblk,
int  first,
int  len 
) [static]

Definition at line 304 of file machine.c.

Referenced by CommunicationServer(), McQueueAddToBack(), and recdQueueAddToBack().


Variable Documentation

McQueue** MsgQueue [static]

Definition at line 34 of file machine.c.

Referenced by CmiFreeSendFn(), CmiGetNonLocal(), CmiNotifyIdle(), CmiSyncSendFn(), and ConverseInit().

node_private int _Cmi_numpes

Definition at line 39 of file machine.c.

node_private barrier_t barrier [static]

Definition at line 41 of file machine.c.

Referenced by ampiParent::ampiParent(), CmiNodeAllBarrier(), CmiNodeBarrier(), ConverseInit(), and McInitList().

node_private int Cmi_argc [static]

Definition at line 112 of file machine.c.

Referenced by ConverseInit(), and threadInit().

node_private char** Cmi_argv [static]

Definition at line 113 of file machine.c.

node_private USER_PARAMETERS Cmi_param [static]

Definition at line 114 of file machine.c.

node_private CmiStartFn Cmi_fn [static]

Definition at line 115 of file machine.c.

Referenced by ConverseInit(), and threadInit().

node_private int Cmi_usched [static]

Definition at line 116 of file machine.c.

Referenced by ConverseInit(), and threadInit().

node_private int Cmi_initret [static]

Definition at line 117 of file machine.c.

Referenced by ConverseInit(), and threadInit().


Generated on Sun Jun 29 13:29:32 2008 for Charm++ by  doxygen 1.5.1