Designation: Non-Export Controlled Content
Gilles;
                Yes, your assumption is correct. No communication between 
proxies and no communications between sensors. I am using rank to determine 
role. Dispatcher being 0. Sensors start at 1. So I should have 3 groups? I am 
new to MPI and my knowledge of it is not the best. My understanding is that 
when I utilize an MPI_Barrier, all participants of a specified group must call 
MPI_Barrier in order to advance. This tells me Dispatch and sensor must be in 
the same group. Is my understanding incorrect?

Thanks
Rick

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

Rick,

So you have three types of tasks
- 1 dispatcher
- several sensors
- several proxies

If proxies do not communicate with each other, and if sensors do not 
communicate with each other, then you could end up with 3 inter communicators
sensorComm: dispatcher in the left group and sensors in the right group
proxyComm: dispatcher in the left group and proxies in the right group
controlComm: sensors in the left group and proxies in the right group

Does that fit your needs ?
If yes, then keep in mind sensorComm is MPI_COMM_NULL on the proxy tasks, 
proxyComm is MPI_COMM_NULL on the sensor tasks, and controlComm is 
MPI_COMM_NULL on the dispatcher.

Cheers,

Gilles

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

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


3.1.1001

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