[NPU] Create CiP handle using device properties if the device exists#36571
Merged
Conversation
Signed-off-by: Bogdan Pereanu <bogdan.pereanu@intel.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the Intel NPU plugin compiler path so the CiP (plugin/VCL) compiler handle is created with actual device properties when an NPU device is present, improving device-specific initialization and removing the need for ad-hoc device queries during option checks.
Changes:
- Pass
ze_device_properties_tfrom the backend device intoPluginCompilerAdapterandVCLCompilerImplsovclCompilerCreatecan use a device-specificvcl_device_desc_t. - Add
IDevice::getDeviceProperties()and implement it inZeroDeviceto expose cached Level Zero device properties. - Simplify
PluginCompilerAdapter::is_option_supported()by removing the compatibility-check special casing and related Level Zero calls.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/plugins/intel_npu/src/compiler_adapter/src/plugin_compiler_adapter.cpp | Plumbs device properties into VCL compiler creation; removes COMPATIBILITY_CHECK special-case path. |
| src/plugins/intel_npu/src/compiler_adapter/src/compiler_impl.cpp | Builds vcl_device_desc_t from ze_device_properties_t (or defaults) and uses it for vclCompilerCreate. |
| src/plugins/intel_npu/src/compiler_adapter/src/compiler_adapter_factory.cpp | Fetches device once and passes device->getDeviceProperties() into PluginCompilerAdapter when available. |
| src/plugins/intel_npu/src/compiler_adapter/include/plugin_compiler_adapter.hpp | Extends adapter constructor to accept optional device properties. |
| src/plugins/intel_npu/src/compiler_adapter/include/compiler_impl.hpp | Extends compiler constructor to accept optional device properties; collapses option-support API to a single overload. |
| src/plugins/intel_npu/src/common/include/intel_npu/common/npu.hpp | Extends IDevice interface with getDeviceProperties(). |
| src/plugins/intel_npu/src/backend/src/zero_device.cpp | Implements ZeroDevice::getDeviceProperties() returning cached properties. |
| src/plugins/intel_npu/src/backend/include/zero_device.hpp | Declares getDeviceProperties() override on ZeroDevice. |
XinWangIntel
approved these changes
Jun 26, 2026
Signed-off-by: Bogdan Pereanu <bogdan.pereanu@intel.com>
be85d61 to
57e5fc6
Compare
PatrikStepan
approved these changes
Jun 26, 2026
praasz
pushed a commit
to praasz/openvino
that referenced
this pull request
Jul 1, 2026
…penvinotoolkit#36571) ### Details: - *Create compiler in plugin handle using device properties if the device exists* ### Tickets: - *N/A* ### AI Assistance: - *AI assistance used: no / yes* - *If yes, summarize how AI was used and what human validation was performed (build/tests/manual checks).* --------- Signed-off-by: Bogdan Pereanu <bogdan.pereanu@intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details:
Tickets:
AI Assistance: