I've written a program with the following output:
> mpiexec -n 3 "Poker Parallel Program.exe"
Entered slave. Rank: 1
Entered slave. Rank: 2
The program is about to do some statistical analysis of poker hands
Slave terminated: 1
Slave terminated: 2
Before recv. Proc number: 1
After slave send
After slave send
After recv. Proc number: 1
Before recv. Proc number: 2
The general code path is this:
- Recv in master is called
- Two slaves send
- First recv in master unblocks
- Second recv in master blocks
I just want to know if the recv call needs to be made before the send? I'm not sure why my recv call is blocking, otherwise.