Repository navigation
docs: an optimization ledger, which speed and memory change applies to which family - #2232
Conversation
|
Thanks @jschmied, a page that says which family has which optimization, with every cell linked, is something we've needed. The links and switch names check out against main. A few corrections:
|
|
Thanks for checking the cells. All four are in
To keep the page current, I'd propose one pre-flight line in |
|
Thanks @jschmied, all four are in, and listing every open PR the page cites with its rows is a good way to keep it current. One small thing: "[#2211] moves GLM onto the shared store" reads as done; please mark it "(open)" like the others. On the |
|
One small correction before it lands, in |
|
One Kimi K3/K3.1 mapping correction before this lands: in the current head, the Kimi cells appear reversed. Row 17 (DSpark) says #2221 landed the native Metal path with |
|
Thanks @jschmied. The Flash Next correction in row 3 reads right. Three lines no longer match main, so please fix them before it lands:
The 08:16 push also changed rows 4, 12, 19, 22 and 24 and part 2's row 2. Please list those in a comment so whoever lands it can check them. |
|
Thanks @ashhart and @Maxrio9. All in, on
Cells changed since the last review, for whoever lands this:
The null rows for fnext and gem4 are our GB10 measurements, on #1762 where a PR exists. |
|
Cells corrected in
Left alone:
|
|
/atc exchange 27b3e59fd493e5f63f4c42b9f86d17ca9a8a32ea8e59dcf91c65bf197597b967 |
dd855cb to
96f96e5
Compare
…o which family, with its PR One table of 27 optimizations by 21 families (yes, no, done, failed, open), split into five column groups to stay within 120 columns, then how each optimization works and what it saves, with per-family gain tables where PRs measured them. The intro points at the shared helpers a port builds on.
…decode and memory (low, medium, big)
…shhart#2146 landed, ashhart#2229 without the branch name
…mes through the host store
…shhart#1762) and add+norm under 1 %, direct load for Gemma 4 and Qwen 3.5 (ashhart#2282), Nemotron's done, q27 Metal pages (ashhart#2283)
…ma 4 and Nemotron; L2 prefetch is null for Flash Next and Gemma 4
96f96e5 to
a84b267
Compare
|
Thank you @jschmied. 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 @jschmied, this landed at 16:46, with the three corrected lines and its CHANGELOG line. One check for a small follow-up: row 21 marks read-ahead "done [#2033]" in several families, but we can't find #2033 on main, and main's CHANGELOG credits the six opt-in loaders to #2003. The same goes for "done M[#1714]" in row 12. Could you point to where those landed, or send a one-line PR switching the cites? |
|
@ashhart, both are on main, so I'd keep the ledger as it is:
|
|
Thanks @jschmied! This is in TensorFold 1.2.4, out now: https://github.com/ashhart/TensorFold/releases/tag/v1.2.4 |
What this changes
A new page,
docs/optimization-ledger.md: which speed and memory optimization applies to which model family, and where each one stands, so a change proven on one family gets ported to the others instead of re-invented.yes(applies, not done),no(with a short reason),done,failed(tried, no gain or rejected) oropen, with the backend where it matters and a link to the PR or issue. Four cells are?(add-plus-norm on deepseek_v41, lfm3 and kimi_k3; shared draft rounds on deepseek_v41), for whoever knows. To stay within 120 columns, the table is split into five column groups with the same rows.lowunder 3 %,medium3–15 %,bigover 15 %, or what lets a case fit), for planning a port. Measured numbers stay in the list.core/prompt_tail.zig(qwen3_5 cuda: a prompt chunk's last layer runs q, attention, o and the MLP over the kept row's tile #2229) andcore/state_walk.zig(core: one walk for kept prompt states, GLM on it (CUDA and Metal) #2215).The page asks that a PR changing a cell updates it in the same PR.
01e13a04a, one commit.atc overlap --json: no conflicts.When a cited PR lands
These cells say
openand flip todonewhen their PR lands:Checks on this head
93c8a2be8.git diff --checkclean. No line over 120 columns.Receipt
n/a: documentation only. Corrections welcome, cell by cell.