【发布时间】:2016-05-17 05:34:56
【问题描述】:
我正在使用 NVIDIA Grid K2 进行 CUDA 编程。它有两个 GPU,每个都有 1536 个内核。 是否可以在单个或多个内核调用中同时使用两个 GPU?
【问题讨论】:
标签: cuda
我正在使用 NVIDIA Grid K2 进行 CUDA 编程。它有两个 GPU,每个都有 1536 个内核。 是否可以在单个或多个内核调用中同时使用两个 GPU?
【问题讨论】:
标签: cuda
不,这是不可能的。像 Grid K2 这样的多 GPU 卡上的每个 GPU 都是一个独立的 CUDA 设备,具有自己的内存。因此,每个 GPU 都有自己的 CUDA 上下文,并且必须显式编程。 CUDA 驱动程序或运行时不会自动将这两个设备用作内核启动的单个虚拟设备。
【讨论】:
_gpu0.CopyDeviceToDevice(_gpuuintBufferIn0, 0, _gpu1, _gpuuintBufferIn1, 0 , _uintBufferIn0.Length); 你认为,它首先将数据复制到内部的主机内存,然后再移动它到其他设备?