Hi again, I will answer my own question:
Ready mode
-----------------
Ready mode is treated as a standard send. This is the indication I got
from reading various informal sources but I didn't find any official
documentation supporting this statement.
Protocol tuning
---------------------
Since we're using UCX, that is the framework that handles which protocol
to choose, and I've asked the wrong mailing list :)
/Oskar
On 10/22/20 1:44 PM, Oskar Lappi via users wrote:
Hi, a performance question,
I have a distributed stencil loop that's sending several tens of
slightly larger messages every iteration, I post double buffered
receives at initialization and immediately after a receive request is
completed.
I can therefore prove that the receive is posted on the other side of
a send before it is sent, and would like to use the ready send mode to
be able to shave off the overhead of rendezvous.
Some other (setup) parts of the program use synchronous sends that I
can't prove this for.
My question is: is ready send mode "supported", that is to say does it
take advantage of the fact that I've proved it can be used and
performs an eager send every time? Or does this depend on the
underlying component?
Follow-up question: if ready send mode can't force an eager protocol,
how could I do that? And can I verify which protocol is being used
somehow?
We're using Open MPI 4.0.3 and UCX for GPUDirect RDMA communication on
Mellanox Infiniband.
Best,
Oskar
oskar.la...@abo.fi