Although I have always known that an MPI implementation may force a handshake between sending process and receiving process in blocking p2p communication, it was brought to my attention that perhaps this is more prevalent than I thought.
Therefore, I should give a constexpr global variable that the user can modify if necessary so that the receiving process will receive the critical paths of the sender. This will be an easy implementation, as all I need to do is branch in the MPI_Send and MPI_Recv interceptions on that global variable to use either start_synch or start_block.
Although I have always known that an MPI implementation may force a handshake between sending process and receiving process in blocking p2p communication, it was brought to my attention that perhaps this is more prevalent than I thought.
Therefore, I should give a constexpr global variable that the user can modify if necessary so that the receiving process will receive the critical paths of the sender. This will be an easy implementation, as all I need to do is branch in the MPI_Send and MPI_Recv interceptions on that global variable to use either
start_synch
orstart_block
.