#include <BackEnd.h>
Static Public Member Functions | |
| void | init (int argc, char **argv) |
| void | exit (void) |
| void | suspend (void) |
| void | awaken (void) |
| void | barrier (void) |
| void | ExitSchedOn (int pe) |
Definition at line 12 of file BackEnd.h.
|
|
Definition at line 165 of file BackEnd.C. References Node::enableExitScheduler(), and Node::Object(). Referenced by Controller::algorithm(), barrier(), and Controller::terminate(). 00165 {
00166 Node::Object()->enableExitScheduler();
00167 }
|
|
|
Definition at line 170 of file BackEnd.C. References awaken(), and suspend().
|
|
|
Definition at line 147 of file BackEnd.C. References ExitSchedOn(), and memusage(). Referenced by Node::earlyExit(), and main(). 00147 {
00148 float cpuTime = CmiCpuTimer() - cpuTime_start;
00149 float wallTime = CmiWallTimer() - wallTime_start;
00150 CmiPrintf("==========================================\n"
00151 "WallClock: %f CPUTime: %f Memory: %d kB\n",
00152 wallTime,cpuTime,memusage()/1024);
00153 int i;
00154 for(i=1; i < CmiNumPes(); i++)
00155 ExitSchedOn(i);
00156 ConverseExit();
00157 }
|
|
|
Definition at line 57 of file BackEnd.C. Referenced by exit(). 00058 {
00059 void* msg = CmiAlloc(CmiMsgHeaderSizeBytes);
00060 CmiSetHandler(msg,CpvAccess(exitSchedHndlr));
00061 CmiSyncSendAndFree(pe,CmiMsgHeaderSizeBytes,(char *)msg);
00062 }
|
|
||||||||||||
|
Definition at line 99 of file BackEnd.C. References all_init(), BOCgroup::broadcastMgr, BOCgroup::collectionMgr, BOCgroup::computeExtMgr, BOCgroup::computeMgr, BOCgroup::computePmeMgr, cpuTime_start, GroupInitMsg::group, BOCgroup::ldbCoordinator, SlaveInitMsg::master, BOCgroup::patchMgr, BOCgroup::proxyMgr, BOCgroup::reductionMgr, slave_init(), BOCgroup::sync, wallTime_start, and BOCgroup::workDistrib. Referenced by main(). 00099 {
00100 ConverseInit(argc, argv, slave_init, 1, 1); // calls slave_init on others
00101 cpuTime_start = CmiCpuTimer();
00102 wallTime_start = CmiWallTimer();
00103 if ( CmiMyPe() ) {
00104 slave_init(argc, argv); // for procs that call main
00105 ConverseExit(); // should never return
00106 }
00107 all_init(argc, argv);
00108
00109 // Create branch-office chares
00110 BOCgroup group;
00111 group.workDistrib = CProxy_WorkDistrib::ckNew();
00112 group.proxyMgr = CProxy_ProxyMgr::ckNew();
00113 group.patchMgr = CProxy_PatchMgr::ckNew();
00114 group.computeMgr = CProxy_ComputeMgr::ckNew();
00115 group.reductionMgr = CProxy_ReductionMgr::ckNew();
00116 group.computePmeMgr = CProxy_ComputePmeMgr::ckNew();
00117 group.computeExtMgr = CProxy_ComputeExtMgr::ckNew();
00118 group.sync = CProxy_Sync::ckNew();
00119
00120 #if CHARM_VERSION > 050402
00121 #ifdef MEM_OPT_VERSION
00122 MasterHandlerInitMsg *initmsg8 = new MasterHandlerInitMsg;
00123 //initmsg8->master = collectionMaster;
00124 CkChareID collectionMasterHanlder = CProxy_CollectionMasterHandler::ckNew(initmsg8, 0);
00125 #else
00126 CkChareID collectionMaster = CProxy_CollectionMaster::ckNew(0);
00127 #endif
00128 #else
00129 CProxy_CollectionMaster coll(0);
00130 CkChareID collectionMaster = coll.ckGetChareId();
00131 #endif
00132
00133 SlaveInitMsg *initmsg7 = new SlaveInitMsg;
00134 #ifndef MEM_OPT_VERSION
00135 initmsg7->master = collectionMaster;
00136 #endif
00137 group.collectionMgr = CProxy_CollectionMgr::ckNew(initmsg7);
00138 group.broadcastMgr = CProxy_BroadcastMgr::ckNew();
00139 group.ldbCoordinator = CProxy_LdbCoordinator::ckNew();
00140 GroupInitMsg *msg = new GroupInitMsg;
00141 msg->group = group;
00142 CProxy_Node::ckNew(msg);
00143
00144 }
|
|
|
Definition at line 160 of file BackEnd.C. Referenced by barrier(). 00160 {
00161 CsdScheduler(-1);
00162 }
|
1.3.9.1