+1 I reiterate what I said before:
>> > You will always only receive messages that were sent to *you*. >> > There's no MPI_SEND_TO_ANYONE_WHO_IS_LISTENING functionality, for >> > example. So your last statement: "But when it captures with .. >> > MPI_ANY_SOURCE and MPI_ANY_TAG, the receiver will capture any message >> > (even not targetted for it)" is incorrect. When process A calls MPI_SEND to send to process B, then the message is sent only to B. Not to any other process. Regardless of whether you use ANY_SOURCE, ANY_TAG, both, or neither. On Jul 15, 2011, at 7:04 AM, Terry Dontje wrote: > Well MPI_Recv does give you the message that was sent specifically to the > rank calling it by any of the processes in the communicator. If you think > the message you received should have gone to another rank then there is a bug > somewhere. I would start by either adding debugging printf's to your code to > trace the messages. Or narrowing down the code to a small kernel such that > you can prove to yourself that MPI is working the way it should and if not > you can show us where it is going wrong. > > --td > > On 7/15/2011 6:51 AM, Mudassar Majeed wrote: >> I get the sender's rank in status.MPI_SOURCE, but it is different than >> expected. I need to receive that message which was sent to me, not any >> message. >> >> regards, >> >> Date: Fri, 15 Jul 2011 06:33:41 -0400 >> From: Terry Dontje <terry.don...@oracle.com> >> Subject: Re: [OMPI users] Urgent Question regarding, MPI_ANY_SOURCE. >> To: us...@open-mpi.org >> Message-ID: <4e201785.6010...@oracle.com> >> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" >> >> Mudassar, >> >> You can do what you are asking. The receiver uses MPI_ANY_SOURCE for >> the source rank value and when you receive a message the >> status.MPI_SOURCE will contain the rank of the actual sender not the >> receiver's rank. If you are not seeing that then there is a bug somewhere. >> >> --td >> >> On 7/14/2011 9:54 PM, Mudassar Majeed wrote: >> > Friend, >> > I can not specify the rank of the sender. Because only >> > the sender knows to which receiver the message is to be sent. The >> > receiver does not know from which sender the message will come. I am >> > trying to do a research work on load balancing in MPI application >> > where load is redistributed, so in that I require a receiver to >> > receive a load value from a sender that it does not know. On the other >> > hand, the sender actually calculates, to which receiver this load >> > value should be sent. So for this, I want sender to send a message >> > containing the load to a receiver, but receiver does not know from >> > which sender the message will come. See, it is like send receiver in >> > DATAGRAM sockets. The receiver, receives the message on the IP and >> > port, the message which was directed for it. I want to have same >> > behavior. But it seems that it is not possible in MPI. Isn't it? >> > >> > regards, >> > Mudassar >> > >> > ------------------------------------------------------------------------ >> > *From:* Jeff Squyres <jsquy...@cisco.com> >> > *To:* Mudassar Majeed <mudassar...@yahoo.com> >> > *Cc:* Open MPI Users <us...@open-mpi.org> >> > *Sent:* Friday, July 15, 2011 3:30 AM >> > *Subject:* Re: [OMPI users] Urgent Question regarding, MPI_ANY_SOURCE. >> > >> > Right. I thought you were asking about receiving *another* message >> > from whomever you just received from via ANY_SOURCE. >> > >> > If you want to receive from a specific sender, you just specify the >> > rank you want to receive from -- not ANY_SOURCE. >> > >> > You will always only receive messages that were sent to *you*. >> > There's no MPI_SEND_TO_ANYONE_WHO_IS_LISTENING functionality, for >> > example. So your last statement: "But when it captures with .. >> > MPI_ANY_SOURCE and MPI_ANY_TAG, the receiver will capture any message >> > (even not targetted for it)" is incorrect. >> > >> > I guess I still don't understand your question...? >> > >> > >> > On Jul 14, 2011, at 9:17 PM, Mudassar Majeed wrote: >> > >> > > >> > > I know this, but when I compare status.MPI_SOURCE with myid, they >> > are different. I guess you need to reconsider my question. The >> > MPI_Recv function seems to capture message from the queue with some >> > search parameters like source, tag etc. So in case the receiver does >> > not know the sender and wants to receive only that message which was >> > sent for this receiver. But when it captures with source as >> > MPI_ANY_SOURCE and MPI_ANY_TAG, the receiver will capture any message >> > (even not targetted for it). >> > > >> > > regards, >> > > Mudassar >> > > >> > > >> > > From: Jeff Squyres <jsquy...@cisco.com <mailto:jsquy...@cisco.com>> >> > > To: Mudassar Majeed <mudassar...@yahoo.com >> > <mailto:mudassar...@yahoo.com>>; Open MPI Users <us...@open-mpi.org >> > <mailto:us...@open-mpi.org>> >> > > Sent: Friday, July 15, 2011 1:58 AM >> > > Subject: Re: [OMPI users] Urgent Question regarding, MPI_ANY_SOURCE. >> > > >> > > When you use MPI_ANY_SOURCE in a receive, the rank of the actual >> > sender is passed back to you in the status.MPI_SOURCE. >> > > >> > > On Jul 14, 2011, at 7:55 PM, Mudassar Majeed wrote: >> > > >> > > > Hello people, >> > > > I am trapped in the following problem plz >> > help me. Suppose a process A sends a message to process B. The process >> > B will receive the message with MPI_Recv with MPI_ANY_SOURCE in the >> > source argument. Let say process B does not know that A is the sender. >> > But I want B to receive message from process A (the one who actually >> > sends the message to process B). But if I use MPI_ANY_SOURCE, then any >> > message from any source is captured by process B (let say there are >> > other processes sending messages). Instead of MPI_ANY_SOURCE I cannot >> > use A in the source argument as B does not know about the sender. What >> > should I do in this situation ? >> > > > >> > > > regards, >> > > > Mudassar Majeed >> > > > _______________________________________________ >> > > > users mailing list >> > > > us...@open-mpi.org <mailto:us...@open-mpi.org> >> > > > http://www.open-mpi.org/mailman/listinfo.cgi/users >> > > >> > > >> > > -- >> > > Jeff Squyres >> > > jsquy...@cisco.com <mailto:jsquy...@cisco.com> >> > > For corporate legal information go to: >> > > http://www.cisco.com/web/about/doing_business/legal/cri/ >> > > >> > > >> > > >> > >> > >> > -- >> > Jeff Squyres >> > jsquy...@cisco.com <mailto:jsquy...@cisco.com> >> > For corporate legal information go to: >> > http://www.cisco.com/web/about/doing_business/legal/cri/ >> > >> > >> > >> > >> > _______________________________________________ >> > users mailing list >> > us...@open-mpi.org >> > http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> _______________________________________________ >> users mailing list >> >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > -- > <Mail Attachment.gif> > Terry D. Dontje | Principal Software Engineer > Developer Tools Engineering | +1.781.442.2631 > Oracle - Performance Technologies > 95 Network Drive, Burlington, MA 01803 > Email terry.don...@oracle.com > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/