高级传输
mlx5 驱动程序中的原子操作
为了使用这种字节序矛盾启用原子操作,请使用 ibv_create_qp
创建 QP,并在 create_flags
上设置 IBV_QP_CREATE_ATOMIC_BE_REPLY
标志。
XRC 允许在大型集群中建立所有到所有进程连接时,显著节省 QP 的数量和相关的内存资源。
通过减少所需的资源,它显著提高了大型多核终端节点集群解决方案的可扩展性。
有关更多详细信息,请参阅“InfiniBand 架构规范卷 1.2.1 附录 A14 补充”。
用户空间应用程序可以使用新的 API 来使用 XRC 传输。旧版 API 目前在二进制和源代码模式下都受支持,但已被弃用。因此,我们建议使用新的 API。
要使用的新动词是
ibv_open_xrcd/ibv_close_xrcd
ibv_create_srq_ex
ibv_get_srq_num
ibv_create_qp_ex
ibv_open_qp
请使用 ibv_xsrq_pingpong
进行基本测试和代码参考。有关这些动词各种选项的详细信息,请参阅其相应的 man 页面。
动态连接传输 (DCT) 服务是传输服务的扩展,旨在实现更高的可扩展性,同时为稀疏流量保持高性能。利用 DCT 通过让可靠类型 QP 动态连接和断开与任何远程节点的连接,减少了系统范围内所需的 QP 总数。DCT 连接仅在活动时保持连接。这可以减少内存占用空间,减少设置连接的开销,并提高片上缓存利用率,从而提高性能。DCT 仅在 mlx5 驱动程序中受支持。
请注意,ConnectX-4 支持 DCT v0,而 ConnectX-5 及更高版本支持 DCT v1。DCTv0 和 DCT v1 不可互操作。
在 ConnectX®-5 及更高版本的适配器卡中受支持。
标签匹配和汇合卸载是 NVIDIA 采用的一种技术,用于将 MPI 消息的处理从主机卸载到网卡上。采用此技术可以实现 MPI 消息的零拷贝,即消息直接分散到用户的缓冲区,而无需中间缓冲和拷贝。它还通过 NVIDIA 设备提供完整的汇合进度。这种重叠能力使 CPU 能够在适配器收集远程数据的同时执行应用程序的计算任务。
有关标签匹配卸载的更多信息,请参阅 了解 MPI 标签匹配和汇合卸载 (ConnectX-5) 社区帖子。