Repository navigation
Conversation
82a5c29 to
d042214
Compare
5e6cab4 to
61ed6a6
Compare
|
Thanks @gilby. One change, a rebase artifact we confirmed against main: the diff replaces main's |
61ed6a6 to
5273393
Compare
|
Thanks @ashhart, you were right. Rebased onto current main with |
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.
compress.metal pools the ratio-2 and ratio-4 compressed KV and round-trips it through FP4; engram.metal dequantises the FP8 Engram rows, projects them, gates them and adds them to the residual. Registered with the contract against float64 and bit-equal to the phase-1 glue where they replace it.
…lded decode glue hc.metal runs hc_mixes with Sinkhorn, hc_pre and hc_post in fixed orders; fused.metal and fold.metal split or fold neighbouring glue launches at the same bits. Registered with the contract against float64 and bit-equal to the phase-1 glue.
… by stage against float64 The Metal package over the family's neutral host files: the kernels' pipelines, release weights (copied or mapped from the shards), a slot's KV regions, RoPE tables, scratch and one layer's encoders (attention with the indexer and compressor, MoE, hyper-connections). test-dsv41-metal checks every stage of every layer kind against float64 and rows at once against one at a time; test-dsv41-metal-real runs one release layer under TF_DSV41_REAL.
…d the DSpark taps forward.zig runs the stack for 1-16 rows of one or several slots in one launch: Engram before its layers, the hc mean into the taps, the head. model_weights loads a whole checkpoint, its shards mapped zero-copy where aligned. The tiny model's stages are checked against float64 and R rows in a launch against one at a time.
The prompt runs the encoder layers over every row in chunks, then the decoder's suffix cone: layer L of the decoder computes only the rows the prompt's end depends on (kept + (39 - L) x 127), with the bits of running every row. ced gains the cone's rules and the snapshot replay; tests check chunk sizes, the cone against every row, resumes and the grouped experts against the decode rows.
5273393 to
ccb7c4b
Compare
What this changes
Prompt chunks on Metal and the exact decoder suffix: decoder layer L computes only the rows the prompt's end depends on (
kept + (39 - L) * 127), with the same bits as running every row;cedgains the cone's rules and the snapshot replay.neutral.zigkeeps main'sengram_manifestexport besideced, andshared_test.zigkeeps main'sengram_manifest_test.ziganddsq_storage_test.zigimports, so no existing test file stops running.Part 13 of 18 of the stack for #1676; stacks on
dsv41-metal-pr/12-decode-forward(part 12, #1716), on main with parts 1 to 5 (#1705 to #1709) merged.Receipt
tools/bench_concurrent.py --alone --serialortoken_shaagainst"draft": false: n/a for served output; chunk sizes 1, 7, 64 and whole give the same logits, taps and slot; the suffix cone equals every decoder layer on every row; a resumed prompt equals a fresh one.tools/bench_openai.py: measured on the last PR of the stack.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 last PR of the stack.zig build test tf-kernel-contract -Dcpu=apple_m1: exit 0, 625/625 steps succeeded; kernel contract,tf-kernel-contract --only dsv41(Metal):SUMMARY 89 kernels: 89 pass gates 1-4, 0 fail, 0 known findings; 186 controls: 186 red as planted, 0 missed; 0 limit problems; gates 119124 ms, limits 162 ms;zig build test-dsv41-metal -Dcpu=apple_m1(the device suite, its own step): exit 0, 7/7 steps succeeded; 22/22 tests passed;python3 tools/zig/lean_check.py: 5124 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.test-dsv41-metal-real,test-dsv41-metal-vision-real) were run at the stack's top and are in dsv41 metal: image prompts #1722's receipt.Checklist
"draft": false, a resumed prompt equals a fresh one, and concurrent equals solo.SUMMARYline is in the receipt.