X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98aaf6c28dde5365ca65b9b18182042f45867e70..1e09e1421647408f991d54848b90d9404e9154f6:/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 37f1594e33..c35732fce6 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-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -17,10 +17,9 @@ int main(int argc, char *argv[]) { - int rank, size; + int rank; + int size; int i; - int *sb; - int *rb; int status; int mult=1; @@ -29,10 +28,11 @@ 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; - sb = (int *) xbt_malloc(size *maxlen * sizeof(int)); - rb = (int *) xbt_malloc(size *maxlen * sizeof(int)); - + if (maxlen > 1) + mult = maxlen > size ? size : maxlen; + int* sb = (int *) xbt_malloc(size *maxlen * sizeof(int)); + int* rb = (int *) xbt_malloc(size *maxlen * sizeof(int)); + for (i = 0; i < size *maxlen; ++i) { sb[i] = rank*size + i; rb[i] = 0; @@ -50,14 +50,12 @@ 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); } - free(sb); - free(rb); + xbt_free(sb); + xbt_free(rb); MPI_Finalize(); return (EXIT_SUCCESS); }