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

Java/OpenCL: Checking which graphics card is enabled

使用 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 处于活动状态的能力。非常感谢任何帮助 - 谢谢!!

澄清:"which GPU is active" 我的意思是我正在寻找确定,目前我的代码正在执行检查,哪个 GPU 负责在屏幕上呈现内容。我的理解是两个 GPU 不会同时渲染屏幕的一部分,所以虽然我知道它可以切换很多,但我想捕获哪个 GPU 是 运行 的快照时刻.

遗憾的是,OpenCL 不支持此功能。