00001 #include "TraceTau.decl.h" 00002 00003 extern CkGroupID traceTauGID; 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 // TraceTauInit is an initialization class. 00010 // 00011 // TraceTauBOC 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 TraceTauInit : public Chare { 00017 public: 00018 TraceTauInit(CkArgMsg *m) { 00019 delete m; 00020 traceTauGID = CProxy_TraceTauBOC::ckNew(); 00021 CProxy_TraceTauBOC tauProxy(traceTauGID); 00022 } 00023 TraceTauInit(CkMigrateMessage *m):Chare(m) {} 00024 }; 00025 00026 class TraceTauBOC : public CBase_TraceTauBOC { 00027 public: 00028 TraceTauBOC(void) {}; 00029 TraceTauBOC(CkMigrateMessage *m) {}; 00030 }; 00031 00032