0
使用OpenCL我能夠獲取我的系統中可用的圖形卡列表(下面的代碼片段),但我還沒有找到確定使用哪一個的方法在運行時。這可能嗎?Java/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無法做到這一點,任何確認或否認這個結論都會很棒;並且任何非OpenCL解決方案也將受到歡迎。謝謝! – Mike
「active GPU」是什麼意思? –
你能否清楚你的問題?你想弄清楚你的openCL內核在哪個設備上運行? –