Repository navigation
Conversation
e6e8cab to
8a6d3c9
Compare
68bc6b1 to
2a123e2
Compare
|
Thanks @gilby. One small change: |
|
Our Metal kernel contract over the stack ( |
2a123e2 to
115c07a
Compare
|
Thanks @ashhart. Added the four planted controls to |
index.metal scores FP4 queries against FP4 keys in one stated order with causal and block masks, topk512.metal keeps each row's top 512, cand.metal picks the candidate blocks as a byte mask, and route.metal takes the top-k of sqrt(softplus(logit)) + bias for the backbone and the drafter. Each is registered with the contract.
115c07a to
98964c1
Compare
What this changes
Indexer scores (
index.metal), the top-512 (topk512.metal), the candidate blocks (cand.metal) and the MoE route (route.metal) on Metal, each registered with the kernel contract. The route select's two launch records live in the family'sdsv41_route_records.zig, soregistry.zigis unchanged by this part.The route select carries planted controls too, on both its backbone and drafter variants: a higher id winning a tie, a NaN key winning, the bias added to the weight, and a write past k. Each compiles away at
TF_CTL 0and is required to turn its gate red.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 8 of 18 of the stack for #1676; stacks on
dsv41-metal-pr/07-glue-kernels(part 7, #1711), 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 56 kernels: 56 pass gates 1-4, 0 fail, 0 known findings; 113 controls: 113 red as planted, 0 missed; 0 limit problems; gates 116592 ms, limits 154 ms;python3 tools/zig/lean_check.py: 5059 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.