Repository navigation
[rocjitsu] Enable ordinary memory wait diagnostics by default - #13144
Merged
Merged
Conversation
kuhar
requested review from
amd-vivekag and
newling
and
a balanced review from Copilot
October 8, 2026 19:52
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
atgutier
approved these changes
Oct 8, 2026
kuhar
force-pushed
the
users/kuhar/waitcnt-diagnostics-default
branch
from
October 8, 2026 21:56
8fe78a0 to
a5a56a9
Compare
Default memory_wait_diagnostics to warn. Report reads or overwrites of pending memory results without a sufficient wait; execution continues with eagerly computed values. Keep gfx1250 XCNT replay-source checks opt-in. Add --wait-checking=on|off|all to rocjitsu and mirage run. The on mode enables ordinary checks only; all also enables XCNT. Use --wait-checking=off if warnings appear incorrect or checking slows a workload. Omitting the flag preserves config settings and defaults. Document the modes, precedence and disable command in both CLI guides. Override every CU and GPU through the same config copy as --cpu-thread-budget, preserving both settings and the source file. Support Mirage profiles and explicit configs in daemon and in-process modes. Reject native rocjitsu --attach overrides and both overrides for enabled DBT guests using an external simulator config. This also catches generated Mirage profiles that previously lost the CPU budget override. Support a persistent top-level wait_checking setting and preserve effective per-CU policies across checkpoint restore. Validation: 516 native tests, 223 Mirage tests and nine simulated IREE smokes pass. CLI matrices cover 31 native and 24 combined-flag Mirage launches, checking both effective settings and source preservation. The IREE smokes cover gfx950/gfx1100/gfx1250 with sampled numerical checks; overhead was not measured. Pre-commit, rustfmt and clippy pass.
kuhar
force-pushed
the
users/kuhar/waitcnt-diagnostics-default
branch
from
October 8, 2026 23:08
a5a56a9 to
247ab35
Compare
Contributor
TheRock Submodule Bump ActivityNewest first
|
anujshuk-amd
pushed a commit
that referenced
this pull request
Oct 12, 2026
Enable ordinary memory wait warnings by default. Report reads or overwrites of pending memory results without a sufficient wait; execution continues with eagerly computed values. Keep gfx1250 XCNT replay-source checks opt-in. Add `--wait-checking=on|off|all` to `rocjitsu` and `mirage run`, overriding every CU and GPU for one launch: - `on`: enable ordinary checks and disable XCNT checks. - `off`: disable both checks. - `all`: enable ordinary and gfx1250 XCNT checks. If warnings appear incorrect or checking slows a workload, use: ```sh rocjitsu --config /path/to/config.json --wait-checking=off -- <command> mirage run --wait-checking=off -- <command> ``` No config edit or rebuild is needed. Both `--wait-checking MODE` and `--wait-checking=MODE` work; omitting the flag preserves config settings and defaults. A top-level `"wait_checking": "off"` (or `"on"` / `"all"`) provides a persistent override. Compose with `--cpu-thread-budget` in either order, applying both settings to one config copy and leaving the source unchanged. Mirage supports profiles and explicit `--config` files in daemon and in-process modes; dedicated flags beat `-o` options. Reject both flags for enabled DBT guests using an external simulator config, including generated Mirage profiles that previously lost the CPU budget override. Native `rocjitsu --attach` also refuses overrides. Document the flag and disable command in both CLI guides and the Sphinx reference. Preserve effective per-CU policies across checkpoint restore. Runtime warnings include the disable command; invalid per-CU values remain errors under a global override. Validation: 516 Clang 23 Release native tests and 223 Mirage tests pass. Checked-in CLI matrices cover 31 native launches and 24 Mirage combinations, including every mode, both flag orders/spellings, and both effective values and source-file preservation. Mirage coverage includes generated/supplied configs and daemon/in-process execution. Nine IREE application smokes on simulated gfx950/gfx1100/gfx1250 pass sampled numerical checks with no wait warnings; overhead was not measured. Two unrelated DBT byte assertions also reproduce in a pre-change build. Pre-commit, rustfmt, clippy and the rustdoc link check pass. Completed two local peanut-review rounds for the native change and one additional round for Mirage. Addressed actionable findings, including a disabled-DBT config regression that fails before the fix. A reviewer also verified warning suppression with a deliberate missing-wait HIP kernel on simulated gfx950, in daemon and in-process modes.
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.
Enable ordinary memory wait warnings by default. Report reads or overwrites of pending memory results without a sufficient wait; execution continues with eagerly computed values. Keep gfx1250 XCNT replay-source checks opt-in.
Add
--wait-checking=on|off|alltorocjitsuandmirage run, overriding every CU and GPU for one launch:on: enable ordinary checks and disable XCNT checks.off: disable both checks.all: enable ordinary and gfx1250 XCNT checks.If warnings appear incorrect or checking slows a workload, use:
No config edit or rebuild is needed. Both
--wait-checking MODEand--wait-checking=MODEwork; omitting the flag preserves config settings and defaults. A top-level"wait_checking": "off"(or"on"/"all") provides a persistent override.Compose with
--cpu-thread-budgetin either order, applying both settings to one config copy and leaving the source unchanged. Mirage supports profiles and explicit--configfiles in daemon and in-process modes; dedicated flags beat-ooptions. Reject both flags for enabled DBT guests using an external simulator config, including generated Mirage profiles that previously lost the CPU budget override. Nativerocjitsu --attachalso refuses overrides.Document the flag and disable command in both CLI guides and the Sphinx reference. Preserve effective per-CU policies across checkpoint restore. Runtime warnings include the disable command; invalid per-CU values remain errors under a global override.
Validation: 516 Clang 23 Release native tests and 223 Mirage tests pass. Checked-in CLI matrices cover 31 native launches and 24 Mirage combinations, including every mode, both flag orders/spellings, and both effective values and source-file preservation. Mirage coverage includes generated/supplied configs and daemon/in-process execution. Nine IREE application smokes on simulated gfx950/gfx1100/gfx1250 pass sampled numerical checks with no wait warnings; overhead was not measured. Two unrelated DBT byte assertions also reproduce in a pre-change build. Pre-commit, rustfmt, clippy and the rustdoc link check pass.
Completed two local peanut-review rounds for the native change and one additional round for Mirage. Addressed actionable findings, including a disabled-DBT config regression that fails before the fix. A reviewer also verified warning suppression with a deliberate missing-wait HIP kernel on simulated gfx950, in daemon and in-process modes.