Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] How to check if Send was made or not before performing a recv
From: Alaukik Aggarwal (alaukik.aggarwal_at_[hidden])
Date: 2010-12-11 09:42:45


I am using Open MPI 1.4.3.

I have to perform a receive operation from processes that are sending
data. It might happen that some of the processes don't send data
(might have completed in-fact).

So, how do I perform check on which processes to receive data from and
which processes to skip?

if(id != master)
        MPI::COMM_WORLD.Send(&dist, NUM_VERTEX, MPI_LONG, master, 1234);
if(id == master)
        for(int eachId = 1; eachId<procs ; eachId++)
        MPI::COMM_WORLD.Recv(&dist1, NUM_VERTEX, MPI_LONG, eachId, 1234);

Kindly help!