没有GPUDirect的mpi编程模型

我正在使用没有GPUDirect支持的GPU群集。 从这个简报中,在跨节点传输GPU数据时完成以下操作:

  • GPU写入固定的sysmem1
  • CPU从sysmem1复制到sysmem2
  • Infiniband驱动程序从sysmem2复制
  • 现在我不确定当我使用MPI跨Infiniband传输sysmem1时,第二步是否是隐含的步骤。 通过假设这一点,我目前的编程模型是这样的:

  • cudaMemcpy(hostmem,devicemem,size,cudaMemcpyDeviceToHost)。
  • MPI_SEND(hostmem,...)
  • 我的上述假设是否真实,并且我的编程模型是否可以工作而不会导致通信问


    是的,您可以独立使用CUDA和MPI(即不使用GPUDirect),就像您所描述的一样。

  • 将数据从设备移到主机
  • 使用MPI按照通常的方式传输数据
  • 您可能对此演示文稿感兴趣,该演示文件解释了支持CUDA的MPI,并在non-cuda MPI和CUDA-MPI的幻灯片11中并列示例

    链接地址: http://www.djcxy.com/p/64619.html

    上一篇: mpi programming model without GPUDirect

    下一篇: infiniband rdma poor transfer bw