同时运行两个for循环,在两个GPU上具有相同数量的循环周期,涉及GPU和CPU任务

时间:2013-09-04 07:04:48

标签: cuda gpgpu

我的代码中有两个for循环,运行相同数量的循环周期。这两个循环是独立的(每个循环适用于不同的输入数据)。在一个循环中,有CPU功能和几个内核不同时运行。

我可以在不同的GPU上运行这些迭代吗?

1 个答案:

答案 0 :(得分:3)

您可以在两个不同的GPU上单独运行相关内核。

您必须注意CPU处理在两个GPU的部分结果上的同步。由于存在顺序部分,因此在使用2 GPU时,您可能不会遇到2的最大加速因子。

从CUDA 4.0开始,您可以使用cudaSetDevice()设置与给定设备相对应的当前上下文,而无需创建流以启用多GPU处理。