only start timer after warmup. and only reset memory count once
authorYan Shi <yanshi@uiuc.edu>
Wed, 12 Apr 2006 16:06:51 +0000 (16:06 +0000)
committerYan Shi <yanshi@uiuc.edu>
Wed, 12 Apr 2006 16:06:51 +0000 (16:06 +0000)
every proc

examples/ampi/alltoall/alltoall_VPtest.c

index 0b906a2b370ac7e447d005827112e8f3b530f9e3..4a348eda5e01af8e0f2cdf3268e4e26601268a32 100644 (file)
@@ -91,8 +91,6 @@ main(int argc, char **argv){
   if( my_id == 0 ){
     int flag=0;
  //   printf("Starting benchmark on %d processors with %d iterations\n", p, max_msgs); 
-    Create_Timers (1);
-    Start_Timer (0, ITIMER_REAL);
   }    
   sndbuf = (char *)malloc(msg_size * sizeof(char) * p);
   recvbuf = (char *)malloc(msg_size * sizeof(char) * p);
@@ -105,8 +103,11 @@ main(int argc, char **argv){
 
     // initial memory usage
   memory_before = CmiMemoryUsage();
-  CmiResetMaxMemory();
-  
+  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);
   }
@@ -121,7 +122,6 @@ main(int argc, char **argv){
   // Reduce MAX here
   assert(MPI_SUCCESS==MPI_Reduce(&local_memory_max, &memory_max, 1, MPI_UNSIGNED_LONG, MPI_MAX, 0, MPI_COMM_WORLD));
 
-
   if(my_id==0){
     elapsed_time_msec = Read_Timer (0, ITIMER_REAL) * 1000.0 / max_msgs;
     bandwidth = 2 * 8 * msg_size / (1000.0 * elapsed_time_msec);