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



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

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

相关内容

  • 没有找到相关文章

最新更新