首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPU与远程主机之间的RDMA

GPU与远程主机之间的RDMA
EN

Stack Overflow用户
提问于 2017-05-25 22:18:18
回答 1查看 2.7K关注 0票数 3

可以在GPU和远程主机之间执行RDMA操作吗?

Nvidia网站上的在线文档只提到在GPU之间进行RDMA,而没有提到在GPU-主机之间执行RDMA的可能性。

注意事项:我可以访问一个配备了K80 GPU和Mellanox的集群。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 22:35:41

可以在GPU和远程主机之间执行RDMA操作吗?

是的,从2012年起,可以使用Nvidia Compute GPU (Tesla和Quadro)的"GPUDirect RDMA“功能在GPU和Infiniband卡之间移动数据(开普勒级GPU和CUDA 5.0)。在CUDA工具包http://docs.nvidia.com/cuda/gpudirect-rdma/中有关于RDMA的网页

GPUDirect RDMA是开普勒级GPU和CUDA5.0中引入的一种技术,它可以使用peer的标准功能为GPU和第三方对等设备之间的数据交换提供直接路径。第三方设备的例子有:网络接口、视频采集设备、存储适配器. GPUDirect RDMA可在特斯拉和象限GPU上使用。 可以应用许多限制,最重要的是这两个设备必须共享相同的上游PCI根复合体。有些限制取决于所使用的平台,并可在目前/未来的产品中取消。 必须对设备驱动程序进行一些简单的更改,以便使用范围广泛的硬件设备启用此功能。本文档介绍了该技术,并描述了在Linux上启用到NVIDIA的GPUDirect RDMA连接所需的步骤。

有一些限制:http://docs.nvidia.com/cuda/gpudirect-rdma/index.html#supported-systems

2.4。支撑系统 一般性评论。尽管对GPUDirect RDMA在第三方设备和NVIDIA之间工作的唯一理论要求是它们共享相同的根复合体,但也存在一些bug(主要是在芯片组中),导致其性能不佳,或者在某些设置中根本无法工作。 根据GPU和第三方设备之间路径上的情况,我们可以区分三种情况: PCIe交换机仅为单CPU/IOH /IOH <-> QPI/HT <-> CPU/IOH,第一种情况是路径上只有PCIe开关,性能最佳。第二种方案涉及单个CPU/IOH,但性能较差(尤其是点对点读取带宽在某些处理器体系结构上受到严重限制)。最后,第三种情况是,路径穿越QPI/HT链路,可能性能非常有限,甚至无法可靠工作。提示:lspci可用于检查PCI拓扑: $ lspci -t 对IBM 8平台、GPUDirect RDMA和P2P的平台支持不受支持,但没有显式禁用。它们可能无法在运行时工作。 在ARM64上,必要的点对点功能取决于特定平台的硬件和软件。因此,虽然在本例中没有显式禁用GPUDirect,但不能保证它将完全正常工作。 从不同的GPUDirect设备的角度来看,IOMMU、PCI、RDMA目前依赖于所有物理地址是相同的。这使得它与执行除1:1以外的任何形式的转换的IOMMU不兼容,因此它们必须被禁用或配置为GPUDirect RDMA的传递转换才能工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44190665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档