MPI one-sided stuff is actually pretty complicated; I wouldn't suggest it for a beginner (I don't even recommend it for many MPI experts ;-) ).
Why not look at the MPI_SOURCE in the status that you got back from the MPI_RECV? In fortran, it would look something like (typed off the top of my head; forgive typos): ----- integer, dimension(MPI_STATUS_SIZE) :: status ... call MPI_Recv(buffer, ..., status, ierr) ----- The rank of the sender will be in status(MPI_SOURCE). On Jan 9, 2014, at 6:29 AM, Christoph Niethammer <nietham...@hlrs.de> wrote: > Hello, > > I suggest you have a look onto the MPI one-sided functionality (Section 11 of > the MPI Spec 3.0). > Create a window to allow the other processes to access the arrays A directly > via MPI_Get/MPI_Put. > Be aware of synchronization which you have to implement via MPI_Win_fence or > manual locking. > > Regards > Christoph > > -- > > Christoph Niethammer > High Performance Computing Center Stuttgart (HLRS) > Nobelstrasse 19 > 70569 Stuttgart > > Tel: ++49(0)711-685-87203 > email: nietham...@hlrs.de > http://www.hlrs.de/people/niethammer > > > > ----- Ursprüngliche Mail ----- > Von: "Pradeep Jha" <prad...@ccs.engg.nagoya-u.ac.jp> > An: "Open MPI Users" <us...@open-mpi.org> > Gesendet: Donnerstag, 9. Januar 2014 12:10:51 > Betreff: [OMPI users] Calling a variable from another processor > > > > > > I am writing a parallel program in Fortran77. I have the following problem: > 1) I have N number of processors. > 2) Each processor contains an array A of size S. > 3) Using some function, on every processor (say rank X), I calculate the > value of two integers Y and Z, where Z<S. (the values of Y and Z are > different on every processor) > 4) I want to get the value of A(Z) on processor Y to processor X. > > I thought of first sending the numerical value X to processor Y from > processor X and then sending A(Z) from processor Y to processor X. But it is > not possible as processor Y does not know the numerical value X and so it > won't know from which processor to receive the numerical value X from. > > I tried but I haven't been able to come up with any code which can implement > this action. So I am not posting any codes. > > Any suggestions? > > _______________________________________________ > 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 -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/