#include "mpi.h"
#include <stdio.h>
+#include "instr/instr.h"
#define DATATOSENT 100000000
MPI_Status sta[2*N];
int *r = (int*)malloc(sizeof(int)*DATATOSENT);
if (A){
+ 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){
+ 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(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (D){
+ TRACE_smpi_set_category ("D");
for (i = 0; i < N; i++){
MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (E){
+ TRACE_smpi_set_category ("E");
for (i = 0; i < N; i++){
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(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(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (H){
+ TRACE_smpi_set_category ("H");
for (i = 0; i < N; i++){
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(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD);
MPI_Barrier (MPI_COMM_WORLD);
if (J){
+ TRACE_smpi_set_category ("J");
for (i = 0; i < N; i++){
MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
}
int *r = (int*)malloc(sizeof(int)*DATATOSENT);
if (A){
+ TRACE_smpi_set_category ("A");
MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &status);
}
MPI_Barrier (MPI_COMM_WORLD);
if (B){
+ 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, 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, 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, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (F){
+ TRACE_smpi_set_category ("F");
for (i = 0; i < N; i++){
MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (G){
+ TRACE_smpi_set_category ("G");
for (i = 0; i < N; 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(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (I){
+ TRACE_smpi_set_category ("I");
for (i = 0; i < N; i++){
MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
MPI_Barrier (MPI_COMM_WORLD);
if (J){
+ TRACE_smpi_set_category ("J");
for (i = 0; i < N; i++){
MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
if (H) {}
MPI_Barrier (MPI_COMM_WORLD);
if (I){
+ TRACE_smpi_set_category ("I");
for (i = 0; i < N; i++){
MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}