[MPICH] MPI_Comm_create for inter-communicator problem?

Rajeev Thakur thakur at mcs.anl.gov
Sun Aug 5 00:03:46 CDT 2007


Yes, that is not supported in 1.0.5p4, but is in 1.0.6, which will be out in
a week or two.

Rajeev 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of zws
> Sent: Saturday, August 04, 2007 9:25 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] MPI_Comm_create for inter-communicator problem?
> 
> 
> MPI-II have extended the MPI-I's MPI_Comm_create, so 
> we can use this API in creation of Inter-communicator.
> 
> With the following sample code, It always get 
> "MPI_Comm_create(121): Too many communicators" errors.
> 
> The following is a example code, I am wondering if there are some 
> miss understanding about the API.
> 
> int main(int argc, char **argv)
> {
>         int rank,size,color;
>         MPI_Comm intercomm,myComm;
>         MPI_Comm dupintercomm;
>         MPI_Comm crtintercomm;
>         MPI_Comm splintercomm;
> 
>         int grpleft[4]={0,2,4,6};
>         int grpright[4]={1,3,5,7};
>         int grpleftexcl[4]={0,2};
>         int grprightincl[4]={1,3};
> 
>         MPI_Group left,right,grpworld, sub;
> 
>         MPI_Init(&argc, &argv);
>         MPI_Comm_rank(MPI_COMM_WORLD, &rank);
>         MPI_Comm_size(MPI_COMM_WORLD, &size);
> 
>         color=rank%2;
>         MPI_Comm_group(MPI_COMM_WORLD, &grpworld);
> 
>         MPI_Comm_split(MPI_COMM_WORLD, color, rank, &myComm);
>         if(color == 0) {
>                 MPI_Intercomm_create(myComm, 0, 
> MPI_COMM_WORLD, 1, 1, &intercomm);
> 
>                 MPI_Comm_group(intercomm, &left);
>                 MPI_Group_excl(left, 2, grpleftexcl,&sub);
>         } else {
>                 MPI_Intercomm_create(myComm, 0, 
> MPI_COMM_WORLD, 0, 1, &intercomm);
> 
>                 MPI_Comm_group(intercomm, &right);
>                 MPI_Group_incl(right, 2, grprightincl,&sub);
>         }
> 
>         MPI_Comm_create(intercomm, sub, &crtintercomm);
>         MPI_Comm_free(&crtintercomm);
> 
>         MPI_Comm_free(&intercomm);
>         MPI_Group_free(&sub);
> 
>         MPI_Finalize();
> 
>         return 0;
> }
> When run this example, the output says:
> 
> [zws at cn116-ib c]$ mpiexec -n 8 src/intercommcreate
> rank 7 in job 113  cn116-ib_33326   caused collective abort 
> of all ranks
>   exit status of rank 7: return code 1 
> [cli_3]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffff9374) failed
> MPI_Comm_create(121): Too many communicators
> [cli_2]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffffb074) failed
> MPI_Comm_create(121): Too many communicators
> [cli_6]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffffb074) failed
> MPI_Comm_create(121): Too many communicators
> [cli_5]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffff93f4) failed
> MPI_Comm_create(121): Too many communicators
> rank 6 in job 113  cn116-ib_33326   caused collective abort 
> of all ranks
>   exit status of rank 6: return code 1 
> [cli_7]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffff9374) failed
> MPI_Comm_create(121): Too many communicators
> [cli_1]: aborting job:
> Fatal error in MPI_Comm_create: Other MPI error, error stack:
> MPI_Comm_create(219): MPI_Comm_create(comm=0x84000001, 
> group=0x88000002, new_comm=0x60000fffffffb1f4) failed
> MPI_Comm_create(121): Too many communicators
> rank 3 in job 113  cn116-ib_33326   caused collective abort 
> of all ranks
>   exit status of rank 3: return code 1 
> rank 2 in job 113  cn116-ib_33326   caused collective abort 
> of all ranks
>   exit status of rank 2: return code 1 
> 
> 
> 
> 
> 
> 




More information about the mpich-discuss mailing list