00001 #include "TraceSimple.decl.h" 00002 00003 extern CkGroupID traceSimpleGID; 00004 00005 // We typically declare parallel object classes here for the purposes of 00006 // performing parallel operations for the trace module after the main 00007 // application has completed execution (and calls CkExit()). 00008 // 00009 // TraceSimpleInit is an initialization class. 00010 // 00011 // TraceSimpleBOC is a one-per-processor object (defined in the .ci file as 00012 // a "group" instead of a "chare") which hosts the methods for the 00013 // parallel operations. In this case, there are no methods defined. 00014 // Otherwise, one may write any Charm++ code here. 00015 00016 class TraceSimpleInit : public Chare { 00017 public: 00018 TraceSimpleInit(CkArgMsg *m) { 00019 delete m; 00020 traceSimpleGID = CProxy_TraceSimpleBOC::ckNew(); 00021 CProxy_TraceSimpleBOC simpleProxy(traceSimpleGID); 00022 } 00023 TraceSimpleInit(CkMigrateMessage *m):Chare(m) {} 00024 }; 00025 00026 class TraceSimpleBOC : public CBase_TraceSimpleBOC { 00027 public: 00028 TraceSimpleBOC(void) {}; 00029 TraceSimpleBOC(CkMigrateMessage *m) {}; 00030 }; 00031 00032