Go to the source code of this file.
Definition in file machine.c.
| typedef struct __elanChunkHeader ElanChunkHeader |
| typedef struct __chunkHeader ChunkHeader |
| typedef void(* ) ELAN_REDUCER(void *in, void *inout, int *count, void *handle) |
| CpvDeclare | ( | void * | , | |
| CmiLocalQueue | ||||
| ) |
| static void ConverseRunPE | ( | int | everReturn | ) | [static] |
Definition at line 1299 of file machine.c.
References _immediateReady, CcdCallOnConditionKeep(), Cmi_argv, Cmi_startfn, Cmi_usrsched, CmiGetArgc(), CmiGetState(), CmiMyPe(), CmiNodeBarrier(), CmiNotifyGetState(), CmiNotifyIdle(), CmiNotifyStillIdle(), ConverseCommonInit(), ConverseExit(), CsdScheduler(), CthInit(), debugLog, elan_base, CmiStateStruct::localqueue, PumpMsgs(), and s.
Referenced by call_startfn(), CommunicationServer(), ConverseInit(), and KillOnAllSigs().
| void ElanSendQueuedMessages | ( | ) |
Definition at line 974 of file machine.c.
References cur_unsent, ElanBasicSendFn(), MsgQueueBytes, MsgQueueLen, outstandingMsgs, ptr, request_bytes, and request_max.
Referenced by CmiGetNonLocal(), CmiNotifyIdle(), CmiNotifyStillIdle(), CmiPing(), ConverseExit(), elan_barrier(), elan_machine_allreduce(), elan_machine_broadcast(), elan_machine_reduce(), and ElanSendFn().
| static int CmiReleaseSentMessages | ( | ) | [static] |
Definition at line 379 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().
| void ElanGetBasedSend | ( | SMSG_LIST * | ptr | ) |
Definition at line 993 of file machine.c.
References CmiAlloc(), CmiMyPe(), msg_list::destpe, msg_list::done, msg_list::e, elan_port, GetHeader::flag_addr, msg_list::gmsg, msg_list::msg, MsgQueueBytes, MsgQueueLen, outstandingMsgs, msg_list::sent, msg_list::size, GetHeader::size, GetHeader::src_addr, and msg_list::status.
Referenced by ElanBasicSendFn().
| void handleGetHeader | ( | char * | msg, | |
| int | src | |||
| ) |
Definition at line 1018 of file machine.c.
References CmiAlloc(), msg_list::destpe, msg_list::done, msg_list::e, elan_base, end_sent, GetHeader::flag_addr, msg_list::flag_addr, msg_list::msg, msg_list::newmsg, msg_list::next, msg_list::sent, sent_msgs, msg_list::size, GetHeader::size, GetHeader::src_addr, and msg_list::status.
Referenced by PumpMsgs().
| void processGetEnv | ( | SMSG_LIST * | ptr | ) |
Definition at line 1047 of file machine.c.
References CmiFree(), CmiPushPE(), elan_base, ptr, and trueFlag.
Referenced by CmiReleaseSentMessages().
| 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.
| static void PerrorExit | ( | const char * | msg | ) | [static] |
Definition at line 204 of file machine.c.
Referenced by call_startfn(), CmiStartThreads(), and KillOnAllSigs().
| void SendSpanningChildren | ( | int | size, | |
| char * | msg | |||
| ) |
Definition at line 1162 of file machine.c.
References _Cmi_numpes, CmiGetState(), CmiSyncSendFn1(), p, CmiStateStruct::pe, and size.
Referenced by AssembleDatagram(), CmiFreeBroadcastAllFn(), CmiSyncBroadcastAllFn(), CmiSyncBroadcastFn(), CommunicationServer(), handoverMessage(), handoverSysvshmMessage(), IntegrateMessageDatagram(), KillOnAllSigs(), processBufferedBcast(), processMessage(), PumpMsgs(), PumpMsgsBlocking(), and PumpPersistent().
| CsvDeclare | ( | CmiNodeState | , | |
| NodeState | ||||
| ) |
| static void CmiStartThreads | ( | char ** | argv | ) | [static] |
Definition at line 265 of file machine.c.
References _Cmi_mype, _Cmi_myrank, Cmi_nodestart, Cmi_state, and CmiStateInit().
Referenced by CommunicationServer(), ConverseInit(), and KillOnAllSigs().
| static void CmiPushPE | ( | int | pe, | |
| void * | msg | |||
| ) | [static] |
Definition at line 273 of file machine.c.
References CmiIdleLock_addMessage(), CmiPushImmediateMsg(), CmiStateStruct::idle, CmiStateStruct::pe, and CmiStateStruct::recv.
Referenced by AssembleDatagram(), CommunicationServer(), handoverMessage(), handoverSysvshmMessage(), IntegrateMessageDatagram(), KillOnAllSigs(), processGetEnv(), processMessage(), PumpMsgs(), PumpMsgsBlocking(), and PumpPersistent().
| int CmiMyPe | ( | void | ) |
| int CmiMyRank | ( | void | ) |
| int CmiAllAsyncMsgsSent | ( | void | ) |
Definition at line 314 of file machine.c.
Referenced by CmiAsyncBroadcastAllFn(), CmiAsyncBroadcastFn(), CommunicationServer(), and ConverseExit().
| int CmiAsyncMsgSent | ( | CmiCommHandle | c | ) |
| void CmiReleaseCommHandle | ( | CmiCommHandle | c | ) |
| void release_pmsg_list | ( | ) |
Definition at line 175 of file persistent.c.
References end_pending_persistent_msgs, free_list_head, pmsg_list::next, pending_persistent_msgs, remote_put_done(), and status().
Referenced by CmiReleaseSentMessages().
| void CmiPing | ( | ) |
Definition at line 779 of file machine.c.
References CmiReleaseSentMessages(), ElanSendQueuedMessages(), and PumpMsgs().
| void enableBlockingReceives | ( | ) |
| void disableBlockingReceives | ( | ) |
| void CmiNotifyStillIdle | ( | void | ) |
Definition at line 807 of file machine.c.
References blockingReceiveFlag, CdsFifo_Empty(), CmiGetState(), CmiReleaseSentMessages(), CqsEmpty(), cur_unsent, ElanSendQueuedMessages(), PCQueueEmpty(), PumpMsgs(), CmiStateStruct::recv, sent_msgs, and toggle.
Referenced by CmiNotifyBeginIdleSysvshm(), CmiNotifyIdle(), CmiSendMessagePxshm(), CommunicationServer(), ConverseRunPE(), and KillOnAllSigs().
| void CmiProbeImmediateMsg | ( | ) |
| static void CmiSendSelf | ( | char * | msg | ) | [static] |
Definition at line 834 of file machine.c.
References CdsFifo_Enqueue(), CmiHandleImmediateMessage(), and CQdCreate().
Referenced by CmiFreeSendFn(), CmiSyncSendFn(), CmiSyncSendFn1(), CommunicationServer(), and ElanSendFn().
| void ElanBasicSendFn | ( | SMSG_LIST * | ptr | ) |
Definition at line 864 of file machine.c.
References blockingReceiveFlag, CmiMyPe(), elan_port, ElanGetBasedSend(), enableGetBasedSend, MID_MESSAGE_SIZE, MsgQueueBytes, MsgQueueLen, outstandingMsgs, ptr, SMALL_MESSAGE_SIZE, and tag.
Referenced by ElanSendFn(), and ElanSendQueuedMessages().
| CmiCommHandle ElanSendFn | ( | int | destPE, | |
| int | size, | |||
| char * | msg, | |||
| int | flag | |||
| ) |
Definition at line 908 of file machine.c.
References CmiAlloc(), CmiGetState(), CmiReleaseSentMessages(), CmiSendPersistentMsg(), CmiSendSelf(), CQdCreate(), cur_unsent, msg_list::destpe, msg_list::e, ElanBasicSendFn(), ElanSendQueuedMessages(), end_sent, msg_list::is_broadcast, msg_list::msg, MsgQueueBytes, MsgQueueLen, msg_list::next, outstandingMsgs, CmiStateStruct::pe, phs, phsSize, PumpMsgs(), CmiStateStruct::rank, request_bytes, request_max, msg_list::sent, sent_msgs, msg_list::size, and size.
Referenced by CmiAsyncSendFn(), and CmiSyncSendFn1().
| CmiCommHandle CmiAsyncSendFn | ( | int | destPE, | |
| int | size, | |||
| char * | msg | |||
| ) |
| static void registerElanEvents | ( | ) | [static] |
Definition at line 1136 of file machine.c.
References traceRegisterUserEvent().
Referenced by ConverseExit().
Definition at line 1149 of file machine.c.
References CmiAlloc(), CmiGetState(), CmiSendSelf(), ElanSendFn(), CmiStateStruct::pe, and size.
Referenced by CommunicationServer(), and SendSpanningChildren().
| CmiCommHandle CmiAsyncBroadcastFn | ( | int | size, | |
| char * | msg | |||
| ) |
| CmiCommHandle CmiAsyncBroadcastAllFn | ( | int | size, | |
| char * | msg | |||
| ) |
| static CmiIdleState* CmiNotifyGetState | ( | void | ) | [static] |
Definition at line 1290 of file machine.c.
References CmiGetState(), malloc(), and s.
Referenced by CommunicationServer(), ConverseRunPE(), and KillOnAllSigs().
| void elan_barrier | ( | ) |
Definition at line 1342 of file machine.c.
References CmiReleaseSentMessages(), cur_unsent, elan_base, ElanSendQueuedMessages(), and PumpMsgs().
Definition at line 1356 of file machine.c.
References CmiReleaseSentMessages(), cur_unsent, elan_base, ElanSendQueuedMessages(), PumpMsgs(), and size.
| void elan_machine_allreduce | ( | int | nelem, | |
| int | size, | |||
| void * | data, | |||
| void * | dest, | |||
| ELAN_REDUCER | fn | |||
| ) |
Definition at line 1373 of file machine.c.
References CmiReleaseSentMessages(), cur_unsent, elan_base, ElanSendQueuedMessages(), PumpMsgs(), and size.
| void elan_machine_reduce | ( | int | nelem, | |
| int | size, | |||
| void * | data, | |||
| void * | dest, | |||
| ELAN_REDUCER | fn, | |||
| int | root | |||
| ) |
Definition at line 1391 of file machine.c.
References CmiReleaseSentMessages(), cur_unsent, elan_base, ElanSendQueuedMessages(), printf(), PumpMsgs(), sent_msgs, and size.
| void elan_CmiFree | ( | void * | res | ) |
Definition at line 1471 of file machine.c.
References elan_base, enableBufferPooling, free_nomigrate(), localSmallBufferQueue, size, SMALL_MESSAGE_SIZE, and type.
Referenced by CmiFree().
| void* elan_CmiStaticAlloc | ( | int | size | ) |
| void elan_CmiStaticFree | ( | void * | res | ) |
| void ConverseInit | ( | int | argc, | |
| char ** | argv, | |||
| CmiStartFn | fn, | |||
| int | usched, | |||
| int | initret | |||
| ) |
| ELAN_BASE* elan_base |
Definition at line 60 of file machine.c.
Referenced by CmiAllAsyncMsgsSent(), CmiAsyncMsgSent(), CmiBarrier(), CmiBarrierZero(), CmiCpuTimer(), CmiFreeListSendFn(), CmiReleaseSentMessages(), CmiSendPersistentMsg(), CmiTimer(), CmiTimerInit(), CmiWallTimer(), ConverseExit(), ConverseInit(), ConverseRunPE(), elan_barrier(), elan_CmiFree(), elan_machine_allreduce(), elan_machine_broadcast(), elan_machine_reduce(), handleGetHeader(), processGetEnv(), PumpMsgs(), remote_get(), and remote_put_done().
| ELAN_TPORT* elan_port |
Definition at line 61 of file machine.c.
Referenced by CmiFreeSendFn(), ConverseInit(), ElanBasicSendFn(), ElanGetBasedSend(), and PumpMsgs().
| ELAN_QUEUE* elan_q |