是否可以在GeForce卡上使用点对点内存传输,或者仅在Teslas上允许使用?我假设卡是2个GTX690(每个都有两个GPU)。
我尝试过在Quadro 4000和Quadro 600之间进行复制,但它失败了。我通过填充cudaMemcpy3DPeer
结构来使用cudaMemcpy3DPeerParms
传输3D数组。
答案 0 :(得分:2)
点对点内存复制应该适用于Geforce和Quadro以及特斯拉,有关详细信息,请参阅programming guide。
可以在两个不同设备的存储器之间执行存储器复制。
当两个设备使用统一地址空间时(请参阅统一虚拟地址 空间),这是使用Device中提到的常规内存复制功能完成的 存储器中。
否则,这是使用cudaMemcpyPeer(),cudaMemcpyPeerAsync()完成的, cudaMemcpy3DPeer()或cudaMemcpy3DPeerAsync()
点对点内存访问,这是一个GPU可以直接从另一个GPU读取的地方,需要UVA(这意味着64位操作系统)和特斯拉和计算能力2.0或更高。< / p>
适用于Windows的Tesla Compute Cluster Mode),Windows XP或Linux设备上 特斯拉系列的计算能力2.0及更高版本可能会相互对话 存储器(即,在一个设备上执行的内核可以取消引用指向存储器的指针 其他设备)。