Repository navigation
dsv41 metal: the registered glue kernels (norms, RoPE, FP8 and FP4 round trips, embed, join, mean) - #1711
Conversation
f7bd0c6 to
4fad5c7
Compare
850407a to
fec314e
Compare
|
Thanks @gilby: nothing owed from you here. Every kernel in this part is gated against float64 with planted controls, and the push is a clean rebase. We're running |
|
Our Metal kernel contract over the stack ( |
fec314e to
89f66a0
Compare
…und trips, embed, join, mean) glue.metal holds the layer's small launches in one stated order each: RMSNorm with fp32 or bf16 weights, RoPE, act_quant and fp4_act_quant round trips, the embedding, the MoE join and the hc mean. Registered with the contract against float64, and bit-equal to the phase-1 glue.
89f66a0 to
ee5e01f
Compare
|
Thank you @gilby. This is merged into main with your commits under your own name, so you're listed as a TensorFold contributor. It ships in the next release, credited to you in the changelog and the release notes. |
|
Thanks @gilby! This is in TensorFold 1.2.2, out now: https://github.com/ashhart/TensorFold/releases/tag/v1.2.2 |
What this changes
The registered glue kernels (
glue.metal): RMSNorm, RoPE, the FP8 and FP4 act_quant round trips, the embedding, the MoE join and the hc mean, each in one stated order and checked against float64.Main's shared files change only by one-line hooks; this part's records, suites and limits go into the family's own files (
dsv41_metal_records.zig,metal_dsv41_main.zig,metal_dsv41_limits.zig).Part 7 of 18 of the stack for #1676; stacks on
dsv41-metal-pr/06-matvecs-phase1-glue(part 6, #1710), on main with parts 1 to 5 (#1705 to #1709) merged.Receipt
tools/bench_concurrent.py --alone --serialortoken_shaagainst"draft": false: n/a: kernels only; the kernel contract checks each launch geometry's bits against the others and against float64.tools/bench_openai.py: measured on the PR that turns serving on.ttft_sfromtools/bench_cache.py --require-coldon a long prompt, or "n/a" with the reason when the change cannot reach prompt processing: measured on the PR that turns serving on.zig build test tf-kernel-contract -Dcpu=apple_m1: exit 0, 621/621 steps succeeded; kernel contract,tf-kernel-contract --only dsv41(Metal):SUMMARY 48 kernels: 48 pass gates 1-4, 0 fail, 0 known findings; 93 controls: 93 red as planted, 0 missed; 0 limit problems; gates 99467 ms, limits 159 ms;python3 tools/zig/lean_check.py: 5044 files, 424 problems, the same count as main (5027 files, 424). Zig's summary counts only the test binaries it ran in that invocation, so the step count is the comparable figure.Checklist
"draft": false, a resumed prompt equals a fresh one, and concurrent equals solo.SUMMARYline is in the receipt.