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

时间:2017-03-27 02:32:49

标签: mpi openmpi infiniband

据我所知,OpenMPI使用OpenIB,OpenIB使用Ip over Infiniband(IPoIB)。

我不明白为什么不使用原生IB,如果它比IPoIB快?

是否有任何MPI实现,它使用原生IB?

2 个答案:

答案 0 :(得分:2)

OpenIB是Open Fabrics Alliance使用的早期名称。早在2005年,OpenIB这个名字就被抛弃了,转而支持Open Fabrics。 Open Fabrics Alliance分发OFED软件堆栈,支持许多协议和API,包括DAPL,IPoIB,基于RDMA的SCSI等等。 OFED依赖于硬件供应商提供的低级设备驱动程序。

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

过去OFED过去常常包含MPI实现,即OpenMPI,但不再这样做(you probably read the OpenMPI FAQ)。

OpenMPI仍为其基于OFED的InfiniBand Byte Transfer Level组件使用openib名称。

在不同时期,OpenMPI也支持供应商特定的InfiniBand API,例如Mellanox mVAPI(mvapi BTL)和Mellanox Messaging Library mxm

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

openib组件未使用 IP over IB。如果您想使用IP over IB,请使用tcp组件,并相应地设置mpiexec主机文件。

答案 1 :(得分:-1)

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