Update threading configuration for NVL and PTL - #36367
Merged
maxnick merged 14 commits intoJul 14, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates CPU threading heuristics and stream binding metadata to better support hybrid-core platforms (NVL/PTL), including allowing streams to be associated with multiple eligible core types and refining AUTO/LATENCY stream sizing behavior.
Changes:
- Extend stream metadata from a single
core_typeto a list ofcore_types, and update task arena creation to bind based on the eligible core-type set. - Add new model/memory-pressure-based heuristics that select ALL-core AUTO configurations more often on high LP E-core-share systems.
- Expand unit coverage for streams-info table cases, model-prefer-threads rules, and mixed-core stream binding behavior.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/plugins/intel_cpu/tests/unit/streams_info/streams_info_table_test.cpp | Adds a new LATENCY test case covering an ALL+MAIN+EFFICIENT+LP_EFFICIENT stream table scenario. |
| src/plugins/intel_cpu/tests/unit/streams_info/model_prefer_threads.cpp | Adds multiple integration tests validating new hybrid AUTO selection and stream table expectations. |
| src/plugins/intel_cpu/src/cpu_streams_calculation.cpp | Introduces new heuristic profiles for selecting AUTO/ALL-core latency behavior, plus stream sizing refinement. |
| src/inference/tests/unit/cpu_stream_info_test.cpp | Updates stream-info unit tests for multi-core-type metadata and adds new coverage cases. |
| src/inference/src/dev/threading/cpu_streams_executor.cpp | Updates task arena creation to handle multiple core types for binding and threads-per-core behavior. |
| src/inference/src/dev/threading/cpu_streams_executor_internal.cpp | Updates stream-info extraction to return a list of core types and selects binding type based on subset eligibility. |
| src/inference/dev_api/openvino/runtime/threading/cpu_streams_executor_internal.hpp | Updates internal API signature/docs to return core_types instead of a single core_type. |
wangleis
approved these changes
Jul 10, 2026
maxnick
reviewed
Jul 13, 2026
maxnick
approved these changes
Jul 14, 2026
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:
Dependency PR: PR#36286
Tickets:
Test data:
Machine:
1.NVL windows from validation team (8Pcores+16Ecores+4LPEcores),
2.PTL X7 358H 32GB windows (4Pcores+8Ecores+4LPEcores)
Models: 209 static models from WW05_static_2026.0.0-20947
The geomean of latency with PR vs master:
NVL: 0.97583
PTL: 0.92095
The performance data for all models:


The performance data for the models with threads and partitioner changed in current PR: