Skip to content

Commit 4b4f940

Browse files
committed
docs(matrix): v4 a-e + v3 1B Metal speed matrices (MD+HTML) for review
v4 op-level forward matrix (gdn/kda x paths a-e x f32/bf16/fp16/fp16d) on Metal (M4 Max) + gb10 (CUDA sm_121). Metal: Path E wins every cell (E>B>C>>A); gb10: GDN Path E wins, KDA only Path A runs. fp8/nvfp4 honestly omitted at op level (no MLX float8 array dtype). Fail-loud per-cell reasons recorded, no faked numbers (RULE #1). Driver: scripts/run_v4_speed_matrix_20260531.py.
1 parent ac412fb commit 4b4f940

7 files changed

Lines changed: 690 additions & 0 deletions
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<!DOCTYPE html>
2+
<html lang="en"><head><meta charset="utf-8">
3+
<title>cppmega 1B Speed Matrix — Local Metal (M4 Max) 20260531</title>
4+
<style>
5+
body { font-family: -apple-system, system-ui, sans-serif; margin: 2rem; color: #1a1a1a; }
6+
h1 { font-size: 1.3rem; }
7+
ul.meta { font-size: 0.85rem; color: #444; line-height: 1.5; }
8+
table { border-collapse: collapse; width: 100%; font-size: 0.85rem; }
9+
th, td { border: 1px solid #ccc; padding: 4px 8px; text-align: left; }
10+
th { background: #2d2d2d; color: #fff; }
11+
td.num { text-align: right; font-variant-numeric: tabular-nums; }
12+
tr.ok td:nth-child(4) { color: #0a7d28; font-weight: 600; }
13+
tr.bad td:nth-child(4) { color: #b40000; font-weight: 700; }
14+
tr:nth-child(even) { background: #f6f6f6; }
15+
</style></head><body>
16+
<h1>cppmega 1B Speed Matrix — Local Metal (Apple M4 Max)</h1>
17+
<ul class="meta">
18+
<li>Date: 20260531 &middot; Host: local Mac M4 Max (Metal) &middot; Profile: local_gb10_quarter</li>
19+
<li>seq-len 512, batch 1, --steps 10 warm, --grad-checkpoint, dynamic_int8_v1</li>
20+
<li>Path C: SPLIT/WARM (Path C fwd + Path B bwd, mamba3 bwd=path_b) &middot; matches prior path_c_warm &middot; per-cell bound 1800s</li>
21+
<li>cppmega SHA: <code>6d11d06</code> &middot; TileLang SHA: <code>3fcfc21c</code> (bf16 AtomicAdd fix 3fcfc21c live)</li>
22+
</ul>
23+
<table>
24+
<thead><tr><th>dtype</th><th>optimizer</th><th>path</th><th>status</th><th>tok/s</th><th>step/s</th><th>compile s</th><th>peak GB</th><th>cache hit</th><th>reason</th></tr></thead>
25+
<tbody>
26+
<tr class="ok"><td>bf16</td><td>adamw</td><td>path_b</td><td>ok</td><td class="num">489</td><td class="num">0.987</td><td class="num">1.45</td><td class="num">22.3</td><td></td><td>ok</td></tr>
27+
<tr class="ok"><td>bf16</td><td>adamw</td><td>path_c</td><td>ok</td><td class="num">257</td><td class="num">0.53</td><td class="num">3.85</td><td class="num">22.3</td><td></td><td>ok</td></tr>
28+
<tr class="ok"><td>bf16</td><td>adam8bit</td><td>path_b</td><td>ok</td><td class="num">833</td><td class="num">1.65</td><td class="num">0.668</td><td class="num">12.4</td><td></td><td>ok</td></tr>
29+
<tr class="ok"><td>bf16</td><td>adam8bit</td><td>path_c</td><td>ok</td><td class="num">464</td><td class="num">0.946</td><td class="num">3.72</td><td class="num">12.4</td><td></td><td>ok</td></tr>
30+
<tr class="ok"><td>bf16</td><td>lion</td><td>path_b</td><td>ok</td><td class="num">564</td><td class="num">1.13</td><td class="num">1.12</td><td class="num">25.5</td><td></td><td>ok</td></tr>
31+
<tr class="ok"><td>bf16</td><td>lion</td><td>path_c</td><td>ok</td><td class="num">279</td><td class="num">0.555</td><td class="num">3.45</td><td class="num">25.5</td><td></td><td>ok</td></tr>
32+
<tr class="ok"><td>bf16</td><td>lion8bit</td><td>path_b</td><td>ok</td><td class="num">888</td><td class="num">1.76</td><td class="num">0.641</td><td class="num">10.6</td><td></td><td>ok</td></tr>
33+
<tr class="ok"><td>bf16</td><td>lion8bit</td><td>path_c</td><td>ok</td><td class="num">541</td><td class="num">1.14</td><td class="num">3.46</td><td class="num">10.6</td><td></td><td>ok</td></tr>
34+
<tr class="ok"><td>bf16</td><td>muon</td><td>path_b</td><td>ok</td><td class="num">79.2</td><td class="num">0.155</td><td class="num">6.53</td><td class="num">16.6</td><td></td><td>ok</td></tr>
35+
<tr class="ok"><td>bf16</td><td>muon</td><td>path_c</td><td>ok</td><td class="num">68.5</td><td class="num">0.139</td><td class="num">8.4</td><td class="num">16.5</td><td></td><td>ok</td></tr>
36+
<tr class="ok"><td>bf16</td><td>muon_int8</td><td>path_b</td><td>ok</td><td class="num">62.4</td><td class="num">0.122</td><td class="num">8.32</td><td class="num">13</td><td></td><td>ok</td></tr>
37+
<tr class="ok"><td>bf16</td><td>muon_int8</td><td>path_c</td><td>ok</td><td class="num">43.4</td><td class="num">0.0871</td><td class="num">12</td><td class="num">13</td><td></td><td>ok</td></tr>
38+
<tr class="ok"><td>fp8</td><td>adamw</td><td>path_b</td><td>ok</td><td class="num">471</td><td class="num">0.932</td><td class="num">1.21</td><td class="num">22.3</td><td></td><td>ok</td></tr>
39+
<tr class="ok"><td>fp8</td><td>adamw</td><td>path_c</td><td>ok</td><td class="num">270</td><td class="num">0.557</td><td class="num">3.51</td><td class="num">22.3</td><td></td><td>ok</td></tr>
40+
<tr class="ok"><td>fp8</td><td>adam8bit</td><td>path_b</td><td>ok</td><td class="num">774</td><td class="num">1.53</td><td class="num">0.74</td><td class="num">12.7</td><td></td><td>ok</td></tr>
41+
<tr class="ok"><td>fp8</td><td>adam8bit</td><td>path_c</td><td>ok</td><td class="num">556</td><td class="num">1.19</td><td class="num">3.61</td><td class="num">12.3</td><td></td><td>ok</td></tr>
42+
<tr class="ok"><td>fp8</td><td>lion</td><td>path_b</td><td>ok</td><td class="num">527</td><td class="num">1.05</td><td class="num">1.19</td><td class="num">25.5</td><td></td><td>ok</td></tr>
43+
<tr class="ok"><td>fp8</td><td>lion</td><td>path_c</td><td>ok</td><td class="num">323</td><td class="num">0.683</td><td class="num">3.53</td><td class="num">25.5</td><td></td><td>ok</td></tr>
44+
<tr class="ok"><td>fp8</td><td>lion8bit</td><td>path_b</td><td>ok</td><td class="num">818</td><td class="num">1.62</td><td class="num">0.694</td><td class="num">10.9</td><td></td><td>ok</td></tr>
45+
<tr class="ok"><td>fp8</td><td>lion8bit</td><td>path_c</td><td>ok</td><td class="num">574</td><td class="num">1.23</td><td class="num">3.63</td><td class="num">10.5</td><td></td><td>ok</td></tr>
46+
<tr class="ok"><td>fp8</td><td>muon</td><td>path_b</td><td>ok</td><td class="num">75.4</td><td class="num">0.148</td><td class="num">6.85</td><td class="num">16.6</td><td></td><td>ok</td></tr>
47+
<tr class="ok"><td>fp8</td><td>muon</td><td>path_c</td><td>ok</td><td class="num">68.4</td><td class="num">0.14</td><td class="num">8.41</td><td class="num">16.5</td><td></td><td>ok</td></tr>
48+
<tr class="ok"><td>fp8</td><td>muon_int8</td><td>path_b</td><td>ok</td><td class="num">59.5</td><td class="num">0.117</td><td class="num">8.72</td><td class="num">13</td><td></td><td>ok</td></tr>
49+
<tr class="ok"><td>fp8</td><td>muon_int8</td><td>path_c</td><td>ok</td><td class="num">42.8</td><td class="num">0.0864</td><td class="num">12</td><td class="num">13</td><td></td><td>ok</td></tr>
50+
</tbody></table>
51+
</body></html>

0 commit comments

Comments
 (0)