我的代码中有两个 for 循环,运行相同数量的循环周期 . 这两个循环是独立的(每个循环适用于不同的输入数据) . 在一个循环中,有CPU功能和几个内核不同时运行 .
for
我可以在单独的GPU上运行这些迭代吗?
您可以在两个不同的GPU上单独运行相关的内核 .
您必须注意CPU处理在两个GPU的部分结果上的同步 . 由于存在顺序部件,因此在使用 2 GPU时,您可能不会遇到 2 的最大可能加速因子 .
2
从CUDA 4.0开始,您可以使用 cudaSetDevice() 设置与给定设备相对应的当前上下文,而无需创建流以启用多GPU处理 .
cudaSetDevice()
1 回答
您可以在两个不同的GPU上单独运行相关的内核 .
您必须注意CPU处理在两个GPU的部分结果上的同步 . 由于存在顺序部件,因此在使用
2
GPU时,您可能不会遇到2
的最大可能加速因子 .从CUDA 4.0开始,您可以使用
cudaSetDevice()
设置与给定设备相对应的当前上下文,而无需创建流以启用多GPU处理 .