arch/sp3/machine.c File Reference

SP3 machine layer. More...

Go to the source code of this file.

Data Structures

struct  msg_list
int _Cmi_mype
int _Cmi_numpes
int _Cmi_myrank
static void ** recdQueue_blk
static unsigned int recdQueue_blk_len
static unsigned int recdQueue_first
static unsigned int recdQueue_len
static int Cmi_dim
static double itime
static SMSG_LISTsent_msgs = 0
static SMSG_LISTend_sent = 0
static int allmsg
static int dontcare
static int msgtype
typedef msg_list SMSG_LIST
 CpvDeclare (void *, CmiLocalQueue)
static void recdQueueInit (void)
static void recdQueueAddToBack (void *element)
static void * recdQueueRemoveFromFront (void)
void CmiTimerInit (void)
double CmiTimer (void)
double CmiWallTimer (void)
double CmiCpuTimer (void)
static int CmiAllAsyncMsgsSent (void)
int CmiAsyncMsgSent (CmiCommHandle c)
void CmiReleaseCommHandle (CmiCommHandle c)
static void CmiReleaseSentMessages (void)
static void PumpMsgs (void)
void * CmiGetNonLocal (void)
void CmiNotifyIdle (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 ConverseExit (void)
void ConverseInit (int argc, char **argv, CmiStartFn fn, int usched, int initret)
void CmiAbort (const char *message)
 Serial version of common Charm++ routines:.
static void ** AllocBlock (unsigned int len)
static void SpillBlock (void **srcblk, void **destblk, unsigned int first, unsigned int len)


Detailed Description

SP3 machine layer.

Definition in file machine.c.


Typedef Documentation

typedef struct msg_list SMSG_LIST


Function Documentation

CpvDeclare ( void *  ,
CmiLocalQueue   
)

void recdQueueInit ( void   )  [static]

Definition at line 353 of file machine.c.

References AllocBlock(), recdQueue_blk, recdQueue_blk_len, recdQueue_first, and recdQueue_len.

void recdQueueAddToBack ( void *  element  )  [static]

Definition at line 361 of file machine.c.

References AllocBlock(), CmiFree(), recdQueue_blk, recdQueue_blk_len, recdQueue_first, recdQueue_len, and SpillBlock().

void * recdQueueRemoveFromFront ( void   )  [static]

Definition at line 376 of file machine.c.

References recdQueue_blk, recdQueue_blk_len, recdQueue_first, and recdQueue_len.

static int CmiAllAsyncMsgsSent ( void   )  [static]

Definition at line 88 of file machine.c.

References msg_list::msgid, msg_list::next, and sent_msgs.

int CmiAsyncMsgSent ( CmiCommHandle  c  ) 

Definition at line 100 of file machine.c.

References msg_list::msgid, msg_list::next, and sent_msgs.

void CmiReleaseCommHandle ( CmiCommHandle  c  ) 

Definition at line 113 of file machine.c.

static void CmiReleaseSentMessages ( void   )  [static]

Definition at line 119 of file machine.c.

References CmiFree(), end_sent, msg_list::msg, msg_list::msgid, msg_list::next, and sent_msgs.

static void PumpMsgs ( void   )  [static]

Definition at line 144 of file machine.c.

References CmiAlloc(), dontcare, msg_list::msg, msgtype, recdQueueAddToBack(), and type.

void* CmiGetNonLocal ( void   ) 

Definition at line 163 of file machine.c.

References CmiReleaseSentMessages(), PumpMsgs(), and recdQueueRemoveFromFront().

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

Definition at line 178 of file machine.c.

References _Cmi_mype, CdsFifo_Enqueue(), CmiAlloc(), CmiAsyncSendFn(), CQdCreate(), and size.

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

Definition at line 191 of file machine.c.

References CmiAlloc(), CQdCreate(), end_sent, msg_list::msg, msg_list::msgid, msgtype, msg_list::next, sent_msgs, and size.

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

Definition at line 210 of file machine.c.

References _Cmi_mype, CdsFifo_Enqueue(), CmiAsyncSendFn(), CQdCreate(), and size.

void CmiSyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 223 of file machine.c.

References _Cmi_mype, _Cmi_numpes, CmiSyncSendFn(), and size.

CmiCommHandle CmiAsyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 234 of file machine.c.

References _Cmi_mype, _Cmi_numpes, CmiAllAsyncMsgsSent(), CmiAsyncSendFn(), and size.

void CmiFreeBroadcastFn ( int  size,
char *  msg 
)

Definition at line 245 of file machine.c.

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

void CmiSyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 251 of file machine.c.

References _Cmi_numpes, CmiSyncSendFn(), and size.

CmiCommHandle CmiAsyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 259 of file machine.c.

References _Cmi_numpes, CmiAllAsyncMsgsSent(), CmiAsyncSendFn(), and size.

void CmiFreeBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 268 of file machine.c.

References _Cmi_numpes, CmiFree(), CmiSyncSendFn(), and size.

void ConverseExit ( void   ) 

Definition at line 279 of file machine.c.

References allmsg, ConverseCommonExit(), and msg_list::msgid.

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

Definition at line 288 of file machine.c.

References _Cmi_mype, _Cmi_myrank, _Cmi_numpes, allmsg, CdsFifo_Create(), Cmi_dim, CmiTimerInit(), ConverseCommonInit(), ConverseExit(), CsdScheduler(), CthInit(), dontcare, msgtype, n, and recdQueueInit().

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 324 of file machine.c.

References CmiError().

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

Definition at line 334 of file machine.c.

References CmiAlloc(), and CmiError().

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

Definition at line 347 of file machine.c.


Variable Documentation

int _Cmi_mype

Definition at line 22 of file machine.c.

int _Cmi_numpes

Definition at line 23 of file machine.c.

int _Cmi_myrank

Definition at line 24 of file machine.c.

void** recdQueue_blk [static]

Definition at line 29 of file machine.c.

unsigned int recdQueue_blk_len [static]

Definition at line 30 of file machine.c.

unsigned int recdQueue_first [static]

Definition at line 31 of file machine.c.

unsigned int recdQueue_len [static]

Definition at line 32 of file machine.c.

int Cmi_dim [static]

Definition at line 43 of file machine.c.

double itime [static]

Definition at line 44 of file machine.c.

Referenced by CmiTimer(), CmiTimerInit(), CmiWallTimer(), and LogEntry::pup().

SMSG_LIST* sent_msgs = 0 [static]

Definition at line 46 of file machine.c.

SMSG_LIST* end_sent = 0 [static]

Definition at line 47 of file machine.c.

int allmsg [static]

Definition at line 49 of file machine.c.

Referenced by ConverseExit(), and ConverseInit().

int dontcare [static]

Definition at line 49 of file machine.c.

Referenced by ConverseInit(), and PumpMsgs().

int msgtype [static]

Definition at line 49 of file machine.c.

Referenced by _allocEnv(), _allocMsg(), CmiAsyncSendFn(), ConverseInit(), and PumpMsgs().


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