X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d18e615eaa617d3354bc22dfbe711d34be9f902..26a7a4aa12a348c085ec0d7e163692efc6efaeec:/teshsuite/smpi/reduce_coll.c diff --git a/teshsuite/smpi/reduce_coll.c b/teshsuite/smpi/reduce_coll.c index df40dc224c..65ecebd6f7 100644 --- a/teshsuite/smpi/reduce_coll.c +++ b/teshsuite/smpi/reduce_coll.c @@ -34,16 +34,16 @@ int main(int argc, char *argv[]) sb[i] = rank*size + i; rb[i] = 0; } - printf("[%d] sndbuf=[", rank); for (i = 0; i < size; i++) printf("%d ", sb[i]); printf("]\n"); - - status = MPI_Reduce(sb, rb, size, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); + + int root=0; + status = MPI_Reduce(sb, rb, size, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD); - if (rank == 0) { + if (rank == root) { printf("[%d] rcvbuf=[", rank); for (i = 0; i < size; i++) printf("%d ", rb[i]); @@ -53,6 +53,27 @@ int main(int argc, char *argv[]) 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); + + if (rank == root) { + printf("[%d] rcvbuf=[", rank); + for (i = 0; i < 1; i++) + printf("%d ", rb[i]); + printf("]\n"); + if (status != MPI_SUCCESS) { + printf("all_to_all returned %d\n", status); + fflush(stdout); + } + } free(sb); free(rb); MPI_Finalize();