点对点CUDA转移

Mar*_* A. 4 p2p cuda bandwidth nvidia pci-e

我听说过点对点内存传输并阅读有关它的内容,但无法真正理解这与标准PCI-E总线传输相比有多快.

我有一个使用多个gpu的CUDA应用程序,我可能对P2P传输感兴趣.我的问题是:与PCI-E相比有多快?我可以经常使用它来让两个设备相互通信吗?

Pav*_*ili 8

CUDA"对等体"指的是能够从当前GPU访问数据的另一GPU.所有具有计算2.0及更高版本的GPU都启用了此功能.

对等存储器副本涉及使用cudaMemcpy通过PCI-E复制存储器,如下所示.

cudaMemcpy(dst, src, bytes, cudaMemcpyDeviceToDevice);
Run Code Online (Sandbox Code Playgroud)

请注意,dst并且src可以在不同的设备上.

cudaDeviceEnablePeerAccess使用户能够启动使用来自多个设备的数据的内核.内存访问仍然通过PCI-E完成,并将具有相同的瓶颈.

一个很好的例子就是来自cuda样本的simplep2p.