Rick, Let's assume that you have started 2 processes, and that your sensorList is {1}. The worldgroup will then be {P0, P1}, which trimmed via the sensorList will give the sensorgroup {MPI_GROUP_EMPTY} on P0 and the sensorgroup {P1} on P1. As a result on P0 you will create a MPI_COMM_NULL communicator, while on P1 you will have a valid communicator sensorComm (which will only contain P1). You cannot do a Barrier on an MPI_COMM_NULL communicator, which might explain the "invalid communicator" error you are getting.
George. On Fri, Oct 14, 2016 at 5:33 PM, Marlborough, Rick <rmarlboro...@aaccorp.com > wrote: > Designation: Non-Export Controlled Content > > Folks; > > I have the following code setup. The sensorList is an > array of ints of size 1. The value it contains is 1. My comm world size is > 5. The call to MPI_Barrier fails every time with error “invalid > communicator”. This code is pretty much copied out of a text book. I must > be doing something wrong. I just don’t see it. Can anyone else spot my > error? I am using v2.01 on red hat 6.5. > > > > Thanks > > Rick > > > > > > MPI_Comm_group(MPI_COMM_WORLD, &worldgroup); > > MPI_Group_incl(worldgroup, 1, sensorList, &sensorgroup); > > MPI_Comm_create(MPI_COMM_WORLD, sensorgroup, &sensorComm); > > MPI_Barrier(sensorComm); > > 3.1.1001 > > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/users >
_______________________________________________ users mailing list users@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/users