sb = (int *) xbt_malloc(size * sizeof(int));
rb = (int *) xbt_malloc(size * sizeof(int));
-
+
for (i = 0; i < size; ++i) {
sb[i] = rank*size + i;
rb[i] = 0;
for (i = 0; i < size; i++)
printf("%d ", sb[i]);
printf("]\n");
-
+
int root=0;
status = MPI_Reduce(sb, rb, size, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD);
MPI_Barrier(MPI_COMM_WORLD);
fflush(stdout);
}
}
-
-
+
printf("[%d] second sndbuf=[", rank);
for (i = 0; i < 1; i++)
printf("%d ", sb[i]);
printf("]\n");
-
+
root=size-1;
status = MPI_Reduce(sb, rb, 1, MPI_INT, MPI_PROD, root, MPI_COMM_WORLD);
MPI_Barrier(MPI_COMM_WORLD);