我可以通过Infiniband在GPU中使用从GPU2-Cores到不同PCIe-Bus中的GPU1-RAM的加载/存储访问吗?

时间:2013-11-19 11:04:09

标签: cuda gpgpu multi-gpu infiniband rdma

如上所述:https://developer.nvidia.com/gpudirect 我可以从GPU0-Core访问同一PCIe总线上的GPU1-RAM:

  • 加载/存储
  • cudaMemcpy()

它被命名为“同一PCIe总线上的GPU之间的NVIDIA GPUDirect v2点对点(P2P)通信(2011)”: enter image description here

我可以通过Infiniband使用RDMA从GPU2-RAM复制到不同PCIe总线上的GPU1-RAM,它被命名为“GPUDirect™支持RDMA,随CUDA 5推出(2012)”: enter image description here

但是我可以在通过Infiniband 连接的不同的PCIe总线上使用RDMA:

  • 加载/存储(从GPU2-Core访问GPU-RAM)
  • cudaMemcpy()(从GPU2-RAM复制到GPU1-RAM)

或者我可以在RDMA中仅使用cudaMemcpy()吗?

1 个答案:

答案 0 :(得分:3)

GPUDirect RDMA目前只有一个公共实现,通过Mellanox Infiniband。你需要使用类似CUDA-aware MPI systems之一的东西来利用它。

在您显示的示例中,您无法使用cudaMemcpy从GPU1复制到GPU2,即您无法使用cudaMemcpy直接在不同主机系统中的GPU之间进行复制。