3

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

  • 加载/存储
  • cudaMemcpy()

它被命名为“NVIDIA GPUDirect v2 Peer-to-Peer (P2P) Communication between GPUs on the Same PCIe Bus (2011)”: 在此处输入图像描述

我可以通过 Infiniband 使用 RDMA 在不同的 PCIe 总线上从 GPU2-RAM 复制到 GPU1-RAM,它被命名为“GPUDirect™ Support for RDMA, Introduced with CUDA 5 (2012)”: 在此处输入图像描述

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

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

还是只能cudaMemcpy()在 RDMA 中使用?

4

1 回答 1

3

GPUDirect RDMA 目前只有一个公共实现,即通过 Mellanox Infiniband。您需要使用类似CUDA-aware MPI 系统之一来利用它。

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

于 2013-11-19T16:07:00.050 回答