Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / examples / smpi / trace / trace.c
index 786b9e2..0ae2cef 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2010, 2012-2015. The SimGrid Team.
+/* Copyright (c) 2009-2023. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -7,17 +7,19 @@
 #include <stdio.h>
 #include "mpi.h"
 #include "simgrid/instr.h"
+#include <unistd.h>
 
 #define DATATOSENT 100000
 
 int main(int argc, char *argv[])
 {
-  int rank, numprocs, i;
+  int rank;
+  int numprocs;
 
   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
+  sleep(rank);
   /** Tests:
   * A: 0(isend -> wait) with 1(recv)
   * B: 0(send) with 1(irecv -> wait)
@@ -58,51 +60,51 @@ int main(int argc, char *argv[])
 
     /** Test C */
     TRACE_smpi_set_category("C");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Wait(&req[i], &sta[i]);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("D");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       int completed;
       MPI_Waitany(N, req, &completed, sta);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("E");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("F");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("G");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
     }
     MPI_Waitall(N, req, sta);
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("H");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("I");
-    for (i = 0; i < 2 * N; i++) {
+    for (int i = 0; i < 2 * N; i++) {
       if (i < N) {
         MPI_Send(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD);
       } else {
@@ -110,7 +112,7 @@ int main(int argc, char *argv[])
       }
     }
     MPI_Barrier(MPI_COMM_WORLD);
-    for (i = 0; i < 2 * N; i++) {
+    for (int i = 0; i < 2 * N; i++) {
       if (i < N) {
         MPI_Irecv(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
       } else {
@@ -121,14 +123,14 @@ int main(int argc, char *argv[])
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("J");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       int flag;
       MPI_Test(&req[i], &flag, &sta[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Wait(&req[i], &sta[i]);
     }
     free(r);
@@ -152,71 +154,71 @@ int main(int argc, char *argv[])
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("C");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("D");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("E");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Wait(&req[i], &sta[i]);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("F");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       int completed;
       MPI_Waitany(N, req, &completed, sta);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("G");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("H");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
     MPI_Waitall(N, req, sta);
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("I");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
     MPI_Waitall(N, req, sta);
 
     MPI_Barrier(MPI_COMM_WORLD);
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Isend(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
     MPI_Waitall(N, req, sta);
     MPI_Barrier(MPI_COMM_WORLD);
 
     TRACE_smpi_set_category("J");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       int flag;
       MPI_Test(&req[i], &flag, &sta[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Wait(&req[i], &sta[i]);
     }
     free(r);
@@ -237,16 +239,16 @@ int main(int argc, char *argv[])
     MPI_Barrier(MPI_COMM_WORLD);
     MPI_Barrier(MPI_COMM_WORLD);
     TRACE_smpi_set_category("I");
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
     }
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       int completed;
       MPI_Waitany(N, req, &completed, sta);
     }
     MPI_Barrier(MPI_COMM_WORLD);
 
-    for (i = 0; i < N; i++) {
+    for (int i = 0; i < N; i++) {
       MPI_Send(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD);
     }
     MPI_Barrier(MPI_COMM_WORLD);