changes to propagate objID among SDAG depedence events.
authorGengbin Zheng <gzheng@illinois.edu>
Thu, 21 May 2009 20:36:08 +0000 (20:36 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Thu, 21 May 2009 20:36:08 +0000 (20:36 +0000)
src/ck-perf/trace-bluegene.C
src/ck-perf/trace-bluegene.h

index 064451b99e2e5683a7844140b36592a4155f638d..4e802b1fad921fc616f572919d202d3238404199 100644 (file)
@@ -86,10 +86,11 @@ void TraceBluegene::bgAddTag(const char* str){
   log->setName(str);
 }
 
-void TraceBluegene::bgDummyBeginExec(char* name,void** parentLogPtr)
+void TraceBluegene::bgDummyBeginExec(const char* name,void** parentLogPtr)
 {
   startVTimer();
   if (!genTimeLog) return;
+  CmiAssert(parentLogPtr!=NULL);
   double startTime = BgGetCurTime();
   BgTimeLog* newLog = BgStartLogByName(tTIMELINEREC, _threadEP, name, startTime, *(BgTimeLog**)parentLogPtr);
   // if event's mesgID is (-1:-1) and there is no backward dependence
@@ -175,6 +176,7 @@ void TraceBluegene::getForwardDep(void* log, void** fDepPtr){
 void TraceBluegene::getForwardDepForAll(void** logs1, void** logs2, int logsize,void* fDepPtr){
   if(!genTimeLog) return;
 
+  CmiAssert(logsize>0);
   BgTimeLog* cLog = (BgTimeLog*)fDepPtr;
 
   int i=0;
@@ -189,8 +191,11 @@ void TraceBluegene::getForwardDepForAll(void** logs1, void** logs2, int logsize,
   }
   // CmiAssert(i<logsize+1);
   
-  for(int j=0;j<logsize;j++)   
+  cLog->objId = ((BgTimeLog*)logs1[0])->objId;    // sdag objID
+  for(int j=0;j<logsize;j++)  {
       cLog->addBackwardDep((BgTimeLog*)(logs1[j]));
+      CmiAssert(cLog->objId == ((BgTimeLog*)logs1[j])->objId);
+  }
 }
 
 void TraceBluegene::addBackwardDep(void *log)
@@ -201,13 +206,15 @@ void TraceBluegene::addBackwardDep(void *log)
   BgAddBackwardDep(parentLogPtr, (BgTimeLog*)log);
 }
 
-void TraceBluegene::userBracketEvent(char* name, double bt, double et, void** parentLogPtr){
+void TraceBluegene::userBracketEvent(const char* name, double bt, double et, void** parentLogPtr){
 
   if (!genTimeLog) return;
 
   BgTimeLog* newLog = new BgTimeLog(_threadEP,name,bt,et);
-  if(*parentLogPtr)
+  if(*parentLogPtr) {
     newLog->addBackwardDep(*(BgTimeLog**)parentLogPtr);
+    newLog->objId = (*(BgTimeLog**)parentLogPtr)->objId;        // sdag objID
+  }
   *parentLogPtr = newLog;
   CmiAssert(*parentLogPtr != NULL);
   tTIMELINEREC.logEntryInsert(newLog);
@@ -220,6 +227,8 @@ void TraceBluegene::userBracketEvent(char* name, double bt, double et, void** pa
 
   BgTimeLog* newLog = new BgTimeLog(_threadEP,name,bt,et);
   newLog->addBackwardDeps(bgLogList);
+  CmiAssert(bgLogList.size()>0);
+  newLog->objId = ((BgTimeLog*)bgLogList[0])->objId;   // for sdag
   *parentLogPtr = newLog;
   tTIMELINEREC.logEntryInsert(newLog);
 }
index 1647dc42c3bc8fae04ff474f57cc62db7085a3e4..bf084bce21f715c72ee19177b9108247dd660c23 100644 (file)
@@ -30,7 +30,7 @@ class TraceBluegene : public Trace {
     void getForwardDepForAll(void** logs1, void** logs2, int logsize,void* fDepPtr);
     void tlineEnd(void** parentLogPtr);
     void bgAddTag(const char *str);
-    void bgDummyBeginExec(char* name,void** parentLogPtr);
+    void bgDummyBeginExec(const char* name,void** parentLogPtr);
     void bgBeginExec(char* msg, char *str);
     void bgAmpiBeginExec(char *msg, char *str, void **logs, int count);
     void bgSetInfo(char *msg, char *str, void **logs, int count);
@@ -40,7 +40,7 @@ class TraceBluegene : public Trace {
     virtual void beginExecute(int event,int msgType,int ep,int srcPe, int mlen,CmiObjId *idx);
     void addBackwardDep(void *log);
     void userBracketEvent(int eventID, double bt, double et) {}        // from trace.h
-    void userBracketEvent(char* name, double bt, double et, void** parentLogPtr);
+    void userBracketEvent(const char* name, double bt, double et, void** parentLogPtr);
     void userBracketEvent(char* name, double bt, double et, void** parentLogPtr, CkVec<void*> bgLogList);
     void bgPrint(const char* str);
     void bgMark(char* str);