Designation: Non-Export Controlled Content
Gilles;
                My scenario involves a Dispatcher of rank 0, and several 
sensors and proxy objects. The Dispatcher triggers activity and gathers 
results. The proxies get triggered first. They send data to the sensors, and 
the sensors indicate to the dispatcher that they are done. I am trying to 
create 2 comm groups. One for the sensors and one for the proxies. The 
dispatcher will use the 2 comm groups to coordinate activity. I tried adding 
the dispatcher to the sensorList comm group, but I get an error saying "invalid 
task".

Rick

From: users [mailto:users-boun...@lists.open-mpi.org] On Behalf Of Gilles 
Gouaillardet
Sent: Monday, October 17, 2016 9:30 AM
To: Open MPI Users
Subject: Re: [OMPI users] communications groups

Rick,

I re-read the MPI standard and was unable to figure out if sensorgroup is 
MPI_GROUP_EMPTY or a group with task 1 on tasks except task 1
(A group that does not contain the current task makes little sense to me, but I 
do not see any reason why this group have to be MPI_GROUP_EMPTY)

Regardless, sensorComm will be MPI_COMM_NULL except on task 1, so MPI_Barrier 
will fail.

Cheers,

Gilles

On Monday, October 17, 2016, Marlborough, Rick 
<rmarlboro...@aaccorp.com<mailto:rmarlboro...@aaccorp.com>> wrote:

Designation: Non-Export Controlled Content
George;
                Thanks for your response. Your second sentence is a little 
confusing. If my world group is P0,P1, visible on both processes, why wouldn't 
the sensorList contain P1 on both processes?

Rick


From: users 
[mailto:users-boun...@lists.open-mpi.org<javascript:_e(%7B%7D,'cvml','users-boun...@lists.open-mpi.org');>]
 On Behalf Of George Bosilca
Sent: Friday, October 14, 2016 5:44 PM
To: Open MPI Users
Subject: Re: [OMPI users] communications groups

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<javascript:_e(%7B%7D,'cvml','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<javascript:_e(%7B%7D,'cvml','users@lists.open-mpi.org');>
https://rfd.newmexicoconsortium.org/mailman/listinfo/users


3.1.1001

3.1.1001
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to