【发布时间】:2013-05-26 23:49:18
【问题描述】:
所以我有两张 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 卡?
【问题讨论】: