X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0e9c0448c6566825b170b98ecff716b098bda10e..b382315f0693083344eb9a25a8fc37b7091bddc7:/teshsuite/smpi/mpich3-test/comm/commcreate1.c diff --git a/teshsuite/smpi/mpich3-test/comm/commcreate1.c b/teshsuite/smpi/mpich3-test/comm/commcreate1.c index edb60fdda2..514dc6d0ea 100644 --- a/teshsuite/smpi/mpich3-test/comm/commcreate1.c +++ b/teshsuite/smpi/mpich3-test/comm/commcreate1.c @@ -12,128 +12,128 @@ processes in the communicator. */ -void abortMsg( const char *, int ); -int BuildComm( MPI_Comm, MPI_Group, const char [] ); +void abortMsg(const char *, int); +int BuildComm(MPI_Comm, MPI_Group, const char[]); -void abortMsg( const char *str, int code ) +void abortMsg(const char *str, int code) { char msg[MPI_MAX_ERROR_STRING]; int class, resultLen; - MPI_Error_class( code, &class ); - MPI_Error_string( code, msg, &resultLen ); - fprintf( stderr, "%s: errcode = %d, class = %d, msg = %s\n", - str, code, class, msg ); - MPI_Abort( MPI_COMM_WORLD, code ); + MPI_Error_class(code, &class); + MPI_Error_string(code, msg, &resultLen); + fprintf(stderr, "%s: errcode = %d, class = %d, msg = %s\n", str, code, class, msg); + MPI_Abort(MPI_COMM_WORLD, code); } -int main( int argc, char *argv[] ) +int main(int argc, char *argv[]) { - MPI_Comm dupWorld; - int wrank, wsize, gsize, err, errs = 0; - int ranges[1][3]; + MPI_Comm dupWorld; + int wrank, wsize, gsize, err, errs = 0; + int ranges[1][3]; MPI_Group wGroup, godd, ghigh, geven; - MTest_Init( &argc, &argv ); + MTest_Init(&argc, &argv); - MPI_Comm_size( MPI_COMM_WORLD, &wsize ); - MPI_Comm_rank( MPI_COMM_WORLD, &wrank ); + MPI_Comm_size(MPI_COMM_WORLD, &wsize); + MPI_Comm_rank(MPI_COMM_WORLD, &wrank); /* Create some groups */ - MPI_Comm_group( MPI_COMM_WORLD, &wGroup ); + MPI_Comm_group(MPI_COMM_WORLD, &wGroup); - MTestPrintfMsg( 2, "Creating groups\n" ); - ranges[0][0] = 2*(wsize/2)-1; + MTestPrintfMsg(2, "Creating groups\n"); + ranges[0][0] = 2 * (wsize / 2) - 1; ranges[0][1] = 1; ranges[0][2] = -2; - err = MPI_Group_range_incl( wGroup, 1, ranges, &godd ); - if (err) abortMsg( "Failed to create odd group: ", err ); - err = MPI_Group_size( godd, &gsize ); - if (err) abortMsg( "Failed to get size of odd group: ", err ); - if (gsize != wsize/2) { - fprintf( stderr, "Group godd size is %d should be %d\n", gsize, - wsize/2 ); - errs++; + err = MPI_Group_range_incl(wGroup, 1, ranges, &godd); + if (err) + abortMsg("Failed to create odd group: ", err); + err = MPI_Group_size(godd, &gsize); + if (err) + abortMsg("Failed to get size of odd group: ", err); + if (gsize != wsize / 2) { + fprintf(stderr, "Group godd size is %d should be %d\n", gsize, wsize / 2); + errs++; } - ranges[0][0] = wsize/2+1; - ranges[0][1] = wsize-1; + ranges[0][0] = wsize / 2 + 1; + ranges[0][1] = wsize - 1; ranges[0][2] = 1; - err = MPI_Group_range_incl( wGroup, 1, ranges, &ghigh ); - if (err) abortMsg( "Failed to create high group\n", err ); + err = MPI_Group_range_incl(wGroup, 1, ranges, &ghigh); + if (err) + abortMsg("Failed to create high group\n", err); ranges[0][0] = 0; - ranges[0][1] = wsize-1; + ranges[0][1] = wsize - 1; ranges[0][2] = 2; - err = MPI_Group_range_incl( wGroup, 1, ranges, &geven ); - if (err) abortMsg( "Failed to create even group:", err ); + err = MPI_Group_range_incl(wGroup, 1, ranges, &geven); + if (err) + abortMsg("Failed to create even group:", err); - MPI_Comm_dup( MPI_COMM_WORLD, &dupWorld ); - MPI_Comm_set_name( dupWorld, (char*)"Dup of world" ); + MPI_Comm_dup(MPI_COMM_WORLD, &dupWorld); + MPI_Comm_set_name(dupWorld, (char *) "Dup of world"); /* First, use the groups to create communicators from world and a dup - of world */ - errs += BuildComm( MPI_COMM_WORLD, ghigh, "ghigh" ); - errs += BuildComm( MPI_COMM_WORLD, godd, "godd" ); - errs += BuildComm( MPI_COMM_WORLD, geven, "geven" ); - errs += BuildComm( dupWorld, ghigh, "ghigh" ); - errs += BuildComm( dupWorld, godd, "godd" ); - errs += BuildComm( dupWorld, geven, "geven" ); + * of world */ + errs += BuildComm(MPI_COMM_WORLD, ghigh, "ghigh"); + errs += BuildComm(MPI_COMM_WORLD, godd, "godd"); + errs += BuildComm(MPI_COMM_WORLD, geven, "geven"); + errs += BuildComm(dupWorld, ghigh, "ghigh"); + errs += BuildComm(dupWorld, godd, "godd"); + errs += BuildComm(dupWorld, geven, "geven"); #if MTEST_HAVE_MIN_MPI_VERSION(2,2) /* check that we can create multiple communicators from a single collective * call to MPI_Comm_create as long as the groups are all disjoint */ - errs += BuildComm( MPI_COMM_WORLD, (wrank % 2 ? godd : geven), "godd+geven" ); - errs += BuildComm( dupWorld, (wrank % 2 ? godd : geven), "godd+geven" ); - errs += BuildComm( MPI_COMM_WORLD, MPI_GROUP_EMPTY, "MPI_GROUP_EMPTY" ); - errs += BuildComm( dupWorld, MPI_GROUP_EMPTY, "MPI_GROUP_EMPTY" ); + errs += BuildComm(MPI_COMM_WORLD, (wrank % 2 ? godd : geven), "godd+geven"); + errs += BuildComm(dupWorld, (wrank % 2 ? godd : geven), "godd+geven"); + errs += BuildComm(MPI_COMM_WORLD, MPI_GROUP_EMPTY, "MPI_GROUP_EMPTY"); + errs += BuildComm(dupWorld, MPI_GROUP_EMPTY, "MPI_GROUP_EMPTY"); #endif - MPI_Comm_free( &dupWorld ); - MPI_Group_free( &ghigh ); - MPI_Group_free( &godd ); - MPI_Group_free( &geven ); - MPI_Group_free( &wGroup ); + MPI_Comm_free(&dupWorld); + MPI_Group_free(&ghigh); + MPI_Group_free(&godd); + MPI_Group_free(&geven); + MPI_Group_free(&wGroup); - MTest_Finalize( errs ); + MTest_Finalize(errs); MPI_Finalize(); return 0; } -int BuildComm( MPI_Comm oldcomm, MPI_Group group, const char gname[] ) +int BuildComm(MPI_Comm oldcomm, MPI_Group group, const char gname[]) { MPI_Comm newcomm; int grank, gsize, rank, size, errs = 0; - char cname[MPI_MAX_OBJECT_NAME+1]; - int cnamelen; - - MPI_Group_rank( group, &grank ); - MPI_Group_size( group, &gsize ); - MPI_Comm_get_name( oldcomm, cname, &cnamelen ); - MTestPrintfMsg( 2, "Testing comm %s from %s\n", cname, gname ); - MPI_Comm_create( oldcomm, group, &newcomm ); + char cname[MPI_MAX_OBJECT_NAME + 1]; + int cnamelen; + + MPI_Group_rank(group, &grank); + MPI_Group_size(group, &gsize); + MPI_Comm_get_name(oldcomm, cname, &cnamelen); + MTestPrintfMsg(2, "Testing comm %s from %s\n", cname, gname); + MPI_Comm_create(oldcomm, group, &newcomm); if (newcomm == MPI_COMM_NULL && grank != MPI_UNDEFINED) { - errs ++; - fprintf( stderr, "newcomm is null but process is in group\n" ); + errs++; + fprintf(stderr, "newcomm is null but process is in group\n"); } if (newcomm != MPI_COMM_NULL && grank == MPI_UNDEFINED) { - errs ++; - fprintf( stderr, "newcomm is not null but process is not in group\n" ); + errs++; + fprintf(stderr, "newcomm is not null but process is not in group\n"); } if (newcomm != MPI_COMM_NULL && grank != MPI_UNDEFINED) { - MPI_Comm_rank( newcomm, &rank ); - if (rank != grank) { - errs ++; - fprintf( stderr, "Rank is %d should be %d in comm from %s\n", - rank, grank, gname ); - } - MPI_Comm_size( newcomm, &size ); - if (size != gsize) { - errs++; - fprintf( stderr, "Size is %d should be %d in comm from %s\n", - size, gsize, gname ); - } - MPI_Comm_free( &newcomm ); - MTestPrintfMsg( 2, "Done testing comm %s from %s\n", cname, gname ); + MPI_Comm_rank(newcomm, &rank); + if (rank != grank) { + errs++; + fprintf(stderr, "Rank is %d should be %d in comm from %s\n", rank, grank, gname); + } + MPI_Comm_size(newcomm, &size); + if (size != gsize) { + errs++; + fprintf(stderr, "Size is %d should be %d in comm from %s\n", size, gsize, gname); + } + MPI_Comm_free(&newcomm); + MTestPrintfMsg(2, "Done testing comm %s from %s\n", cname, gname); } return errs; }