Cuda GPU能否独立与Southbridge通信?

Cuda GPU能否独立与Southbridge通信?,cuda,hardware,gpu,gpgpu,nvidia,Cuda,Hardware,Gpu,Gpgpu,Nvidia,在CUDA代码中,您可以通过零复制来访问主机端内存。根据维基百科的下图,访问请求通过Northbridge,在不中断CPU的情况下完成 GPU(至少在理论上)是否可以独立于CPU访问南桥组件(如I/O)?据我在实践中所知,在CUDA编码过程中,这是不可能的(目前) 基于维基百科链接,2014代名为Maxwell的CUDA设备将内置ARM CPU。如果以上问题的答案是肯定的,那么这个ARM CPU可以控制或通信多少I/O 检查 RDMA for GPUDirect是开普勒级GPU和CUDA 5.0

在CUDA代码中,您可以通过零复制来访问主机端内存。根据维基百科的下图,访问请求通过Northbridge,在不中断CPU的情况下完成

  • GPU(至少在理论上)是否可以独立于CPU访问南桥组件(如I/O)?据我在实践中所知,在CUDA编码过程中,这是不可能的(目前)
  • 基于维基百科链接,2014代名为Maxwell的CUDA设备将内置ARM CPU。如果以上问题的答案是肯定的,那么这个ARM CPU可以控制或通信多少I/O
  • 检查

    RDMA for GPUDirect是开普勒级GPU和CUDA 5.0中引入的一项功能,它使用PCI Express的标准功能实现GPU和对等设备之间的直接通信路径。这些设备必须共享相同的上游根复合体。必须对设备驱动程序进行一些简单的更改,以便在各种硬件设备上启用此功能。本文档介绍了该技术,并描述了在Linux上启用RDMA for GPUDirect连接到NVIDIA GPU所需的步骤


    我想这在很大程度上取决于I/O端口和/或MMIO范围是否完全独立于CPU。如果他们可以,如果CUDA不限制您可以访问的地址,您可能有机会。(我不知道CUDA,不过,这只是随口说说而已。)第一个问题的简短答案是否定的。对于第二个问题,NVIDIA没有公开宣布麦克斯韦体系结构的细节,因此,如果你要询问非公开信息,这不是一个合适的so问题。此外,由于第一个问题的答案是否定的(见我对罗杰答案的评论),而你的第二个问题是“如果上述问题的答案是肯定的……”,那么你的第二个问题似乎没有什么意义。答案是Nvidia(到目前为止)没有包含这一功能。我的问题是,即使在理论上,这怎么可能呢?所有与Southbridge的通信是否必须仅由CPU启动?此外,当GPU可以直接访问主机RAM而不中断CPU时,为什么我们不能通过内存映射IO使GPU与IO(例如鼠标)通信?(很抱歉,我的问题可能很幼稚。)GPUDirect RDMA传输完全由主机代码触发,而不是设备代码。CUDA设备无法直接触发到其他设备的传输。例外情况是点对点,并且仅在2个GPU之间工作(在同一根复合体上)。在当前的CUDA体系结构中,如果不是另一个CUDA GPU,则无法从CUDA代码访问另一个设备。我没有将此问题解释为要求从设备代码触发传输。也许这就是OP所追求的,但是从内核触发RDMA传输到非GPU设备似乎没有意义。OP说“独立于CPU”。由于触发传输需要CPU,我不认为这是“独立于CPU”的。这就是我发表评论的原因。问题中提到的零拷贝(以及点对点)符合“独立”或“不中断CPU”的描述,因为它们不需要触发来启动传输。谢谢罗杰。但你的回答并不能回答我的问题。@RobertCrovella,你能补充一个答案吗?然后我会继续删除这个。