Repository navigation
[rocjitsu] Define GWS state in execution fuzzer - #14532
Conversation
Six retained TSan fuzz inputs abort when a mutated gfx942 stream reaches DS_GWS_BARRIER before the standalone execution harness has initialized its process-scoped GWS resource. This is a deterministic harness-state failure, not a TSan race. Arm all 64 resources for process 1 with count zero before execution. Document the contract and cover representative resource IDs with an execution-count regression test. All six inputs pass under TSan, as do 22 focused ExecutionFuzz and MultiplexerFuzz tests. Two local Peanut review rounds completed.
❌ 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 |
rocjitsu presubmit fuzz passedThe 32-worker multiplexer campaigns for the merge result for PR head
|
sjain-stanford
left a comment
There was a problem hiding this comment.
LGTM modulo one comment.
| throw std::runtime_error("execution fuzz wave allocation failed"); | ||
| wf->set_process_id(1); | ||
| // Arbitrary streams may contain a GWS barrier without a preceding GWS INIT. | ||
| // A compute unit without a CP or engine rejects such a barrier by throwing. |
There was a problem hiding this comment.
It would help to attribute this throw to the missing simulation engine. The harness already has a command processor, wired in config_loader.cpp:865; fail_gws_wait (compute_unit.cpp:551–555) calls request_exit when an engine is present but a CP is absent. Suggested wording: “Without a simulation engine, the compute unit reports a barrier before INIT by throwing.” This small documentation correction needn't block the harness fix.
rocjitsu post-commit fuzz passedThe 32-worker multiplexer campaigns for commit
|
TheRock Submodule Bump ActivityNewest first
|
Six retained TSan fuzz inputs abort when a mutated gfx942 stream reaches DS_GWS_BARRIER before the standalone execution harness has initialized its process-scoped GWS resource. This is a deterministic harness-state failure, not a TSan race.
Arm all 64 resources for process 1 with count zero before execution. Document the contract and cover representative resource IDs with an execution-count regression test.
All six inputs pass under TSan, as do 22 focused ExecutionFuzz and MultiplexerFuzz tests. Two local Peanut review rounds completed.
Identified in #14434 (comment)