Masoud, The protocol selection and implementation in OMPI is only available for the PML OB1, other PMLs make their own internal selection that is usually maintained in some other code base.
For OB1, the selection starts in ompi/mca/pml/ob1/pml_ob1_sendreq.c in the function mca_pml_ob1_send_request_start, where the sender decide what protocol might be the best to use according to it's memory layout and message size. This decision is then encapsulated in a matching header, that is forwarded to the peer. Once the matching is done on the receiving processor (in pml_ob1_recvfrag.c starting from match_one), the receiver can confirm the protocol proposed by the sender or can fall back to a different protocol (such as pipeline send/recv). If you have questions let me know. George. On Tue, Oct 19, 2021 at 10:15 AM Masoud Hemmatpour via devel < devel@lists.open-mpi.org> wrote: > Hello all, > > I am new to Open MPI source code. I am trying to understand the Eager and > Rendezvous > implementation inside ompi code base. Could you please help and refer me > to the source file? > I read a bit on OMPI, then PML and BTL but I am still not sure what is > going on. > > Thanks! > > >