I know MPI_Send() is a blocking call ,which waits until it is safe to modify the application buffer for reuse. For making the send call synchronous(there should be a handshake with the receiver) , we need to use MPI_Ssend() .
I want to know the difference between the two. Suppose i need to send fix amount of Bytes among the processes , which one is supposed to take longer time ?
With me the code works well the MPI_Send() call but waiting indefinitely for MPI_Ssend().
What could be the possible reasons ?
And the most important thing is , i am pretty sure the data is being received at the receiving process when using MPI_Send() ,so this inference leads nothing in favor to wait for the handshake when using MPI_Ssend() .
Or i can make a conclusion : with MPI_Send() you can send data to the self process but can't using MPI_Ssend() ?
 
    