Fix analyze default auto target selection - #1228
Open
DingmaomaoBJTU wants to merge 2 commits into
Open
Conversation
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.
Default
winml analyzeshould choose the strongest exact local EP/device target, not inherit a lower-priority device axis from the session fallback before EP selection. On hosts where one provider exposes both NPU and GPU bindings, the previous auto/auto path could settle on the GPU binding even when the NPU binding was locally available.This updates analyze's default target selection to rank exact local EP/device bindings by
DEVICE_PRIORITYbefore resolving the EP. Explicit targets and existing fan-out behavior are preserved. The regression test derives a multi-device EP fromEP_SUPPORTED_DEVICESso the coverage follows the provider matrix rather than hardcoding a provider-specific rule.Validation:
ruff check src\winml\modelkit\commands\analyze.py tests\unit\analyze\test_static_analyzer_cli.pypytest tests\unit\analyze\test_static_analyzer_cli.py -q