Skip to content

[NPU] Create CiP handle using device properties if the device exists#36571

Merged
pereanub merged 2 commits into
openvinotoolkit:masterfrom
pereanub:cip_with_device_info
Jun 29, 2026
Merged

[NPU] Create CiP handle using device properties if the device exists#36571
pereanub merged 2 commits into
openvinotoolkit:masterfrom
pereanub:cip_with_device_info

Conversation

@pereanub

Copy link
Copy Markdown
Contributor

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>
@pereanub pereanub requested review from a team as code owners June 25, 2026 13:05
@github-actions github-actions Bot added the category: NPU OpenVINO NPU plugin label Jun 25, 2026
@pereanub pereanub requested a review from Copilot June 26, 2026 05:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_t from the backend device into PluginCompilerAdapter and VCLCompilerImpl so vclCompilerCreate can use a device-specific vcl_device_desc_t.
  • Add IDevice::getDeviceProperties() and implement it in ZeroDevice to 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.

Comment thread src/plugins/intel_npu/src/common/include/intel_npu/common/npu.hpp Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment thread src/plugins/intel_npu/src/compiler_adapter/src/compiler_impl.cpp Outdated
Comment thread src/plugins/intel_npu/src/common/include/intel_npu/common/npu.hpp
Signed-off-by: Bogdan Pereanu <bogdan.pereanu@intel.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Comment thread src/plugins/intel_npu/src/compiler_adapter/src/compiler_impl.cpp
@pereanub pereanub enabled auto-merge June 29, 2026 11:12
@pereanub pereanub added this pull request to the merge queue Jun 29, 2026
Merged via the queue into openvinotoolkit:master with commit 5938dca Jun 29, 2026
184 checks passed
@pereanub pereanub deleted the cip_with_device_info branch June 29, 2026 13:58
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: NPU OpenVINO NPU plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants