microsoft / microsoft/OpenCLOn12
Geekbench v6.2.2 command fails when new laptop OS image is installed and Intel NPU Driver is enabled
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 130
- Forks
- 19
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
I am an engineer for the Intel NPU Software driver team on Windows Hosts. I am attempting to root-cause a Geekbench v6.2.2 app issue, where the Geekbench app does not start. It loads the splash screen, then crashes, if the NPU device is enabled via Device Manager.
On new OS install, when the following Geekbench v6.2.2 command in cmd prompt is executed,
geekbench6.exe --gpu-list
it throws the following exception:
Internal error message: D:\a_work\1\s\OpenCLOn12\src\device.cpp(545)OpenCLOn12.dll!00007FFDCCC20C3F: (caller: 00007FFDCCC2148F) Exception(1) tid(21cc) 887A0004 The specified device interface or feature level is not supported on this system.
Note the file (device.cpp) and line number (545).
In the OpenCLOn12 git public repro, the above exception log does not match latest code, but if you look at past commit tag v1.2112.2.0, and browse to device.cpp, line 545, you can see that the exception happens during D3D12CreateDevice:
THROW_IF_FAILED(D3D12CreateDevice(m_spAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_spDevice)));
Note the D3D_FEATURE_LEVEL_11_0 minimum feature level required.
In summary, OpenCLOn12 appears to throw an exception because the NPU driver does not meet D3D_FEATURE_LEVEL_11_0 minimum feature level. This is the expected behavior/config in the NPU driver because the NPU Driver currently supports D3D_FEATURE_LEVEL_1_0_CORE.
This is not an NPU driver issue, and OpenCLOn12 should not throw an exception is a particular device is discovered and not supported. I am attempting to get Geekbench source code access to confirm which OpenCLOn12 API gets called.
One interesting event that I see happening is that, after reproducing the above on this laptop, if two days pass by, and even if Windows Updates are paused, the issue is no longer reproduceable, presumably because OpenCLOn12 (location unknown) is somehow being updated to latest version where this issue appears fixed.
OpenCLOn12 team: Can you please help identify who/what component is responsible for updating OpenCLOn12 after new OS install or where does OpenCLOn12 resides in the OS. I am trying to understand how the issue appears to be fixing itself without manual intervention. Also, note that this will re-appear if/when a driver reports "GENERIC" instead of CORE.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing geekbench6.exe --gpu-list on a new Windows OS install with the Intel NPU enabled, then inspect src/device.cpp around line 545 in tag v1.2112.2.0. Trace where OpenCLOn12 is installed or updated and identify the component responsible for the post-install change. Done means the update path and OpenCLOn12 location are documented, including the unsupported-device behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100