OpenMPI has a lot of components associated with it. Here is some info about the BTL components.
In the v4.0.x series, Mellanox InfiniBand devices default to the ucx PML. The use of InfiniBand over the openib BTL is officially deprecated in the v4.0.x series, and is scheduled to be removed in Open MPI v5.0.0.
source
mpirun --mca pml ob1 --mca btl tcp,self --mca btl_tcp_if_include eth1 ...
A few comments:
pml/ob1 component (otherwise you might end up using richer interfaces such as UCX of OFI)pml/ob1 uses the best btl components for point to point communicationbtl/self componentbtl/tcpbtl/tcp to use the eth1 interface. setting this parameter does not force the use of the btl/tcp component, that is why you have to manually request it