arch/uth/machine.c File Reference

User-level threads machine layer. More...

Go to the source code of this file.
int _Cmi_mype
int _Cmi_myrank
int _Cmi_numpes
int Cmi_nodesize
int Cmi_stacksize = 64000
char ** CmiArgv
CmiStartFn CmiStart
int CmiUsched
CthThreadCmiThreads
void ** CmiQueues
intCmiBarred
int CmiNumBarred = 0
void CmiAbort (const char *message)
 Serial version of common Charm++ routines:.
 CpvDeclare (void *, CmiLocalQueue)
int CmiAsyncMsgSent (c)
void CmiReleaseCommHandle (c)
static void CmiNext ()
void CmiExit ()
void * CmiGetNonLocal ()
void CmiNotifyIdle ()
void CmiNodeBarrier ()
void CmiNodeAllBarrier ()
CmiNodeLock CmiCreateLock ()
void CmiLock (CmiNodeLock lk)
void CmiUnlock (CmiNodeLock lk)
int CmiTryLock (CmiNodeLock lk)
void CmiDestroyLock (CmiNodeLock lk)
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)
int CmiBarrier ()
int CmiBarrierZero ()
static void CmiParseArgs (char **argv)
char ** CmiInitPE ()
void CmiCallMain ()
void ConverseExit ()
static int CmiSwitchToPEFn (int newpe)
void ConverseInit (int argc, char **argv, CmiStartFn fn, int usched, int initret)


Detailed Description

User-level threads machine layer.

Definition in file machine.c.


Function Documentation

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

References CmiError().

CpvDeclare ( void *  ,
CmiLocalQueue   
)

int CmiAsyncMsgSent ( c   ) 

Definition at line 57 of file machine.c.

void CmiReleaseCommHandle ( c   ) 

Definition at line 63 of file machine.c.

static void CmiNext (  )  [static]

Definition at line 70 of file machine.c.

References _Cmi_mype, CmiBarred, CmiMyPe(), CmiThreads, and CthResume().

Referenced by CmiExit(), CmiGetNonLocal(), CmiNotifyIdle(), and ConverseExit().

void CmiExit (  ) 

Definition at line 85 of file machine.c.

References CmiFree(), CmiMyPe(), CmiNext(), CmiThreads, and CthSelf().

void* CmiGetNonLocal ( void   ) 

Definition at line 92 of file machine.c.

References CmiMyPe(), CmiNext(), CmiThreads, and CthSelf().

void CmiNodeBarrier ( void   ) 

Definition at line 105 of file machine.c.

References CmiBarred, CmiGetNonLocal(), CmiMyPe(), and CmiNumBarred.

void CmiNodeAllBarrier ( void   ) 

Definition at line 117 of file machine.c.

References CmiBarred, CmiGetNonLocal(), CmiMyPe(), and CmiNumBarred.

CmiNodeLock CmiCreateLock ( void   ) 

Definition at line 129 of file machine.c.

References malloc().

void CmiLock ( CmiNodeLock  lk  ) 

Definition at line 136 of file machine.c.

References CmiGetNonLocal().

Referenced by CkNodeReductionMgr::addContribution(), AsynchronousEventHandler(), CldGetToken(), CldGetTokenFromRank(), CldPutToken(), CmiCommLock(), CmiCpuTimer(), CmiPushImmediateMsg(), CmiPushNode(), CmiPushPE(), CmiTimer(), CmiWallTimer(), CommunicationServer(), CkArrayReductionMgr::contributeArrayReduction(), CsdInit(), CsdNextMessage(), Cnv< d >::init(), KillOnAllSigs(), PCQueuePop(), LBDatabase::pup(), read_randomflag(), readMHz(), CkNodeReductionMgr::RecvMsg(), CkNodeReductionMgr::ReductionStarting(), and CkNodeReductionMgr::restartLocalGroupReductions().

void CmiUnlock ( CmiNodeLock  lk  ) 

Definition at line 142 of file machine.c.

References CmiError().

Referenced by CkNodeReductionMgr::addContribution(), AsynchronousEventHandler(), CldAskLoadHandler(), CldGetToken(), CldGetTokenFromRank(), CldPutToken(), CmiCommUnlock(), CmiCpuTimer(), CmiHandleImmediate(), CmiPushImmediateMsg(), CmiPushNode(), CmiPushPE(), CmiTimer(), CmiWallTimer(), CommunicationServer(), CkArrayReductionMgr::contributeArrayReduction(), CsdNextMessage(), Cnv< d >::init(), KillOnAllSigs(), PCQueuePop(), LBDatabase::pup(), read_randomflag(), readMHz(), CkNodeReductionMgr::RecvMsg(), CkNodeReductionMgr::ReductionStarting(), and CkNodeReductionMgr::restartLocalGroupReductions().

int CmiTryLock ( CmiNodeLock  lk  ) 

Definition at line 151 of file machine.c.

Referenced by CldAskLoadHandler(), and CmiHandleImmediate().

void CmiDestroyLock ( CmiNodeLock  lk  ) 

Definition at line 157 of file machine.c.

References free().

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

Definition at line 166 of file machine.c.

References CdsFifo_Enqueue(), CmiAlloc(), CmiQueues, CQdCreate(), and size.

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

Definition at line 177 of file machine.c.

References CdsFifo_Enqueue(), CmiAlloc(), CmiQueues, CQdCreate(), and size.

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

Definition at line 189 of file machine.c.

References CdsFifo_Enqueue(), CmiQueues, and CQdCreate().

void CmiSyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 198 of file machine.c.

References CmiMyPe(), and CmiSyncSendFn().

CmiCommHandle CmiAsyncBroadcastFn ( int  size,
char *  msg 
)

Definition at line 207 of file machine.c.

References CmiSyncBroadcastFn().

void CmiFreeBroadcastFn ( int  size,
char *  msg 
)

Definition at line 215 of file machine.c.

References CmiFree(), and CmiSyncBroadcastFn().

void CmiSyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 223 of file machine.c.

References CmiSyncSendFn().

CmiCommHandle CmiAsyncBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 232 of file machine.c.

References CmiSyncBroadcastAllFn().

void CmiFreeBroadcastAllFn ( int  size,
char *  msg 
)

Definition at line 240 of file machine.c.

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

static void CmiParseArgs ( char **  argv  )  [static]

Definition at line 264 of file machine.c.

References _Cmi_numpes, Cmi_stacksize, CmiGetArgInt(), and printf().

Referenced by ConverseInit().

char** CmiInitPE (  ) 

Definition at line 276 of file machine.c.

References CcdCallOnConditionKeep(), CmiArgv, CmiCopyArgs(), CmiMyPe(), CmiNotifyIdle(), CmiQueues, CmiTimerInit(), and ConverseCommonInit().

Referenced by CmiCallMain(), and ConverseInit().

void CmiCallMain (  ) 

Definition at line 287 of file machine.c.

References CmiGetArgc(), CmiInitPE(), CmiStart, CmiUsched, ConverseExit(), and CsdScheduler().

Referenced by ConverseInit().

void ConverseExit ( void   ) 

Definition at line 296 of file machine.c.

References CmiMyPe(), CmiNext(), CmiThreads, and ConverseCommonExit().

static int CmiSwitchToPEFn ( int  newpe  )  [static]

Definition at line 304 of file machine.c.

References _Cmi_mype.

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

Definition at line 314 of file machine.c.

References _Cmi_mype, CdsFifo_Create(), Cmi_stacksize, CmiAlloc(), CmiArgv, CmiBarred, CmiCallMain(), CmiCopyArgs(), CmiCreateLock(), CmiGetArgc(), CmiInitPE(), CmiParseArgs(), CmiQueues, CmiStart, CmiSwitchToPE, CmiSwitchToPEFn(), CmiThreads, CmiUsched, ConverseExit(), CsdScheduler(), CthCreate(), CthInit(), CthSelf(), and smp_mutex.


Variable Documentation

int _Cmi_mype

Definition at line 36 of file machine.c.

int _Cmi_myrank

Definition at line 37 of file machine.c.

int _Cmi_numpes

Definition at line 38 of file machine.c.

int Cmi_nodesize

Definition at line 39 of file machine.c.

int Cmi_stacksize = 64000

Definition at line 40 of file machine.c.

Referenced by CmiParseArgs(), and ConverseInit().

char** CmiArgv

Definition at line 41 of file machine.c.

Referenced by CmiInitPE(), and ConverseInit().

CmiStartFn CmiStart

Definition at line 42 of file machine.c.

Referenced by CmiCallMain(), and ConverseInit().

int CmiUsched

Definition at line 43 of file machine.c.

Referenced by CmiCallMain(), and ConverseInit().

CthThread* CmiThreads

Definition at line 44 of file machine.c.

Referenced by CmiExit(), CmiGetNonLocal(), CmiNext(), CmiNotifyIdle(), ConverseExit(), and ConverseInit().

void* * CmiQueues

Definition at line 45 of file machine.c.

Referenced by CmiAsyncSendFn(), CmiFreeSendFn(), CmiInitPE(), CmiSyncSendFn(), and ConverseInit().

int* CmiBarred

Definition at line 46 of file machine.c.

Referenced by CmiNext(), CmiNodeAllBarrier(), CmiNodeBarrier(), and ConverseInit().

int CmiNumBarred = 0

Definition at line 47 of file machine.c.

Referenced by CmiNodeAllBarrier(), and CmiNodeBarrier().


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