2017-05-25 194 views
2

是否可以在GPU与远程主机之间执行RDMA操作?GPU与远程主机之间的RDMA

Nvidia网站上的在线文档只谈到了在GPU之间做RDMA,并没有提到在GPU主机之间做这件事的可能性。

注意:我有权访问配备K80 GPU和Mellanox NIC的群集。

+1

哪个mellanox网卡你有(芯片是什么)? Nvidia称其功能为“[GPUDirect RDMA]”(http://docs.nvidia.com/cuda/gpudirect-rdma/),并且自2012年以来它应该在GPU中得到支持。您的主机cpu是什么 - 是x86/x86_64还是IBM?你的CUDA版本是什么?有像https://www.researchgate.net/publication/266388594_Infiniband-Verbs_on_GPU_A_case_study_of_controlling_an_Infiniband_network_device_from_the_GPU和http://web.cse.ohio-state.edu/~panda.2/5194/slides/5m_5p_gpu.pdf – osgx

+0

这样的出版物我有一个ConnectX-3 VPI。主机CPU是x86_64。 Cuda版本是V8.0.61。 – JC1

回答

4

是否有可能在GPU和远程主机之间执行RDMA操作?

是的,有可能用“GPUDirect RDMA”自2012年起的Nvidia计算的GPU(特斯拉和的Quadro)的特征(开普勒级GPU和CUDA 5.0)移动GPU和Infiniband卡之间的数据。有一个关于GPUDirect RDMA在CUDA工具包http://docs.nvidia.com/cuda/gpudirect-rdma/

GPUDirect RDMA网页开普勒级GPU和CUDA 5.0引进了技术,使该GPU和第三方端设备之间的数据交换的直接路径使用PCI Express的标准功能。第三方设备的例子有:网络接口,视频采集设备,存储适配器。

GPUDirect RDMA在Tesla和Quadro GPU上均可用。

有许多限制可以应用,最重要的是两台设备必须共享相同的上游PCI Express根联合体。其中一些限制取决于所使用的平台,并可能在当前/未来的产品中取消。

必须对设备驱动程序进行一些简单的更改,以便在广泛的硬件设备上启用此功能。本文档介绍了该技术,并介绍了在Linux上启用GPUDirect RDMA连接到NVIDIA GPU所需的步骤。

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

2.4。支持的系统

一般性评论。尽管GPUDirect RDMA在第三方设备和NVIDIA GPU 之间工作的唯一理论要求是它们共享相同的根联合体,但存在一些错误(主要在 芯片组中),导致其执行得不好或不工作完全在某些 设置。

我们可以在三种情形之间的区别,这取决于是 GPU和第三方设备之间的路径:PCIe交换机 只有单一CPU/IOH CPU/IOH < - > QPI/HT < - > CPU/IOH路径上仅有PCIe交换机的第一个 情况是最佳的 ,并且产生最佳性能。第二种情况下,涉及单个CPU/IOH 工作,但性能较差(特别是 点对点读取带宽在某些处理器体系结构上已被证明严重受限于 )。最后,第三种情况,其中路径穿过QPI/HT链路,可能性能极其有限 甚至无法可靠工作。提示:lspci可以用来检查PCI 拓扑:

$ lspci -t 

平台支持对于IBM的Power 8平台, GPUDirect RDMA和P2P不支持,但没有明确 禁用。他们可能无法在运行时工作。

在ARM64上,必要的点对点功能取决于 硬件和特定平台的软件。所以虽然 GPUDirect RDMA在这种情况下没有明确禁用,但没有 保证它将完全正常工作。

IOMMUs GPUDirect RDMA当前依赖于所有物理地址 从不同PCI设备的角度来看是相同的。此 使其与IOMMU执行任何形式的翻译 不是1:1不兼容,因此它们必须被禁用或配置为 传递转换GPUDirect RDMA才能正常工作。

+1

还请检查https://stackoverflow.com/search?q=GPUDirect和https://stackoverflow.com/questions/31046386/how-to-use-gpudirect-rdma-with-infiniband“如何使用GPUDirect RDMA与Infiniband “ - ”你需要安装以下软件:Mellanox OFED已安装..最近NVIDIA CUDA套件已安装.. Mellanox-NVIDIA GPUDirect插件“&http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf – osgx