假设我在一台机器上有多个GPU,并且我在GPU0上运行了一个内核。
利用CUDA 4.0的UVA和P2P功能,当内核在GPU0上运行时,我可以修改另一台设备上的阵列内容吗?
CUDA 4.0 SDK中的simpleP2P示例没有证明这一点。
它只表明:
在GPU0上运行的内核从GPU1缓冲区读取输入并将输出写入GPU0缓冲区
在GPU1上运行的内核从GPU0缓冲区读取输入并将输出写入GPU1缓冲区
答案 0 :(得分:1)
简短回答:是的,你可以。
链接的演示文稿提供了完整的详细信息,但以下是要求:
您可以使用cudaDeviceCanAccessPeer()
来查询是否可以直接进行P2P访问。