Thanks Jeff, I was looking more into this scenario :
if (rank ==0){ MPI_Send(&tmp,2048, MPI_INT, 1,123, myComm); MPI_Recv(&tmp2,2048, MPI_INT, 1,321, MPI_COMM_WORLD, MPI_STATUS_IGNORE); } if (rank == 1){ MPI_Send(&tmp1,2048, MPI_INT, 0,321, MPI_COMM_WORLD); MPI_Recv(&tmp3,2048, MPI_INT, 0,123, myComm, MPI_STATUS_IGNORE); } This scenario in a normal case will lead to a deadlock. But I was wondering whether multiple communicators will solve this issue, but apparently it doesn't. I tried doing sends and receives on different threads, but that did not help too. So I was wondering if there is a way to handle this in MPI without using non-blocking sends and receives. Thanks Ramesh On Fri, Jun 15, 2012 at 3:40 AM, Jeff Squyres <jsquy...@cisco.com> wrote: > On Jun 14, 2012, at 8:43 PM, Ramesh Vinayagam wrote: > > > I was wondering is there a way to communicate between two processes with > two different communicators simultaneously in MPI? Like having two channels > for communication? > > I'm not quite sure what you're asking. Are you asking if it's possible to > have 2 processes share 2 entirely different communicators (and use both of > them for communication)? > > If so, yes. Any set of processes can have any number of shared > communicators. For example: > > MPI_Comm foo; > MPI_Comm_dup(MPI_COMM_WORLD, &foo); > > Now foo will be a duplicate of MPI_COMM_WORLD, but with a different > communication context (so that messages sent on MCW won't be received on > foo, and vice versa). Hence, you can send a message on MCW to any peer in > that communicator, but you can also send a message on foo to any peer in > that communicator. > > Note, however, that sending multiple messages on different communicators > to the same peer doesn't (usually) expand your available bandwidth. Think > of communicators (and tags, too), as message matching mechanisms rather > than bandwidth-multiplying mechanisms. For example, you might send control > messages on "foo", but send data messages on MPI_COMM_WORLD. > > Hope that helps. > > -- > Jeff Squyres > 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 >