NVIDIA 提供GPUDirect以减少内存传输开销。我想知道 AMD/ATI 是否有类似的概念?具体来说:
1) AMD GPU 在与网卡接口时是否避免第二次内存传输,如此处所述。如果图形在某些时候丢失,这里描述了 GPUDirect 对从一台机器上的 GPU 获取数据以通过网络接口传输的影响:使用 GPUDirect,GPU 内存进入主机内存,然后直接进入网络接口卡。如果没有 GPUDirect,GPU 内存会在一个地址空间中转到 Host 内存,然后 CPU 必须进行复制以将内存获取到另一个 Host 内存地址空间,然后才能到网卡。
2) 当两个 GPU 在同一 PCIe 总线上共享时,AMD GPU 是否允许 P2P 内存传输,如此处所述。如果图形在某些时候丢失,这里描述了 GPUDirect 对在同一 PCIe 总线上的 GPU 之间传输数据的影响:使用 GPUDirect,数据可以直接在同一 PCIe 总线上的 GPU 之间移动,而无需接触主机内存。如果没有 GPUDirect,数据总是必须先返回主机,然后才能到达另一个 GPU,无论该 GPU 位于何处。
编辑:顺便说一句,我不完全确定 GPUDirect 有多少是蒸汽软件,有多少实际上是有用的。我从未真正听说过 GPU 程序员将它用于真正的事情。对此的想法也很受欢迎。