Fixed the resetting of max memory counter after the warmup phase. It needs barriers...
authorIsaac Dooley <idooley2@illinois.edu>
Wed, 12 Apr 2006 16:41:08 +0000 (16:41 +0000)
committerIsaac Dooley <idooley2@illinois.edu>
Wed, 12 Apr 2006 16:41:08 +0000 (16:41 +0000)
that it works.

examples/ampi/alltoall/alltoall_VPtest.c

index 4a348eda5e01af8e0f2cdf3268e4e26601268a32..116fc785b0f747b47d52528f2c8b8960e7ae7ed8 100644 (file)
@@ -99,21 +99,22 @@ main(int argc, char **argv){
   for(i=0; i<max_msgs; i++) {
     MPI_Alltoall(sndbuf, msg_size, MPI_CHAR, recvbuf, msg_size, MPI_CHAR, MPI_COMM_WORLD);
   }
+
+  MPI_Barrier(MPI_COMM_WORLD); 
+  CmiResetMaxMemory();
+  memory_before = CmiMemoryUsage();  // initial memory usage
   MPI_Barrier(MPI_COMM_WORLD); 
 
-    // initial memory usage
-  memory_before = CmiMemoryUsage();
   if(my_id == 0){
-    CmiResetMaxMemory();
     Create_Timers (1);
     Start_Timer (0, ITIMER_REAL); 
   }
   for(i=0; i<max_msgs; i++) {
     MPI_Alltoall(sndbuf, msg_size, MPI_CHAR, recvbuf, msg_size, MPI_CHAR, MPI_COMM_WORLD);
   }
-  MPI_Barrier(MPI_COMM_WORLD); 
-
+  MPI_Barrier(MPI_COMM_WORLD);
   memory_after = CmiMemoryUsage();
+
   if (CmiMaxMemoryUsage() < memory_before)  
     local_memory_max = 0;
   else