-
Notifications
You must be signed in to change notification settings - Fork 655
Pin DASC policy validation to CPU #2399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
kaix-nv
merged 2 commits into
feature/dasc-state-sparsity-review-device-independent
from
feature/dasc-state-sparsity-review-policy-device
Sep 11, 2026
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[SUGGESTION] This regression guard only works by accident of the error type that escapes.
The line being fixed lives in
validate_dasc_decay_parameters, and the only path frommto.modelopt_state()to it isupdate_dasc_metadata(conversion.py:118-127), which deliberately downgrades validation failures to warnings:Today the un-pinned
torch.tensor(...)fails with a device-mismatchRuntimeError, which slips past thatexcept ApplyModeErrorand fails the test — so the test does currently catch the regression. But nothing in the assertion depends on validation having succeeded:state["modelopt_state_dict"][0][0] == "dasc"is true whether the horizon check passed or was swallowed into a staleness warning. If a future change wraps device/dtype errors inApplyModeError(which the file already does forValueErroratpolicy.py:500-503), this test goes green while the device bug is back.Two ways to make the guard load-bearing:
export_policy(api.py:86-87), the one caller that propagatesApplyModeErrorinstead of warning — so any failure of the horizon check surfaces regardless of exception type:Either keeps the higher-level lifecycle coverage you wanted while making the assertion fail for the reason the test names. Non-blocking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in #2400. The default-device lifecycle regression now calls export_policy() and asserts validated static horizons, so an ApplyModeError cannot be silently downgraded by the checkpoint metadata path.