Go to the source code of this file.
Data Structures | |
struct | CldProcInfo_s |
Typedefs | |
typedef struct CldProcInfo_s * | CldProcInfo |
Functions | |
void | gengraph (int, int, int, int *, int *) |
CpvStaticDeclare (CldProcInfo, CldData) | |
CpvStaticDeclare (int, CldLoadResponseHandlerIndex) | |
CpvStaticDeclare (int, CldAskLoadHandlerIndex) | |
CpvStaticDeclare (int, MinLoad) | |
CpvStaticDeclare (int, MinProc) | |
CpvStaticDeclare (int, Mindex) | |
CpvStaticDeclare (int, start) | |
CpvStaticDeclare (loadmsg *, msgpool) | |
static loadmsg * | getPool (void) |
static void | putPool (loadmsg *msg) |
void | LoadNotifyFn (int l) |
const char * | CldGetStrategy (void) |
static void | CldBeginIdle (void *dummy) |
static void | CldEndIdle (void *dummy) |
static void | CldStillIdle (void *dummy, double curT) |
static void | CldAskLoadHandler (requestmsg *msg) |
void | CldSendLoad (void) |
int | CldMinAvg (void) |
void | CldBalance (void *dummy, double curT) |
void | CldBalancePeriod (void *dummy, double curT) |
void | CldLoadResponseHandler (loadmsg *msg) |
void | CldBalanceHandler (void *msg) |
void | CldHandler (void *msg) |
void | CldEnqueueGroup (CmiGroup grp, void *msg, int infofn) |
void | CldEnqueueMulti (int npes, const int *pes, void *msg, int infofn) |
void | CldEnqueue (int pe, void *msg, int infofn) |
void | CldNodeEnqueue (int node, void *msg, int infofn) |
void | CldReadNeighborData (void) |
static void | CldComputeNeighborData (void) |
static void | topo_callback (void) |
void | CldGraphModuleInit (char **argv) |
void | CldModuleInit (char **argv) |
Variables | |
static int | LBPeriod = PERIOD |
static int | overload_threshold = MAXOVERLOAD |
char * | _lbtopo |
int | _lbsteal = 0 |
typedef struct CldProcInfo_s * CldProcInfo |
Referenced by CldGraphModuleInit(), LBTopo_graph_nc< dimension >::neighbors(), and LBTopo_graph::neighbors().
CpvStaticDeclare | ( | CldProcInfo | , | |
CldData | ||||
) |
CpvStaticDeclare | ( | int | , | |
CldLoadResponseHandlerIndex | ||||
) |
CpvStaticDeclare | ( | int | , | |
CldAskLoadHandlerIndex | ||||
) |
CpvStaticDeclare | ( | int | , | |
MinLoad | ||||
) |
CpvStaticDeclare | ( | int | , | |
MinProc | ||||
) |
CpvStaticDeclare | ( | int | , | |
Mindex | ||||
) |
CpvStaticDeclare | ( | int | , | |
start | ||||
) |
CpvStaticDeclare | ( | loadmsg * | , | |
msgpool | ||||
) |
static loadmsg* getPool | ( | void | ) | [inline, static] |
Definition at line 48 of file cldb.neighbor.C.
References CmiAlloc(), and msg.
Referenced by CldSendLoad().
static void putPool | ( | loadmsg * | msg | ) | [inline, static] |
Definition at line 65 of file cldb.neighbor.C.
Referenced by CldLoadResponseHandler().
void LoadNotifyFn | ( | int | l | ) |
const char* CldGetStrategy | ( | void | ) |
Definition at line 79 of file cldb.neighbor.C.
static void CldBeginIdle | ( | void * | dummy | ) | [static] |
Definition at line 85 of file cldb.neighbor.C.
References CmiWallTimer().
Referenced by CldGraphModuleInit(), and CldOtherInit().
static void CldEndIdle | ( | void * | dummy | ) | [static] |
Definition at line 90 of file cldb.neighbor.C.
Referenced by CldOtherInit().
static void CldStillIdle | ( | void * | dummy, | |
double | curT | |||
) | [static] |
Definition at line 95 of file cldb.neighbor.C.
References CldCountTokens(), CmiMyPe(), CmiNodeOf(), CmiRankOf(), Converse::CmiSyncMulticast(), CmiWallTimer(), requestmsg_s::from_pe, CldProcInfo_s::idleEvt, CldProcInfo_s::lastCheck, msg, CldProcInfo_s::sent, startT, requestmsg_s::to_rank, and traceUserBracketEvent().
Referenced by CldGraphModuleInit(), and CldOtherInit().
static void CldAskLoadHandler | ( | requestmsg * | msg | ) | [static] |
Definition at line 134 of file cldb.neighbor.C.
References CldCountTokens(), CldMultipleSend(), CmiDelayImmediate(), CmiFree(), CmiMyRank(), CmiTryLock(), CmiUnlock(), CmiWallTimer(), requestmsg_s::from_pe, CldProcInfo_s::idleprocEvt, rank, requestmsg_s::to_rank, and traceUserBracketEvent().
Referenced by CldGraphModuleInit(), and CldModuleInit().
void CldSendLoad | ( | void | ) |
Definition at line 178 of file cldb.neighbor.C.
References CldCountTokens(), CmiMyPe(), Converse::CmiSyncMulticast(), Converse::CmiSyncSendAndFree(), getPool(), and msg.
Referenced by CldBalance().
int CldMinAvg | ( | void | ) |
Definition at line 221 of file cldb.neighbor.C.
References CldCountTokens(), CldLoadRank(), CmiMyPe(), and int.
Referenced by CldBalance(), CldEnqueue(), and CldNodeEnqueue().
void CldBalance | ( | void * | dummy, | |
double | curT | |||
) |
Definition at line 260 of file cldb.neighbor.C.
References CldCountTokens(), CldMinAvg(), CldMultipleSend(), CldSendLoad(), CldSimpleMultipleSend(), CmiMyRank(), CmiWallTimer(), overload_threshold, startT, and traceUserBracketEvent().
Referenced by CldBalancePeriod().
void CldBalancePeriod | ( | void * | dummy, | |
double | curT | |||
) |
Definition at line 319 of file cldb.neighbor.C.
References CcdCallFnAfterOnPE(), CldBalance(), CmiMyPe(), and LBPeriod.
Referenced by topo_callback().
void CldLoadResponseHandler | ( | loadmsg * | msg | ) |
Definition at line 326 of file cldb.neighbor.C.
References CmiFree(), CmiWallTimer(), index, putPool(), startT, and traceUserBracketEvent().
Referenced by CldGraphModuleInit().
void CldBalanceHandler | ( | void * | msg | ) |
Definition at line 360 of file cldb.neighbor.C.
References CldPutToken(), and CldRestoreHandler().
void CldHandler | ( | void * | msg | ) |
Definition at line 366 of file cldb.neighbor.C.
References CldRestoreHandler(), and len.
Definition at line 378 of file cldb.neighbor.C.
References CldSwitchHandler(), Converse::CmiSyncMulticastAndFree(), and len.
Definition at line 394 of file cldb.neighbor.C.
References CldSwitchHandler(), Converse::CmiSyncListSendAndFree(), and len.
Definition at line 415 of file cldb.neighbor.C.
References CldCountTokens(), CldMinAvg(), CldNodeEnqueue(), CldPutToken(), CldSwitchHandler(), CmiMyPe(), CmiNodeOf(), Converse::CmiSyncBroadcastAllAndFree(), Converse::CmiSyncBroadcastAndFree(), Converse::CmiSyncSendAndFree(), and len.
Definition at line 475 of file cldb.neighbor.C.
References CldCountTokens(), CldMinAvg(), CldSwitchHandler(), CmiMyPe(), CmiNodeOf(), and len.
void CldReadNeighborData | ( | void | ) |
Definition at line 525 of file cldb.neighbor.C.
References calloc(), CmiAbort(), CmiError(), CmiEstablishGroup(), CmiMyPe(), int, and CldNeighborData_s::pe.
Referenced by CldGraphModuleInit().
static void CldComputeNeighborData | ( | void | ) | [static] |
Definition at line 557 of file cldb.neighbor.C.
References _lbtopo, buf, calloc(), CmiAbort(), CmiEstablishGroup(), CmiMyPe(), CmiPrintf(), free(), getTopoMaxNeighbors(), getTopoNeighbors(), LBTopoLookup(), malloc(), npes, and printoutTopo().
Referenced by topo_callback().
static void topo_callback | ( | void | ) | [static] |
Definition at line 605 of file cldb.neighbor.C.
References CldBalancePeriod(), CldComputeNeighborData(), CmiNodeBarrier(), and CmiWallTimer().
Referenced by CldGraphModuleInit().
void CldGraphModuleInit | ( | char ** | argv | ) |
Definition at line 614 of file cldb.neighbor.C.
References _lbsteal, _lbtopo, CcdCallOnCondition(), CcdCallOnConditionKeep(), CldAskLoadHandler(), CldBalanceHandler(), CldBeginIdle(), CldLoadResponseHandler(), CldReadNeighborData(), CldStillIdle(), CmiAlloc(), CmiGetArgFlagDesc(), CmiGetArgIntDesc(), CmiGetArgStringDesc(), CmiMyPe(), CmiMyRank(), CmiPrintf(), CmiRegisterHandler(), gengraph(), LBPeriod, overload_threshold, topo_callback(), and traceRegisterUserEvent().
Referenced by CldModuleInit().
Definition at line 16 of file cldb.neighbor.C.
Referenced by CldBalancePeriod(), and CldGraphModuleInit().
int overload_threshold = MAXOVERLOAD [static] |
Definition at line 17 of file cldb.neighbor.C.
Referenced by CldBalance(), and CldGraphModuleInit().
char* _lbtopo |
Definition at line 29 of file cldb.neighbor.C.
Referenced by CldGraphModuleInit(), and CldOtherInit().