Repository navigation
Conversation
The gfx11 HIP path for Qwen3.8-Flash-Next: matrix-core prompt tiles (dense, routed experts, sparse attention, indexer, chunked DeltaNet), merged decode and verify launches (router with pick and plan, hyper-connection up and mix, QSA prep, MoE combine in the next HC norm), held-state verify windows with a keep pass, MTP drafts gated to 7, and a side stream that reads the next experts' down codes during one-row decode. policy numerics=exact|inexact: exact (the default) runs only kernels whose bytes equal the reference path's; inexact also runs the rounding-class tiles. Every new kernel has its kernel-contract record.
This was referenced Oct 30, 2026
Contributor
|
Hi @davidtai, a heads-up that #1694 overlaps with the stream-tile part of this series. It is the stream-tile work I mentioned in question 4 of #1563. Both change
Two things from my side that may help when you split the series:
On Qwen3.8-27B it gives +30% aggregate at 8 streams and +47% at 16, with the bytes unchanged. I'm happy to rebase onto your series, or for yours to build on this one, whichever the maintainers prefer. |
davidtai
added a commit
to davidtai/TensorFold
that referenced
this pull request
Oct 31, 2026
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.
Refs #1661.
Draft. The branch is being restructured; the current head is an older squashed commit and will be replaced.
Scope
The gfx11 HIP path for Qwen3.8-Flash-Next, measured on gfx1151, limited to changes whose output bytes equal the base path's.
The new head will be a series of self-contained commits, one per change, each with its own tests, its kernel-contract
registration (gates 1-4 test type and gate-5 record) and its evidence, so each commit can become its own pull request if
the maintainers prefer.
The rounding-class kernels and the
numerics=exact|inexactswitch of the earlier squashed commit are no longer part ofthis pull request. Under
numerics=inexactthey did not meet CONTRIBUTING's rules: their FP64 error is larger than theexact path's, and their output depends on how many rows run together, so a resumed turn and a decoder beside a long
prompt did not equal their fresh and solo runs. The evidence is in #1661, recorded as findings to fix before any later
proposal.
Planned content (the series)
tile's bytes; the DeltaNet prompt recurrence at half a value head a block and its prework in one launch; the indexer
at 4 lanes a score; a prompt's picks a wave a row and its route plan in three launches; the router tile.
inside the next HC norm; QSA decode prep in one launch; stream-tile work for 1 to 8 rows; top-k in parts; a side
stream that reads the next experts' down codes at one-row decode (reviewed by the expert-kernel owner).
forwards timed at load; a gated draft chain; sampled streams draft the target's keyed choice.
Exactness (numerics as the base path)
Recorded on an AMD Strix Halo (gfx1151) machine: drafted == plain (greedy and sampled), solo == together, decoders
unchanged by a long prompt, resumed == fresh through rewinds with up to 10,240 cached tokens, cancellation, and one logits
hash across prompt chunks of 512, 2,048, 8,192 and 20,480 rows. The Flash Next greedy hash equals the base path's
(243ecea88fe50d9f). Full receipts come with the series.
Known finding carried from upstream
Upstream's
select_body(the MoE pick) is not deterministic for a row that holds a NaN, and leaves pick slots unwrittenfor a row with fewer than k numbers. The new pick kernels keep its bytes, so their contract specs record the same known
finding.
Results
Performance and memory receipts for this scope (cold prefill 2K to the native window, serial and drafted decode, peak
memory, against current
main) are running and will be posted with the series. Earlier numbers and charts were measuredwith the rounding-class kernels; they describe the fork's
numerics=inexactpath and are kept in #1661 with that label.Not run
Metal and CUDA device tests (no such hardware). HIP devices other than gfx1151 are covered only by the limits check.
ATC: issue #1661 is claimed, with anonymous session 220947162292872.
🤖 Generated with Claude Code