X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2a7da3fc475a11817defb8d201da3887c9215b1a..31bc8c4868d7518f247a8f8c371b175ed80dc6b5:/teshsuite/smpi/bcast_coll.c diff --git a/teshsuite/smpi/bcast_coll.c b/teshsuite/smpi/bcast_coll.c index 008543a04b..ea0709263b 100644 --- a/teshsuite/smpi/bcast_coll.c +++ b/teshsuite/smpi/bcast_coll.c @@ -10,6 +10,7 @@ int main(int argc, char **argv) { int i, size, rank; + int count = 2048; int *values; int status; @@ -17,27 +18,44 @@ int main(int argc, char **argv) MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); - values = (int *) xbt_malloc(size * sizeof(int)); + values = (int *) xbt_malloc(count * sizeof(int)); - for (i = 0; i < size; i++) + for (i = 0; i < count; i++) values[i] = (0 == rank) ? 17 : 3; - status = MPI_Bcast(values, size, MPI_INT, 0, MPI_COMM_WORLD); + status = MPI_Bcast(values, count, MPI_INT, 0, MPI_COMM_WORLD); - printf("[%d] values=[", rank); - for (i = 0; i < size; i++) - printf("%d ", values[i]); - printf("]\n"); + int good = 0; + for (i = 0; i < count; i++) + if (values[i]==17) good++; + printf("[%d] number of values equals to 17: %d\n", rank, good); MPI_Barrier(MPI_COMM_WORLD); + xbt_free(values); + count = 4096; + values = (int *) xbt_malloc(count * sizeof(int)); + + for (i = 0; i < count; i++) + values[i] = (size -1 == rank) ? 17 : 3; + + status = MPI_Bcast(values, count, MPI_INT, size-1, MPI_COMM_WORLD); + + good = 0; + for (i = 0; i < count; i++) + if (values[i]==17) good++; + printf("[%d] number of values equals to 17: %d\n", rank, good); + + + + if (rank == 0) { if (status != MPI_SUCCESS) { printf("bcast returned %d\n", status); fflush(stdout); } } - + xbt_free(values); MPI_Finalize(); return 0; }