X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d5b29830df70e823202e384a7655e4371193ecd7..996be9435416557e2c1b20cbf462848b475d168d:/teshsuite/smpi/coll-allreduce/coll-allreduce.c diff --git a/teshsuite/smpi/coll-allreduce/coll-allreduce.c b/teshsuite/smpi/coll-allreduce/coll-allreduce.c index 45eeb9c8e5..a15eb6060b 100644 --- a/teshsuite/smpi/coll-allreduce/coll-allreduce.c +++ b/teshsuite/smpi/coll-allreduce/coll-allreduce.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2010, 2013-2014. The SimGrid Team. +/* Copyright (c) 2009-2010, 2013-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -10,11 +10,6 @@ #include #include "mpi.h" -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 -#endif - int main(int argc, char *argv[]) { int rank; @@ -29,7 +24,7 @@ int main(int argc, char *argv[]) MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if (maxlen > 1) - mult = size; + mult = maxlen > size ? size : maxlen; int* sb = (int *) xbt_malloc(size *maxlen * sizeof(int)); int* rb = (int *) xbt_malloc(size *maxlen * sizeof(int)); @@ -42,7 +37,6 @@ int main(int argc, char *argv[]) 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); printf("[%d] rcvbuf=[", rank); @@ -50,11 +44,9 @@ int main(int argc, char *argv[]) printf("%d ", rb[i]); printf("]\n"); - if (rank == 0) { - if (status != MPI_SUCCESS) { - printf("all_to_all returned %d\n", status); - fflush(stdout); - } + if (rank == 0 && status != MPI_SUCCESS) { + printf("all_to_all returned %d\n", status); + fflush(stdout); } xbt_free(sb); xbt_free(rb);