Merge pull request #88 from timtan/bench-m2-ultra

Add M2 Ultra (192 GB) benchmark
This commit is contained in:
Salvatore Sanfilippo
2026-05-12 12:19:56 +02:00
committed by GitHub
2 changed files with 84 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
ctx_tokens,prefill_tokens,prefill_tps,gen_tokens,gen_tps,kvcache_bytes
2048,2048,410.62,128,23.22,52184460
4096,2048,389.21,128,23.19,80373132
6144,2048,380.60,128,22.95,108561804
8192,2048,382.57,128,22.72,136750476
10240,2048,373.97,128,22.92,164939148
12288,2048,370.00,128,22.84,193127820
14336,2048,361.94,128,22.73,221316492
16384,2048,362.43,128,22.72,249505164
18432,2048,352.75,128,22.35,277693836
20480,2048,349.08,128,22.55,305882508
22528,2048,345.03,128,22.29,334071180
24576,2048,344.59,128,22.41,362259852
26624,2048,333.60,128,22.19,390448524
28672,2048,330.43,128,22.30,418637196
30720,2048,326.14,128,22.07,446825868
32768,2048,325.77,128,21.92,475014540
34816,2048,316.26,128,21.66,503203212
36864,2048,313.02,128,21.65,531391884
38912,2048,309.92,128,21.36,559580556
40960,2048,309.89,128,21.53,587769228
43008,2048,300.73,128,21.30,615957900
45056,2048,298.40,128,21.37,644146572
47104,2048,294.72,128,21.17,672335244
49152,2048,294.76,128,21.27,700523916
51200,2048,287.54,128,21.07,728712588
53248,2048,284.80,128,21.17,756901260
55296,2048,281.71,128,20.77,785089932
57344,2048,281.73,128,21.00,813278604
59392,2048,273.83,128,20.77,841467276
61440,2048,271.99,128,20.85,869655948
63488,2048,269.16,128,20.61,897844620
65536,2048,269.75,128,20.43,926033292
1 ctx_tokens prefill_tokens prefill_tps gen_tokens gen_tps kvcache_bytes
2 2048 2048 410.62 128 23.22 52184460
3 4096 2048 389.21 128 23.19 80373132
4 6144 2048 380.60 128 22.95 108561804
5 8192 2048 382.57 128 22.72 136750476
6 10240 2048 373.97 128 22.92 164939148
7 12288 2048 370.00 128 22.84 193127820
8 14336 2048 361.94 128 22.73 221316492
9 16384 2048 362.43 128 22.72 249505164
10 18432 2048 352.75 128 22.35 277693836
11 20480 2048 349.08 128 22.55 305882508
12 22528 2048 345.03 128 22.29 334071180
13 24576 2048 344.59 128 22.41 362259852
14 26624 2048 333.60 128 22.19 390448524
15 28672 2048 330.43 128 22.30 418637196
16 30720 2048 326.14 128 22.07 446825868
17 32768 2048 325.77 128 21.92 475014540
18 34816 2048 316.26 128 21.66 503203212
19 36864 2048 313.02 128 21.65 531391884
20 38912 2048 309.92 128 21.36 559580556
21 40960 2048 309.89 128 21.53 587769228
22 43008 2048 300.73 128 21.30 615957900
23 45056 2048 298.40 128 21.37 644146572
24 47104 2048 294.72 128 21.17 672335244
25 49152 2048 294.76 128 21.27 700523916
26 51200 2048 287.54 128 21.07 728712588
27 53248 2048 284.80 128 21.17 756901260
28 55296 2048 281.71 128 20.77 785089932
29 57344 2048 281.73 128 21.00 813278604
30 59392 2048 273.83 128 20.77 841467276
31 61440 2048 271.99 128 20.85 869655948
32 63488 2048 269.16 128 20.61 897844620
33 65536 2048 269.75 128 20.43 926033292
+51
View File
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="960" height="540" viewBox="0 0 960 540">
<style>
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.title { font-size: 26px; font-weight: 700; fill: #1f2933; }
.axis-label { font-size: 14px; font-weight: 600; fill: #334155; }
.tick { font-size: 12px; fill: #64748b; }
.legend { font-size: 13px; font-weight: 600; fill: #1f2933; }
</style>
<rect width="960" height="540" fill="#ffffff"/>
<text class="title" x="480.0" y="34" text-anchor="middle">M2 Ultra t/s</text>
<line x1="82" y1="468.00" x2="878" y2="468.00" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="472.00" text-anchor="end">0</text>
<line x1="82" y1="387.60" x2="878" y2="387.60" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="391.60" text-anchor="end">100</text>
<line x1="82" y1="307.20" x2="878" y2="307.20" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="311.20" text-anchor="end">200</text>
<line x1="82" y1="226.80" x2="878" y2="226.80" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="230.80" text-anchor="end">300</text>
<line x1="82" y1="146.40" x2="878" y2="146.40" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="150.40" text-anchor="end">400</text>
<line x1="82" y1="66.00" x2="878" y2="66.00" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="70" y="70.00" text-anchor="end">500</text>
<text class="tick" x="890" y="472.00" text-anchor="start">0</text>
<text class="tick" x="890" y="391.60" text-anchor="start">5</text>
<text class="tick" x="890" y="311.20" text-anchor="start">10</text>
<text class="tick" x="890" y="230.80" text-anchor="start">15</text>
<text class="tick" x="890" y="150.40" text-anchor="start">20</text>
<text class="tick" x="890" y="70.00" text-anchor="start">25</text>
<line x1="82.00" y1="66" x2="82.00" y2="468" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="82.00" y="492" text-anchor="middle">0</text>
<line x1="324.92" y1="66" x2="324.92" y2="468" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="324.92" y="492" text-anchor="middle">20k</text>
<line x1="567.84" y1="66" x2="567.84" y2="468" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="567.84" y="492" text-anchor="middle">40k</text>
<line x1="810.76" y1="66" x2="810.76" y2="468" stroke="#e2e8f0" stroke-width="1"/>
<text class="tick" x="810.76" y="492" text-anchor="middle">60k</text>
<line x1="82" y1="66" x2="82" y2="468" stroke="#334155" stroke-width="1.4"/>
<line x1="878" y1="66" x2="878" y2="468" stroke="#334155" stroke-width="1.4"/>
<line x1="82" y1="468" x2="878" y2="468" stroke="#334155" stroke-width="1.4"/>
<text class="axis-label" x="480.0" y="520" text-anchor="middle">ctx size</text>
<text class="axis-label" x="22" y="267.0" text-anchor="middle" transform="rotate(-90 22 267.0)">prefill t/s</text>
<text class="axis-label" x="938" y="267.0" text-anchor="middle" transform="rotate(90 938 267.0)">generation t/s</text>
<polyline fill="none" stroke="#2563eb" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" points="106.88,137.86 131.75,155.08 156.62,162.00 181.50,160.41 206.38,167.33 231.25,170.52 256.12,177.00 281.00,176.61 305.88,184.39 330.75,187.34 355.62,190.60 380.50,190.95 405.38,199.79 430.25,202.33 455.12,205.78 480.00,206.08 504.88,213.73 529.75,216.33 554.62,218.82 579.50,218.85 604.38,226.21 629.25,228.09 654.12,231.05 679.00,231.01 703.88,236.82 728.75,239.02 753.62,241.51 778.50,241.49 803.38,247.84 828.25,249.32 853.12,251.60 878.00,251.12"/>
<polyline fill="none" stroke="#dc2626" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" points="106.88,94.62 131.75,95.10 156.62,98.96 181.50,102.66 206.38,99.45 231.25,100.73 256.12,102.50 281.00,102.66 305.88,108.61 330.75,105.40 355.62,109.58 380.50,107.65 405.38,111.18 430.25,109.42 455.12,113.11 480.00,115.53 504.88,119.71 529.75,119.87 554.62,124.53 579.50,121.80 604.38,125.50 629.25,124.37 654.12,127.59 679.00,125.98 703.88,129.19 728.75,127.59 753.62,134.02 778.50,130.32 803.38,134.02 828.25,132.73 853.12,136.59 878.00,139.49"/>
<rect x="694" y="66" width="176" height="62" rx="6" fill="#ffffff" stroke="#cbd5e1"/>
<rect x="708" y="78" width="12" height="12" fill="#2563eb"/>
<text class="legend" x="730" y="89">prefill</text>
<rect x="708" y="104" width="12" height="12" fill="#dc2626"/>
<text class="legend" x="730" y="115">generation</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB