Bug Bash - EP+Performance compile paths and fixes#634
Bug Bash - EP+Performance compile paths and fixes#634mahabayana wants to merge 4 commits intomicrosoft:mainfrom
Conversation
|
@mahabayana please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
| CppConsoleDesktop.exe [options] | ||
| Options: | ||
| --ep_policy <policy> Set execution provider policy (NPU, CPU, GPU, DEFAULT, DISABLE). Default: DISABLE | ||
| --ep_policy <policy> Set execution provider policy (NPU, CPU, GPU, DEFAULT) |
There was a problem hiding this comment.
I see that there's an open PR for addressing the issue w/ the DISABLE option: (#620). How would you all like to reconcile this? @mahabayana @yeelam-gordon
There was a problem hiding this comment.
@adrastogi @yeelam-gordon
The samples require either --ep_policy or --ep_name to be set. The following scenarios fail due to DISABLE:
Scenario 1 : User explicitly passes DISABLE: The user runs --ep_policy DISABLE. The parser sets ep_policy = null and ep_name remains empty. Validation sees neither is set and throws: "Missing EP selection" - even though the user did specify a policy.
Scenario 2 : User passes an invalid value (e.g., a typo): The user runs --ep_policy NPUU. The parser prints "Unknown EP policy: NPUU, using default (DISABLE)" and silently sets ep_policy = null. Validation again throws "Missing EP selection" : masking the real error (an invalid value)
Thus I would propose this resolution
- Removed DISABLE as a valid --ep_policy option. If the user's intention is to default to CPU behavior, they can use DEFAULT instead, making DISABLE redundant.
- Unknown values now throw immediately with the list of valid options (NPU, CPU, GPU, DEFAULT), so typos and invalid inputs are caught at parse time rather than falling through to a incorrect validation error
Changes
Bug 1 – Missing ready state output after EnsureReadyAsync
Bug 2 – Remove DISABLE from ep_policy options
Bug 3 – EP+Performance-specific compiled model paths