X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b73466ada27682d1729f394549479da83ef4a99..90f50bba185f1c86225aa498dcc3a01c9080b52b:/teshsuite/smpi/mpich3-test/coll/redscatinter.c diff --git a/teshsuite/smpi/mpich3-test/coll/redscatinter.c b/teshsuite/smpi/mpich3-test/coll/redscatinter.c index bebfd8a75c..b1415cc8eb 100644 --- a/teshsuite/smpi/mpich3-test/coll/redscatinter.c +++ b/teshsuite/smpi/mpich3-test/coll/redscatinter.c @@ -3,11 +3,11 @@ * (C) 2011 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */ -/* +/* * Test of reduce scatter with large data on an intercommunicator * (needed in MPICH to trigger the long-data algorithm) * - * Each processor contributes its rank + the index to the reduction, + * Each processor contributes its rank + the index to the reduction, * then receives the ith sum * * Can be called with any number of processors. @@ -17,101 +17,95 @@ #include #include #include "mpitest.h" +#include "mpicolltest.h" -int main( int argc, char **argv ) +int main(int argc, char **argv) { - int err = 0; - int *recvcounts; - int size, rsize, rank, i; - int recvcount, /* Each process receives this much data */ - sendcount, /* Each process contributes this much data */ - basecount; /* Unit of elements - basecount *rsize is recvcount, - etc. */ - int isLeftGroup; + int err = 0; + int *recvcounts; + int size, rsize, rank, i; + int recvcount, /* Each process receives this much data */ + sendcount, /* Each process contributes this much data */ + basecount; /* Unit of elements - basecount *rsize is recvcount, + * etc. */ + int isLeftGroup; long long *sendbuf, *recvbuf; long long sumval; MPI_Comm comm; - MTest_Init( &argc, &argv ); + MTest_Init(&argc, &argv); comm = MPI_COMM_WORLD; basecount = 1024; - while (MTestGetIntercomm( &comm, &isLeftGroup, 2 )) { - if (comm == MPI_COMM_NULL) continue; - - MPI_Comm_remote_size( comm, &rsize ); - MPI_Comm_size( comm, &size ); - MPI_Comm_rank( comm, &rank ); - - if (0) { - printf( "[%d] %s (%d,%d) remote %d\n", rank, - isLeftGroup ? "L" : "R", - rank, size, rsize ); - } - - recvcount = basecount * rsize; - sendcount = basecount * rsize * size; - - recvcounts = (int *)malloc( size * sizeof(int) ); - if (!recvcounts) { - fprintf( stderr, "Could not allocate %d int for recvcounts\n", - size ); - MPI_Abort( MPI_COMM_WORLD, 1 ); - } - for (i=0; i