Repository navigation
Conversation
Signed-off-by: Raul Estrada <raulestradaa@gmail.com>
062d758 to
ffce9c0
Compare
|
Putting this PR on hold until the pointer-contract refactor is stable and the remaining WGMMA correctness evidence is available.
This remains a verification hold, not an approval. The required evidence follows the correctness standard in the Discord announcement. |
|
Went through this in depth as part of a full review pass over the open queue. Closing it, and I want to be clear about why, because the lowering work itself is not the problem. What's good
Why it doesn't clear the bar New compiler features need a concrete consumer and evidenced benefit. That's the standing acceptance rule, and this PR has neither:
And the core risk is still open. Zero spills proves the PTX assembles, not that the pipeline is correct: Every test in the PR builds dialect IR by hand; nothing drives the f16 intrinsics from Rust source through the recognizer, and nothing ran on a Hopper GPU. It also aged out under main
If you want to bring this back Please resubmit a fresh PR for review that comes with: the workload, the sm_90a numerical test (slot reuse + one adversarial ordering case), perf vs full-drain, an end-to-end |
Closes #1144
Summary
Adds register-resident lowering for the canonical straight-line F16 WGMMA partial wait pipeline with exactly two accumulator slots and
wait_group<1>.This extends the existing BF16 partial-wait pipeline machinery to the narrowly scoped F16
m64n64k16.f32.f16.f16case while preserving the existing fail-closed behavior for unsupported F16 pipeline shapes.What changed
m64n64k16.wait_group<1>wait_group<0>ptxasprobe to validate the F16 two-slot pipeline.Supported F16 shape
The accumulator slots are value-threaded through tied
f32registers and reused only after the corresponding pending group is safe to retire.Intentionally unsupported
This PR does not add support for:
wait_group<N>whereN > 1Validation
Validated with:
Results:
ptxasvalidation forsm_90a:The negative coverage also verifies that F16
wait_group<2>remains unsupported and that mixed BF16/F16 partial-wait pipelines are rejected.