X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f9ce34ef145b9e10cb8e955836b7651192dbe81..638244c0b6c08e5208c154f0d53b37ddc82c80c2:/examples/smpi/smpi_traced.c diff --git a/examples/smpi/smpi_traced.c b/examples/smpi/smpi_traced.c index 3fa968fbd6..b39cc327b0 100644 --- a/examples/smpi/smpi_traced.c +++ b/examples/smpi/smpi_traced.c @@ -6,6 +6,9 @@ #include "mpi.h" #include +#include "instr/instr.h" + +#define DATATOSENT 100000 int main(int argc, char *argv[]) { @@ -50,21 +53,24 @@ int main(int argc, char *argv[]) MPI_Status status; MPI_Request req[2*N]; MPI_Status sta[2*N]; - int r; + int *r = (int*)malloc(sizeof(int)*DATATOSENT); if (A){ - MPI_Isend(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &request); + TRACE_smpi_set_category ("A"); + MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &request); MPI_Wait (&request, &status); } MPI_Barrier (MPI_COMM_WORLD); if (B){ - MPI_Send(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); + TRACE_smpi_set_category ("B"); + MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD); } MPI_Barrier (MPI_COMM_WORLD); if (C){ + TRACE_smpi_set_category ("C"); for (i = 0; i < N; i++){ - MPI_Isend(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); + MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ MPI_Wait (&req[i], &sta[i]); @@ -73,8 +79,9 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (D){ + TRACE_smpi_set_category ("D"); for (i = 0; i < N; i++){ - MPI_Isend(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); + MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ int completed; @@ -84,48 +91,53 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (E){ + TRACE_smpi_set_category ("E"); for (i = 0; i < N; i++){ - MPI_Send(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD); } } MPI_Barrier (MPI_COMM_WORLD); if (F){ + TRACE_smpi_set_category ("F"); for (i = 0; i < N; i++){ - MPI_Send(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD); } } MPI_Barrier (MPI_COMM_WORLD); if (G){ + TRACE_smpi_set_category ("G"); for (i = 0; i < N; i++){ - MPI_Isend(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); + MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); } MPI_Waitall (N, req, sta); } MPI_Barrier (MPI_COMM_WORLD); if (H){ + TRACE_smpi_set_category ("H"); for (i = 0; i < N; i++){ - MPI_Send(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD); } } MPI_Barrier (MPI_COMM_WORLD); if (I){ + TRACE_smpi_set_category ("I"); for (i = 0; i < 2*N; i++){ if (i < N){ - MPI_Send(&rank, 1, MPI_INT, 2, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD); }else{ - MPI_Send(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD); } } MPI_Barrier (MPI_COMM_WORLD); for (i = 0; i < 2*N; i++){ if (i < N){ - MPI_Irecv(&r, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); }else{ - MPI_Irecv(&r, 1, MPI_INT, 2, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD, &req[i]); } } MPI_Waitall (2*N, req, sta); @@ -133,8 +145,9 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (J){ + TRACE_smpi_set_category ("J"); for (i = 0; i < N; i++){ - MPI_Isend(&rank, 1, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); + MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ int flag; @@ -153,36 +166,41 @@ int main(int argc, char *argv[]) MPI_Status status; MPI_Request req[N]; MPI_Status sta[N]; - int r; + int *r = (int*)malloc(sizeof(int)*DATATOSENT); if (A){ - MPI_Recv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &status); + TRACE_smpi_set_category ("A"); + MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &status); } MPI_Barrier (MPI_COMM_WORLD); if (B){ - MPI_Irecv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &request); + TRACE_smpi_set_category ("B"); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &request); MPI_Wait (&request, &status); } MPI_Barrier (MPI_COMM_WORLD); if (C){ + TRACE_smpi_set_category ("C"); for (i = 0; i < N; i++){ - MPI_Recv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); + MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); } } MPI_Barrier (MPI_COMM_WORLD); if (D){ + TRACE_smpi_set_category ("D"); for (i = 0; i < N; i++){ - MPI_Recv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); + MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); } } MPI_Barrier (MPI_COMM_WORLD); if (E){ + TRACE_smpi_set_category ("E"); for (i = 0; i < N; i++){ - MPI_Irecv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ MPI_Wait (&req[i], &sta[i]); @@ -191,8 +209,9 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (F){ + TRACE_smpi_set_category ("F"); for (i = 0; i < N; i++){ - MPI_Irecv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ int completed; @@ -202,29 +221,32 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (G){ + TRACE_smpi_set_category ("G"); for (i = 0; i < N; i++){ - MPI_Recv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); + MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]); } } MPI_Barrier (MPI_COMM_WORLD); if (H){ + TRACE_smpi_set_category ("H"); for (i = 0; i < N; i++){ - MPI_Irecv(&rank, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } MPI_Waitall (N, req, sta); } MPI_Barrier (MPI_COMM_WORLD); if (I){ + TRACE_smpi_set_category ("I"); for (i = 0; i < N; i++){ - MPI_Irecv(&rank, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[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++){ - MPI_Isend(&rank, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Isend(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } MPI_Waitall (N, req, sta); // for (i = 0; i < N; i++){ @@ -234,8 +256,9 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); if (J){ + TRACE_smpi_set_category ("J"); for (i = 0; i < N; i++){ - MPI_Irecv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ int flag; @@ -254,7 +277,7 @@ int main(int argc, char *argv[]) // MPI_Status status; MPI_Request req[N]; MPI_Status sta[N]; - int r; + int *r = (int*)malloc(sizeof(int)*DATATOSENT); if (A) {} MPI_Barrier (MPI_COMM_WORLD); @@ -273,8 +296,9 @@ int main(int argc, char *argv[]) if (H) {} MPI_Barrier (MPI_COMM_WORLD); if (I){ + TRACE_smpi_set_category ("I"); for (i = 0; i < N; i++){ - MPI_Irecv(&r, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); + MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]); } for (i = 0; i < N; i++){ int completed; @@ -283,7 +307,7 @@ int main(int argc, char *argv[]) MPI_Barrier (MPI_COMM_WORLD); for (i = 0; i < N; i++){ - MPI_Send(&rank, 1, MPI_INT, 0, tag, MPI_COMM_WORLD); + MPI_Send(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD); } } MPI_Barrier (MPI_COMM_WORLD);