Go to the source code of this file.
Data Structures | |
| struct | msg_list |
| struct | ProcState |
| static int | checksum_flag = 0 |
| int | _Cmi_numpes |
| int | _Cmi_mynode |
| int | _Cmi_mynodesize |
| int | _Cmi_numnodes |
| int | _Cmi_numpes |
| static int | Cmi_nodestart |
| int | networkProgressPeriod |
| int | idleblock = 0 |
| static void ** | recdQueue_blk |
| static unsigned int | recdQueue_blk_len |
| static unsigned int | recdQueue_first |
| static unsigned int | recdQueue_len |
| int | MsgQueueLen = 0 |
| static int | request_max |
| static SMSG_LIST * | sent_msgs = 0 |
| static SMSG_LIST * | end_sent = 0 |
| static int | Cmi_dim |
| static int | no_outstanding_sends = 0 |
| int | inside_comm = 0 |
| static CmiNodeLock | timerLock = 0 |
| static double | starttimer = 0 |
| static int | _is_global = 0 |
| static ProcState * | procState |
| static PCQueue | sendMsgBuf |
| static CmiNodeLock | sendMsgBufLock = NULL |
| static int | Cmi_charmrun_fd = 0 |
| static struct CmiStateStruct | Cmi_state |
| int | _Cmi_mype |
| int | _Cmi_myrank |
| static int | inexit = 0 |
| static CmiNodeLock | exitLock = 0 |
| typedef msg_list | SMSG_LIST |
| CpvStaticDeclare (double, projTraceStart) | |
| CpvDeclare (unsigned long long, Cmi_posted_recv_total) | |
| CpvDeclare (unsigned long long, Cmi_unposted_recv_total) | |
| CpvDeclare (MPI_Request *, CmiPostedRecvRequests) | |
| CpvDeclare (char *, CmiPostedRecvBuffers) | |
| CpvDeclare (void *, CmiLocalQueue) | |
| CpvDeclare (unsigned, networkProgressCount) | |
| static void | recdQueueInit (void) |
| static void | recdQueueAddToBack (void *element) |
| static void * | recdQueueRemoveFromFront (void) |
| static void | ConverseRunPE (int everReturn) |
| static void | CommunicationServer (int sleepTime) |
| CommunicationServer calls MPI to send messages in the queues and probe message from network. | |
| static void | CommunicationServerThread (int sleepTime) |
| void | CmiAbort (const char *message) |
| Serial version of common Charm++ routines:. | |
| static void | PerrorExit (const char *msg) |
| void | SendSpanningChildren (int size, char *msg) |
| void | SendHypercube (int size, char *msg) |
| unsigned char | computeCheckSum (unsigned char *data, int len) |
| int | CmiTimerIsSynchronized () |
| void | CmiTimerInit () |
| double | CmiTimer (void) |
| double | CmiWallTimer (void) |
| double | CmiCpuTimer (void) |
| int | CmiBarrier () |
| int | CmiBarrierZero () |
| CsvDeclare (CmiNodeState, NodeState) | |
| void | CmiMemLock () |
| void | CmiMemUnlock () |
| void | CmiYield (void) |
| static void | CmiStartThreads (char **argv) |
| static void | CmiPushPE (int pe, void *msg) |
| static void | CmiPushNode (void *msg) |
| int | CmiMyPe (void) |
| int | CmiMyRank (void) |
| int | CmiNodeFirst (int node) |
| int | CmiNodeSize (int node) |
| int | CmiNodeOf (int pe) |
| int | CmiRankOf (int pe) |
| static size_t | CmiAllAsyncMsgsSent (void) |
| int | CmiAsyncMsgSent (CmiCommHandle c) |
| void | CmiReleaseCommHandle (CmiCommHandle c) |
| void | MPID_Progress_test () |
| void | CmiReleaseSentMessages (void) |
| int | PumpMsgs (void) |
| static void | PumpMsgsBlocking (void) |
| static int | MsgQueueEmpty () |
| static int | SendMsgBuf () |
| static int | RecvQueueEmpty () |
Definition in file machine.c.
| CpvStaticDeclare | ( | double | , | |
| projTraceStart | ||||
| ) |
| CpvDeclare | ( | unsigned long | long, | |
| Cmi_posted_recv_total | ||||
| ) |
| CpvDeclare | ( | unsigned long | long, | |
| Cmi_unposted_recv_total | ||||
| ) |
| CpvDeclare | ( | MPI_Request * | , | |
| CmiPostedRecvRequests | ||||
| ) |
| CpvDeclare | ( | char * | , | |
| CmiPostedRecvBuffers | ||||
| ) |
| CpvDeclare | ( | void * | , | |
| CmiLocalQueue | ||||
| ) |
| CpvDeclare | ( | unsigned | , | |
| networkProgressCount | ||||
| ) |
| static void recdQueueInit | ( | void | ) | [static] |
Referenced by CommunicationServer(), and ConverseInit().
| static void recdQueueAddToBack | ( | void * | element | ) | [static] |
Referenced by CommunicationServer(), and PumpMsgs().
| static void* recdQueueRemoveFromFront | ( | void | ) | [static] |
Referenced by CmiGetNonLocal(), and CommunicationServer().
| static void ConverseRunPE | ( | int | everReturn | ) | [static] |
| static void CommunicationServer | ( | int | sleepTime | ) | [static] |
CommunicationServer calls MPI to send messages in the queues and probe message from network.
Definition at line 798 of file machine.c.
References _Cmi_mynode, _Cmi_mynodesize, _Cmi_numnodes, _Cmi_numpes, _immediateReady, _immRunning, AllocBlock(), CcdCallOnConditionKeep(), CdsFifo_Enqueue(), checksum_flag, Cmi_argv, Cmi_dim, Cmi_nodestart, Cmi_startfn, Cmi_usrsched, CmiAbort(), CmiAllAsyncMsgsSent(), CmiAlloc(), CmiAsyncBroadcastAllFn(), CmiAsyncBroadcastFn(), CmiAsyncNodeBroadcastAllFn(), CmiAsyncNodeBroadcastFn(), CmiAsyncNodeSendFn(), CmiAsyncSendFn(), CmiCopyArgs(), CmiCopyMsg(), CmiCreateLock(), CmiError(), CmiFree(), CmiFreeBroadcastAllFn(), CmiFreeBroadcastFn(), CmiFreeNodeBroadcastAllFn(), CmiFreeNodeBroadcastFn(), CmiFreeNodeSendFn(), CmiFreeSendFn(), CmiGetArgc(), CmiGetArgFlag(), CmiGetArgInt(), CmiGetNonLocal(), CmiGetNonLocalNodeQ(), CmiGetState(), CmiHandleImmediate(), CmiIdleLock_checkMessage(), CmiIdleLock_sleep(), CmiLock(), CmiMachineProgressImpl(), CmiMyPe(), CmiMyRank(), CmiNodeAllBarrier(), CmiNodeOf(), CmiNodeStateInit(), CmiNotifyBeginIdle(), CmiNotifyGetState(), CmiNotifyIdle(), CmiNotifyStillIdle(), CmiPrintf(), CmiPrintStackTrace(), CmiPushImmediateMsg(), CmiPushPE(), CmiRankOf(), CmiReleaseSentMessages(), CmiSendSelf(), CmiStartThreads(), CmiSyncBroadcastAllFn(), CmiSyncBroadcastFn(), CmiSyncNodeBroadcastAllFn(), CmiSyncNodeBroadcastFn(), CmiSyncNodeSendFn(), CmiSyncSendFn(), CmiSyncSendFn1(), CmiUnlock(), CmiYield(), CommunicationServerThread(), ConverseCommonExit(), ConverseCommonInit(), ConverseExit(), ConverseInit(), ConverseRunPE(), CQdCreate(), CsdScheduler(), CthInit(), debugLog, msg_list::destpe, end_sent, exitLock, CmiStateStruct::idle, idleblock, inexit, inside_comm, CmiStateStruct::localqueue, malloc(), MPI_Abort(), MPI_ANY_SOURCE, MPI_Barrier(), MPI_BYTE, MPI_Comm_rank(), MPI_Comm_size(), MPI_COMM_WORLD, MPI_Finalize(), MPI_Get_version(), MPI_Init(), MPI_Irecv(), MPI_Isend(), MPI_SUCCESS, msg_list::msg, MsgQueueEmpty(), MsgQueueLen, n, networkProgressPeriod, msg_list::next, no_outstanding_sends, p, PCQueueCreate(), PCQueueEmpty(), PCQueueLength(), PCQueuePop(), CmiStateStruct::pe, printf(), procState, PumpMsgs(), PumpMsgsBlocking(), CmiStateStruct::rank, recdQueue_blk, recdQueue_blk_len, recdQueue_first, recdQueue_len, recdQueueAddToBack(), recdQueueInit(), recdQueueRemoveFromFront(), CmiStateStruct::recv, ProcState::recvLock, RecvQueueEmpty(), registerMachineUserEventsFunction(), msg_list::req, request_max, s, SendHypercube(), sendMsgBuf, SendMsgBuf(), sendMsgBufLock, SendSpanningChildren(), sent_msgs, msg_list::size, size, sleep(), SpillBlock(), and traceRegisterUserEvent().
Referenced by call_startfn(), CmiNotifyStillIdle(), CommunicationPeriodic(), CommunicationServer(), and KillOnAllSigs().
| static void CommunicationServerThread | ( | int | sleepTime | ) | [static] |
Referenced by call_startfn(), and CommunicationServer().
| 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 8 of file charm_standalone.C.
| void SendSpanningChildren | ( | int | size, | |
| char * | msg | |||
| ) |
| void SendHypercube | ( | int | size, | |
| char * | msg | |||
| ) |
| int CmiBarrier | ( | void | ) |
Definition at line 338 of file machine.c.
References CmiAbort(), CmiMyRank(), MPI_Barrier(), MPI_COMM_WORLD, and MPI_SUCCESS.
| int CmiBarrierZero | ( | void | ) |
Definition at line 353 of file machine.c.
References CmiMyRank(), CmiNodeAllBarrier(), CmiPrintf(), MPI_ANY_SOURCE, MPI_BYTE, MPI_COMM_WORLD, MPI_Recv(), MPI_Send(), MPI_SUCCESS, msg_list::msg, and printf().
| CsvDeclare | ( | CmiNodeState | , | |
| NodeState | ||||
| ) |
| static void CmiStartThreads | ( | char ** | argv | ) | [static] |
Definition at line 428 of file machine.c.
References _Cmi_mype, _Cmi_myrank, Cmi_nodestart, Cmi_state, and CmiStateInit().
| static void CmiPushPE | ( | int | pe, | |
| void * | msg | |||
| ) | [static] |
Definition at line 437 of file machine.c.
References CmiIdleLock_addMessage(), CmiLock(), CmiPushImmediateMsg(), CmiUnlock(), CmiStateStruct::idle, CmiStateStruct::pe, procState, and CmiStateStruct::recv.
| static void CmiPushNode | ( | void * | msg | ) | [static] |
Definition at line 468 of file machine.c.
References CmiIdleLock_addMessage(), CmiLock(), CmiPushImmediateMsg(), CmiUnlock(), and CmiStateStruct::idle.
Referenced by AssembleDatagram(), handoverMessage(), IntegrateMessageDatagram(), KillOnAllSigs(), processMessage(), PumpMsgs(), and PumpMsgsBlocking().
| int CmiMyPe | ( | void | ) |
| int CmiMyRank | ( | void | ) |
Definition at line 496 of file machine.c.
References CmiGetState(), and CmiStateStruct::rank.
Referenced by _initCharm(), _speedHdlr(), CldAskLoadHandler(), CldBalance(), CldGraphModuleInit(), CmiBarrier(), CmiBarrierZero(), CmiInitCPUAffinity(), CmiOutOfMemoryInit(), CmiProcessPriority(), CmiTimerInit(), CommunicationServer(), ConverseCommonInit(), Cpthread_once(), Cpthread_start_main(), CsdInit(), CWebPerformanceRegisterFunction(), getInfiCmiChunkThread(), infi_CmiFree(), infi_CmiFreeDirect(), init_ranges(), initQd(), isomalloc_push(), and KillOnAllSigs().
Definition at line 503 of file machine.c.
References _Cmi_mynodesize.
Referenced by _sendTriggers(), _speedHdlr(), CmiNodeReduce(), CmiNodeReduceStruct(), and KillOnAllSigs().
Definition at line 504 of file machine.c.
References _Cmi_mynodesize.
Referenced by _speedHdlr(), ccs_getinfo(), and KillOnAllSigs().
Definition at line 508 of file machine.c.
References _Cmi_mynodesize, and CmiStateStruct::pe.
Referenced by CkGetSrcNode(), CldNodeEnqueue(), CldStillIdle(), CommunicationServer(), KillOnAllSigs(), LV3D0_ClientManager_toMaster::progress(), and CkNodeReductionMgr::ReductionStarting().
Definition at line 509 of file machine.c.
References _Cmi_mynodesize, and CmiStateStruct::pe.
Referenced by CldStillIdle(), CmiNodeReduce(), CmiNodeReduceStruct(), CommunicationServer(), KillOnAllSigs(), and traceCommonInit().
| static size_t CmiAllAsyncMsgsSent | ( | void | ) | [static] |
Definition at line 512 of file machine.c.
References CmiAbort(), MPI_SUCCESS, MPI_Test(), msg_list::next, msg_list::req, and sent_msgs.
| int CmiAsyncMsgSent | ( | CmiCommHandle | c | ) |
Definition at line 530 of file machine.c.
References CmiAbort(), MPI_SUCCESS, MPI_Test(), msg_list::next, msg_list::req, and sent_msgs.
| void CmiReleaseCommHandle | ( | CmiCommHandle | c | ) |
| void MPID_Progress_test | ( | ) |
Referenced by CmiReleaseSentMessages(), and PumpMsgs().
| void CmiReleaseSentMessages | ( | void | ) |
Definition at line 557 of file machine.c.
References CmiAbort(), CmiFree(), CmiMyPe(), CmiWallTimer(), cur_unsent, msg_list::destpe, msg_list::done, msg_list::e, elan_base, end_sent, MPI_SUCCESS, MPI_Test(), MPID_Progress_test(), msg_list::msg, MsgQueueBytes, MsgQueueLen, msg_list::next, outstandingMsgs, processGetEnv(), release_pmsg_list(), msg_list::req, msg_list::sent, sent_msgs, msg_list::size, msg_list::status, and traceUserBracketEvent().
Referenced by CmiAllAsyncMsgsSent(), CmiGetNonLocal(), CmiNotifyIdle(), CmiNotifyStillIdle(), CmiPing(), CommunicationServer(), ConverseExit(), elan_barrier(), elan_machine_allreduce(), elan_machine_broadcast(), elan_machine_reduce(), and ElanSendFn().
| int PumpMsgs | ( | void | ) |
Definition at line 596 of file machine.c.
References CmiAbort(), CmiAlloc(), CmiFree(), CmiHandleImmediate(), CmiPrintf(), CmiPushNode(), CmiPushPE(), MPI_ANY_SOURCE, MPI_BYTE, MPI_COMM_WORLD, MPI_Get_count(), MPI_Iprobe(), MPI_Irecv(), MPI_Recv(), MPI_Status::MPI_SOURCE, MPI_SUCCESS, MPI_Status::MPI_TAG, MPI_Testany(), MPID_Progress_test(), SendHypercube(), and SendSpanningChildren().
| static void PumpMsgsBlocking | ( | void | ) | [static] |
Definition at line 707 of file machine.c.
References CdsFifo_Empty(), CmiAbort(), CmiAlloc(), CmiGetState(), CmiMyPe(), CmiPrintf(), CmiPushNode(), CmiPushPE(), CqsEmpty(), MPI_ANY_SOURCE, MPI_BYTE, MPI_COMM_WORLD, MPI_Get_count(), MPI_Recv(), MPI_SUCCESS, PCQueueEmpty(), CmiStateStruct::recv, SendHypercube(), SendSpanningChildren(), and sent_msgs.
Referenced by CommunicationServer().
| static int MsgQueueEmpty | ( | ) | [static] |
Definition at line 770 of file machine.c.
References _Cmi_mynodesize, PCQueueEmpty(), procState, and sendMsgBuf.
Referenced by CommunicationServer().
| static int SendMsgBuf | ( | ) | [static] |
Referenced by CommunicationServer().
| static int RecvQueueEmpty | ( | ) | [static] |
Definition at line 785 of file machine.c.
References _Cmi_mynodesize, and PCQueueEmpty().
Referenced by CommunicationServer().
int checksum_flag = 0 [static] |
int Cmi_nodestart [static] |
void** recdQueue_blk [static] |
Definition at line 179 of file machine.c.
Referenced by CommunicationServer(), recdQueueAddToBack(), recdQueueInit(), and recdQueueRemoveFromFront().
unsigned int recdQueue_blk_len [static] |
Definition at line 180 of file machine.c.
Referenced by CommunicationServer(), recdQueueAddToBack(), recdQueueInit(), and recdQueueRemoveFromFront().
unsigned int recdQueue_first [static] |
Definition at line 181 of file machine.c.
Referenced by CommunicationServer(), recdQueueAddToBack(), recdQueueInit(), and recdQueueRemoveFromFront().
unsigned int recdQueue_len [static] |
Definition at line 182 of file machine.c.
Referenced by CommunicationServer(), recdQueueAddToBack(), recdQueueInit(), and recdQueueRemoveFromFront().
| int MsgQueueLen = 0 |
int request_max [static] |
int no_outstanding_sends = 0 [static] |
| int inside_comm = 0 |
CmiNodeLock timerLock = 0 [static] |
Definition at line 232 of file machine.c.
Referenced by CmiCpuTimer(), CmiTimer(), and CmiWallTimer().
double starttimer = 0 [static] |
int _is_global = 0 [static] |
Definition at line 234 of file machine.c.
Referenced by CmiTimerInit(), and CmiTimerIsSynchronized().
Definition at line 389 of file machine.c.
Referenced by CmiPushPE(), CommunicationServer(), and MsgQueueEmpty().
PCQueue sendMsgBuf [static] |
CmiNodeLock sendMsgBufLock = NULL [static] |
int Cmi_charmrun_fd = 0 [static] |
Definition at line 407 of file machine.c.
Referenced by call_startfn(), CheckSocketsReady(), and KillOnAllSigs().
struct CmiStateStruct Cmi_state [static] |
CmiNodeLock exitLock = 0 [static] |
1.5.1