Openmpi 设置 btl 标志 --mca btl tcp 与 --mca btl_tcp_if_include eth1

Posted

技术标签:

【中文标题】Openmpi 设置 btl 标志 --mca btl tcp 与 --mca btl_tcp_if_include eth1【英文标题】:Openmpi setting btl flags --mca btl tcp vs --mca btl_tcp_if_include eth1 【发布时间】:2019-08-19 12:15:23 【问题描述】:

我正在查看有关如何设置 btl 标志以使用网络特定协议和特定连接的文档。

我看到 btl selection general documentation 文档,但有点困惑。

我的理解(如果我错了请纠正我)如果我想使用tcp协议我需要指定--mca btl tcp。如果我想使用 ethernet1 作为连接设备,那么我需要指定--mca btl_tcp_if_include eth1。 因此,如果我想同时使用这两个设置,我将同时设置? --mca btl tcp --mca btl_tcp_if_include eth1 或者只是设置--mca btl_tcp_if_include eth1 可以吗?

【问题讨论】:

【参考方案1】:

这是你需要做的事情

mpirun --mca pml ob1 --mca btl tcp,self --mca btl_tcp_if_include eth1 ...

几个厘米:

为了安全起见,您应该强制使用pml/ob1 组件(否则您最终可能会使用更丰富的接口,例如 OFI 的 UCX) pml/ob1 使用最佳 btl 组件进行点对点通信 您必须始终包含btl/self 组件 在你的情况下,你想强制使用btl/tcp 并且您需要告诉btl/tcp 使用eth1 接口。设置此参数不会强制使用btl/tcp 组件,这就是您必须手动请求它的原因

【讨论】:

以上是关于Openmpi 设置 btl 标志 --mca btl tcp 与 --mca btl_tcp_if_include eth1的主要内容,如果未能解决你的问题,请参考以下文章

OpenMPI源码剖析:网络通信原理

运行基于 OpenMPI 的库时出错

OpenMPI:简单的 2 节点设置

OpenMPI:所有节点都作为节点 0 运行

在广告营销中ATL ,BTL啥意思?谢谢

PE框架源码分析:mca数据源