使用OpenCL我能够获得我的系统中可用的图形卡列表(下面的代码片段),但我还没有找到一种方法来确定在运行时使用哪一个。这可能吗?
for (CLPlatform platform : CLPlatform.listCLPlatforms())
{
for (CLDevice gpuDevice : platform.listCLDevices())
{
// The CPU shows up as a device, so filter it out.
if (gpuDevice.getType() == CLDevice.Type.GPU && gpuDevice.isAvailable())
{
availableGPUDevices.add(gpuDevice);
numGPUDevices++;
}
}
}
理论上,我希望能够添加以下内容:
if (platform.getActiveGpu().getType() != AMD or NVIDIA) (pseudo-code)
{
// show warning that a more powerful GPU is available
}
我唯一缺少的是能够确定当时哪个GPU处于活动状态。非常感谢任何帮助 - 谢谢!!
澄清:“哪个GPU处于活动状态”我的意思是我想确定,目前我的代码是检查这个正在执行,哪个GPU负责在屏幕上呈现内容。我的理解是两个GPU都不会同时渲染屏幕的一部分,所以虽然我知道它可以切换很多,但我想捕获当时正在运行的GPU的快照。
答案 0 :(得分:0)
不幸的是,OpenCL并不支持这一点。