设备之间的直接数据复制

时间:2014-03-25 14:30:09

标签: gpu dma pci pci-e

我正在尝试探索跨设备(GPU,NIC,存储等)实现全局IO空间的可能性。这可能归结为此主题中提出的问题 - Direct communication between two PCI devices

我一直在阅读Nvidia GPUDirect,其中内存区域固定,物理地址是在nvidia_p2p_ *调用的帮助下获得的。我无法完全理解GPU的物理地址如何用于编程第三方设备的DMA控制器以进行数据传输。令我感到困惑的是,与cpu内存空间不同,GPU内存不可见(这可能是由于我对编程dma控制器的了解不足)。关于此的任何指示都会非常有用。

此外,许多PCI设备在PCI BAR方面暴露存储器区域(例如,GPU暴露256M的存储器区域)。有没有办法知道这个BAR内存区域映射到的设备物理地址? BAR内存区域和通过nvidia驱动程序分配给CUDA运行时的内存之间是否有任何重叠?

提前致谢。

0 个答案:

没有答案