X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b9c6a09e911fc100b36051e9c138ae14d1b18b5c..319a100d7f88e1ce33ca97fe868e796ae61304b9:/teshsuite/smpi/allreduce_coll.c diff --git a/teshsuite/smpi/allreduce_coll.c b/teshsuite/smpi/allreduce_coll.c index 197607db6d..8f54a61895 100644 --- a/teshsuite/smpi/allreduce_coll.c +++ b/teshsuite/smpi/allreduce_coll.c @@ -15,7 +15,7 @@ #define EXIT_FAILURE 1 #endif -#define MAXLEN 300000 +//define MAXLEN 300000 int main(int argc, char *argv[]) { @@ -24,28 +24,31 @@ int main(int argc, char *argv[]) int *sb; int *rb; int status; + int mult=1; MPI_Init(&argc, &argv); + int maxlen = argc >= 2 ? atoi(argv[1]) : 1; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); - - sb = (int *) xbt_malloc(size *MAXLEN * sizeof(int)); - rb = (int *) xbt_malloc(size *MAXLEN * sizeof(int)); + if (maxlen>1)mult=size; + sb = (int *) xbt_malloc(size *maxlen * sizeof(int)); + rb = (int *) xbt_malloc(size *maxlen * sizeof(int)); - for (i = 0; i < size *MAXLEN; ++i) { + for (i = 0; i < size *maxlen; ++i) { sb[i] = rank*size + i; rb[i] = 0; } printf("[%d] sndbuf=[", rank); - for (i = 0; i < size *size; i++) + for (i = 0; i < size *mult; i++) printf("%d ", sb[i]); printf("]\n"); - status = MPI_Allreduce(sb, rb, size *MAXLEN, MPI_INT, MPI_SUM, MPI_COMM_WORLD); + status = MPI_Allreduce(sb, rb, size *maxlen, MPI_INT, MPI_SUM, MPI_COMM_WORLD); printf("[%d] rcvbuf=[", rank); - for (i = 0; i < size *size; i++)//do not print everything + for (i = 0; i < size *mult; i++)//do not print everything printf("%d ", rb[i]); printf("]\n");