4

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

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

4

1 回答 1

9

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

对等内存复制涉及使用cudaMemcpy通过 PCI-E 复制内存,如下所示。

cudaMemcpy(dst, src, bytes, cudaMemcpyDeviceToDevice);

请注意dstsrc可以在不同的设备上。

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

cuda 样本中的simplep2p就是一个很好的例子。

于 2013-07-17T19:58:11.683 回答