
00001 #include "TraceControlPoints.decl.h" 00002 00003 extern CkGroupID traceControlPointsGID; 00004 00005 00006 // We typically declare parallel object classes here for the purposes of 00007 // performing parallel operations for the trace module after the main 00008 // application has completed execution (and calls CkExit()). 00009 // 00010 // TraceControlPointsInit is an initialization class. 00011 // 00012 // TraceControlPointsBOC is a one-per-processor object (defined in the .ci file as 00013 // a "group" instead of a "chare") which hosts the methods for the 00014 // parallel operations. In this case, there are no methods defined. 00015 // Otherwise, one may write any Charm++ code here. 00016 00017 class TraceControlPointsInit : public Chare { 00018 public: 00019 TraceControlPointsInit(CkArgMsg*) { 00020 traceControlPointsGID = CProxy_TraceControlPointsBOC::ckNew(); 00021 CProxy_TraceControlPointsBOC controlPointsProxy(traceControlPointsGID); 00022 //CkPrintf("Initializing counters on pe %d\n", CkMyPe()); 00023 00024 } 00025 TraceControlPointsInit(CkMigrateMessage *m):Chare(m) {} 00026 }; 00027 00028 class TraceControlPointsBOC : public CBase_TraceControlPointsBOC { 00029 public: 00030 TraceControlPointsBOC(void) { 00031 }; 00032 00033 00034 void pup(PUP::er &p) 00035 { 00036 CBase_TraceControlPointsBOC::pup(p); 00037 } 00038 00039 TraceControlPointsBOC(CkMigrateMessage *m) : CBase_TraceControlPointsBOC(m) {}; 00040 00041 }; 00042 00043
1.5.5