Java / OpenCL:检查启用了哪个图形卡

时间:2016-02-12 17:34:22

标签: java graphics opencl gpu

使用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的快照。

1 个答案:

答案 0 :(得分:0)

不幸的是,OpenCL并不支持这一点。