所以我有两张 NVidia GPU 卡
卡 A:GeForce GTX 560 Ti - 有线连接到显示器 A (Dell P2210)
卡 B:GeForce 9800 GTX+ - 有线连接到显示器 B (ViewSonic VP20)
设置:带有支持 SLI 的 Intel Core i7 的华硕主板
在 NVidia 控制面板中,我禁用了监视器 A,因此我只有监视器 B 用于所有显示目的。
我运行了我的程序,它
在 OpenGL 中模拟 10000 个粒子并渲染它们(在监视器 B 中正确显示)
使用 cudaSetDevice() 在卡 A 上“定位”以运行计算密集型 CUDA 内核。
这个想法很简单——使用卡 B 进行所有 OpenGL 渲染工作,使用卡 A 进行所有 CUDA 内核计算工作。
我的问题是这样的:
使用 GPU-Z 监控两张卡后,我可以看到:
卡 A 的 GPU 负载按预期立即增加到 60% 以上。
然而,卡 B 的 GPU 负载仅增加了 2%。对于在 opengl 中以 3D 渲染的 10000 个粒子,我不确定这是否是我应该预料到的。
那么我如何才能确定 OpenGL 渲染是否确实使用了卡 B(其连接的监视器 B 是唯一启用的监视器),并且与卡 A 无关?
问题的扩展是:
- 有没有办法“强制”OpenGL 渲染逻辑使用特定的 GPU 卡?