Repository navigation
cuda experts: a bf16 format for a checkpoint's own bf16 experts - #1630
BobClawblaw wants to merge 2 commits into
Conversation
7169a11 to
edcf86a
Compare
|
Rebased onto d377fcc. The conflicts were the contract registrations shared with main's new sets (MOSS-Image's CUDA set, the EXL3 load-ahead controls): both sides kept, the bf16 experts' records, limits entry and family set added beside main's. Checked: fmt, lean (0 new) and |
…nt blocks (relu^2 up, fp32 or bf16 down)
…and bf16 down, gates 1-5 with two controls
edcf86a to
5656b1f
Compare
|
Thanks @BobClawblaw. Since your last rebase, main's |
What this changes
A bf16 format for the grouped experts (
experts_bf16.cu): a checkpoint's own bf16 weights in mma-fragment blocks,relu^2 up and fp32 or bf16 down, in the decode form (items of 16 pairs) and the prompt form (items of 64). A row's sums
chain one mma per 16 inputs in input order, so its bits never depend on the rows beside it, its tile or its form. Used
by Nemotron 3.5 Transcribe, which ships its experts in bf16. Nothing else selects it. Stacked on #1629.
Receipt
tf-cuda-test bf16-experts: the repack from both source layouts, up and both downs against float64, every row'sbits the same at any row count and in both forms.
SUMMARY bf16 experts: 6 kernels, 6 pass gates 1-4, 0 fail, 0 known findings; 2 controls: 2 red as planted, 0 missedSUMMARY 452 kernels: 452 pass gates 1-4, 0 fail, 6 known findings; 325 controls: 325 red as planted, 0 missed; 321 limit problems(the stack on main d33dcfc; none of the limit problems is in this stack's launches). The stack then rebased onto 3f0a715 without conflicts; the three sets,zig build testand the Transcribe clips were re-run there.experts.ziggains thebf16format arm; other formats' dispatch is unchanged. One existing test movedto
experts_refuse_test.zigto keep the file under 600 lines.Overlap
atc overlaplists #1445 and #1446 as conflicting, in the shared registration lists (registry.zig,cuda_kernels.zig,kernels.zig,kernel-contract.md,tests/cuda/main.zig); whichever lands second rebases.