为什么MPI使用IpoIB而不是本机IB?

为什么MPI使用IpoIB而不是本机IB?,mpi,openmpi,infiniband,Mpi,Openmpi,Infiniband,我知道OpenMPI使用OpenIB,OpenIB使用Infiniband上的Ip(IPoIB) 我不明白为什么不使用本机IB,如果它比IPoIB快的话 是否有使用本机IB的MPI实现?OpenIB是开放结构联盟使用的早期名称。早在2005年,OpenIB的名字就被抛弃,取而代之的是开放式结构。Open Fabrics Alliance向OFED分发了一个软件堆栈,它支持许多协议和API,包括DAPL、IPoIB、SCSI over RDMA等。OFED依赖于硬件供应商提供的低级设备驱动程序 一

我知道OpenMPI使用OpenIB,OpenIB使用Infiniband上的Ip(IPoIB)

我不明白为什么不使用本机IB,如果它比IPoIB快的话


是否有使用本机IB的MPI实现?

OpenIB是开放结构联盟使用的早期名称。早在2005年,OpenIB的名字就被抛弃,取而代之的是开放式结构。Open Fabrics Alliance向OFED分发了一个软件堆栈,它支持许多协议和API,包括DAPL、IPoIB、SCSI over RDMA等。OFED依赖于硬件供应商提供的低级设备驱动程序

一些硬件供应商分发其定制的OFED版本。这些定制版本与任何其他OFED发行版没有太大区别,只是它们与设备驱动程序捆绑在一起

在过去,OFED用于包括MPI实现,即OpenMPI,但现在不再这样做()

OpenMPI仍然为其基于OFED的InfiniBand字节传输级组件使用
openib
名称

在不同的时间段,OpenMPI还支持特定于供应商的InfiniBand API,例如Mellanox mVAPI(
mVAPI
BTL)和Mellanox消息传递库
mxm

然而,
openib
提供了可移植性,如果您使用最新版本,您的性能可能与特定于供应商的API一样好


openib
组件没有使用ipoverib。如果您想使用ipoverib,请使用
tcp
组件,并相应地设置
mpiexec
主机文件。

AFAIK,MVAPICH2是一个不使用IPoIB的MPI发行版,即它直接使用动词。

什么是“动词”?我是infiniband的新手。动词指类似infiniband的RDMA设备的通用用户模式界面。它包括用于发送和接收数据的
ibv\u post\u send
ibv\u post\u recv
等功能。这可能很有用:。群集的sane MPI实现默认情况下不使用IPoIB,OpenMPI也不例外。谢谢,但我还是不明白。为什么使用IPoIB而不是IB native?IPoIB的优势是什么?这里说Openmpi使用来自openib的IPoIB。@BraymeGuaman的观点很好。您链接到的文档说明,IPoIB仅用于在尚未设置MPI环境时启动进程。IPoIB不用于MPI进程与openib BTL之间的实际数据移动。