SPB Git

spb/wp33_uqo

Public MIT

Qwen3-30B parity on M3U96a (bit-identical, 121.7 vs 121.5 tok/s), make_tables.py, cold-NVMe sweep script, LOG

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Nov 1, 2026) parent 258ba81 Browse files

23 changed files +2,727 −9

added benchmarks/processed/gateC/sim_olmoe_v2_ssd043_m8.json +2309 −0
@@ -0,0 +1,2309 @@
1+{
2+ "cmd": "benchmarks/scripts/simulate_cache.py --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --capacities 16,24,32,48 --policies lru --m 8 --t-read-ms 0.43 --out benchmarks/processed/gateC/sim_olmoe_v2_ssd043_m8.json",
3+ "ts": "2026-11-01T01:47:09",
4+ "traces": "benchmarks/raw/gateC/traces_olmoe_v2_laptop",
5+ "L": 16,
6+ "E": 64,
7+ "K": 8,
8+ "t_read_ms": 0.43,
9+ "t_layer_ms": 0.128,
10+ "loaders": 1,
11+ "results": [
12+ {
13+ "capacity": 16,
14+ "policy": "lru",
15+ "predictor": "none",
16+ "m": 8,
17+ "hit_rate": 0.5768595950704225,
18+ "misses_per_token": 54.16197183098591,
19+ "stall_ms_per_token": 23.289647887323987,
20+ "prefetch_loads_per_token": 0.0,
21+ "prefetch_precision": null,
22+ "loads_per_token": 54.16197183098591,
23+ "pred_recall_at_k": null,
24+ "tokens": 12780,
25+ "families": {
26+ "general": {
27+ "hit_rate": 0.5229952830188679,
28+ "stall_ms_per_token": 26.254339622641496
29+ },
30+ "code": {
31+ "hit_rate": 0.6450788361508453,
32+ "stall_ms_per_token": 19.534860858257467
33+ },
34+ "reasoning": {
35+ "hit_rate": 0.534992465932914,
36+ "stall_ms_per_token": 25.594014675052406
37+ },
38+ "multilingual": {
39+ "hit_rate": 0.5699602711210398,
40+ "stall_ms_per_token": 23.669386677497993
41+ },
42+ "longctx": {
43+ "hit_rate": 0.5257540899795501,
44+ "stall_ms_per_token": 26.10249488752555
45+ },
46+ "drift": {
47+ "hit_rate": 0.5936745776347546,
48+ "stall_ms_per_token": 22.364151246983084
49+ }
50+ },
51+ "split": "fit"
52+ },
53+ {
54+ "capacity": 16,
55+ "policy": "lru",
56+ "predictor": "none",
57+ "m": 8,
58+ "hit_rate": 0.5807302010923535,
59+ "misses_per_token": 53.66653426017875,
60+ "stall_ms_per_token": 23.076609731876843,
61+ "prefetch_loads_per_token": 0.0,
62+ "prefetch_precision": null,
63+ "loads_per_token": 53.66653426017875,
64+ "pred_recall_at_k": null,
65+ "tokens": 5035,
66+ "families": {
67+ "general": {
68+ "hit_rate": 0.4989222212294496,
69+ "stall_ms_per_token": 27.579320943531116
70+ },
71+ "code": {
72+ "hit_rate": 0.6525027395115842,
73+ "stall_ms_per_token": 19.126249217282393
74+ },
75+ "reasoning": {
76+ "hit_rate": 0.5798861994219653,
77+ "stall_ms_per_token": 23.123063583815036
78+ },
79+ "multilingual": {
80+ "hit_rate": 0.5800225332068312,
81+ "stall_ms_per_token": 23.115559772296024
82+ },
83+ "longctx": {
84+ "hit_rate": 0.5904132443531828,
85+ "stall_ms_per_token": 22.543655030800807
86+ },
87+ "drift": {
88+ "hit_rate": 0.5726747776679841,
89+ "stall_ms_per_token": 23.519980237154165
90+ }
91+ },
92+ "split": "heldout"
93+ },
94+ {
95+ "capacity": 16,
96+ "policy": "lru",
97+ "predictor": "prev_rank",
98+ "m": 8,
99+ "hit_rate": 0.5450747016823161,
100+ "misses_per_token": 58.230438184663534,
101+ "stall_ms_per_token": 25.03908841940522,
102+ "prefetch_loads_per_token": 101.44154929577465,
103+ "prefetch_precision": 0.17654808654274107,
104+ "loads_per_token": 159.6719874804382,
105+ "pred_recall_at_k": null,
106+ "tokens": 12780,
107+ "families": {
108+ "general": {
109+ "hit_rate": 0.4931080900676397,
110+ "stall_ms_per_token": 27.899330722677103
111+ },
112+ "code": {
113+ "hit_rate": 0.6040047951885565,
114+ "stall_ms_per_token": 21.795576072821852
115+ },
116+ "reasoning": {
117+ "hit_rate": 0.5079844732704403,
118+ "stall_ms_per_token": 27.08053459119503
119+ },
120+ "multilingual": {
121+ "hit_rate": 0.547024141957758,
122+ "stall_ms_per_token": 24.931791226644997
123+ },
124+ "longctx": {
125+ "hit_rate": 0.5017574130879345,
126+ "stall_ms_per_token": 27.423271983640134
127+ },
128+ "drift": {
129+ "hit_rate": 0.55595082461786,
130+ "stall_ms_per_token": 24.440466613033017
131+ }
132+ },
133+ "split": "fit"
134+ },
135+ {
136+ "capacity": 16,
137+ "policy": "lru",
138+ "predictor": "prev_rank",
139+ "m": 8,
140+ "hit_rate": 0.5563927507447864,
141+ "misses_per_token": 56.78172790466733,
142+ "stall_ms_per_token": 24.41614299900682,
143+ "prefetch_loads_per_token": 100.51956305858987,
144+ "prefetch_precision": 0.17786831477368825,
145+ "loads_per_token": 157.3012909632572,
146+ "pred_recall_at_k": null,
147+ "tokens": 5035,
148+ "families": {
149+ "general": {
150+ "hit_rate": 0.49301956754824877,
151+ "stall_ms_per_token": 27.904203002144374
152+ },
153+ "code": {
154+ "hit_rate": 0.6179897855353789,
155+ "stall_ms_per_token": 21.025842204132797
156+ },
157+ "reasoning": {
158+ "hit_rate": 0.5361121146435452,
159+ "stall_ms_per_token": 25.53238921001927
160+ },
161+ "multilingual": {
162+ "hit_rate": 0.5729512571157496,
163+ "stall_ms_per_token": 23.504762808349145
164+ },
165+ "longctx": {
166+ "hit_rate": 0.5559708675564682,
167+ "stall_ms_per_token": 24.43936344969197
168+ },
169+ "drift": {
170+ "hit_rate": 0.5411623023715415,
171+ "stall_ms_per_token": 25.25442687747036
172+ }
173+ },
174+ "split": "heldout"
175+ },
176+ {
177+ "capacity": 16,
178+ "policy": "lru",
179+ "predictor": "transition",
180+ "m": 8,
181+ "hit_rate": 0.6797400723787167,
182+ "misses_per_token": 40.993270735524256,
183+ "stall_ms_per_token": 17.323041314554185,
184+ "prefetch_loads_per_token": 47.78051643192488,
185+ "prefetch_precision": 0.5297419898957643,
186+ "loads_per_token": 88.77378716744914,
187+ "pred_recall_at_k": 0.5303931924882629,
188+ "tokens": 12780,
189+ "families": {
190+ "general": {
191+ "hit_rate": 0.6455338866144535,
192+ "stall_ms_per_token": 19.18719473122103
193+ },
194+ "code": {
195+ "hit_rate": 0.7263146131339402,
196+ "stall_ms_per_token": 14.791964109232758
197+ },
198+ "reasoning": {
199+ "hit_rate": 0.6476267688679245,
200+ "stall_ms_per_token": 19.093540880503163
201+ },
202+ "multilingual": {
203+ "hit_rate": 0.6693015079203899,
204+ "stall_ms_per_token": 17.88471242891963
205+ },
206+ "longctx": {
207+ "hit_rate": 0.6531984918200409,
208+ "stall_ms_per_token": 18.75508520790728
209+ },
210+ "drift": {
211+ "hit_rate": 0.6896181114239742,
212+ "stall_ms_per_token": 16.77829927594529
213+ }
214+ },
215+ "split": "fit"
216+ },
217+ {
218+ "capacity": 16,
219+ "policy": "lru",
220+ "predictor": "transition",
221+ "m": 8,
222+ "hit_rate": 0.6861811072492552,
223+ "misses_per_token": 40.16881827209533,
224+ "stall_ms_per_token": 17.002457199602762,
225+ "prefetch_loads_per_token": 46.16464746772592,
226+ "prefetch_precision": 0.5307672120427295,
227+ "loads_per_token": 86.33346573982125,
228+ "pred_recall_at_k": 0.5340830850711685,
229+ "tokens": 5035,
230+ "families": {
231+ "general": {
232+ "hit_rate": 0.6342811829878484,
233+ "stall_ms_per_token": 19.886887776983528
234+ },
235+ "code": {
236+ "hit_rate": 0.7338026377582968,
237+ "stall_ms_per_token": 14.39574326862868
238+ },
239+ "reasoning": {
240+ "hit_rate": 0.6778961946050096,
241+ "stall_ms_per_token": 17.441518304431565
242+ },
243+ "multilingual": {
244+ "hit_rate": 0.6813626660341556,
245+ "stall_ms_per_token": 17.254110056925995
246+ },
247+ "longctx": {
248+ "hit_rate": 0.7016651694045175,
249+ "stall_ms_per_token": 16.071305954825455
250+ },
251+ "drift": {
252+ "hit_rate": 0.6779891304347826,
253+ "stall_ms_per_token": 17.43838735177865
254+ }
255+ },
256+ "split": "heldout"
257+ },
258+ {
259+ "capacity": 16,
260+ "policy": "lru",
261+ "predictor": "transition2",
262+ "m": 8,
263+ "hit_rate": 0.6632561864241001,
264+ "misses_per_token": 43.10320813771518,
265+ "stall_ms_per_token": 17.99225242566519,
266+ "prefetch_loads_per_token": 43.67801251956182,
267+ "prefetch_precision": 0.5143074676866026,
268+ "loads_per_token": 86.78122065727699,
269+ "pred_recall_at_k": 0.5199705175497429,
270+ "tokens": 12780,
271+ "families": {
272+ "general": {
273+ "hit_rate": 0.6251084683161268,
274+ "stall_ms_per_token": 20.05331363474548
275+ },
276+ "code": {
277+ "hit_rate": 0.7141153283485046,
278+ "stall_ms_per_token": 15.27096332899875
279+ },
280+ "reasoning": {
281+ "hit_rate": 0.629373034591195,
282+ "stall_ms_per_token": 19.87898951781966
283+ },
284+ "multilingual": {
285+ "hit_rate": 0.652372309098294,
286+ "stall_ms_per_token": 18.537619821283528
287+ },
288+ "longctx": {
289+ "hit_rate": 0.6350066036128152,
290+ "stall_ms_per_token": 19.499581458759362
291+ },
292+ "drift": {
293+ "hit_rate": 0.6730440466613034,
294+ "stall_ms_per_token": 17.445142397425595
295+ }
296+ },
297+ "split": "fit"
298+ },
299+ {
300+ "capacity": 16,
301+ "policy": "lru",
302+ "predictor": "transition2",
303+ "m": 8,
304+ "hit_rate": 0.6716360476663357,
305+ "misses_per_token": 42.030585898709035,
306+ "stall_ms_per_token": 17.603962661370414,
307+ "prefetch_loads_per_token": 42.25759682224429,
308+ "prefetch_precision": 0.5179233621755254,
309+ "loads_per_token": 84.28818272095333,
310+ "pred_recall_at_k": 0.5253883529578663,
311+ "tokens": 5035,
312+ "families": {
313+ "general": {
314+ "hit_rate": 0.6152162258756254,
315+ "stall_ms_per_token": 20.749392423159403
316+ },
317+ "code": {
318+ "hit_rate": 0.7224385566687539,
319+ "stall_ms_per_token": 14.84929993738261
320+ },
321+ "reasoning": {
322+ "hit_rate": 0.6646194605009634,
323+ "stall_ms_per_token": 17.95819653179191
324+ },
325+ "multilingual": {
326+ "hit_rate": 0.66760555028463,
327+ "stall_ms_per_token": 17.772789373814035
328+ },
329+ "longctx": {
330+ "hit_rate": 0.6891362936344969,
331+ "stall_ms_per_token": 16.517511293634488
332+ },
333+ "drift": {
334+ "hit_rate": 0.6618391798418972,
335+ "stall_ms_per_token": 18.107960474308307
336+ }
337+ },
338+ "split": "heldout"
339+ },
340+ {
341+ "capacity": 16,
342+ "policy": "lru",
343+ "predictor": "transition3",
344+ "m": 8,
345+ "hit_rate": 0.6510508362676056,
346+ "misses_per_token": 44.66549295774648,
347+ "stall_ms_per_token": 18.48885117370898,
348+ "prefetch_loads_per_token": 40.56651017214398,
349+ "prefetch_precision": 0.5009181390324821,
350+ "loads_per_token": 85.23200312989046,
351+ "pred_recall_at_k": 0.5104414951245937,
352+ "tokens": 12780,
353+ "families": {
354+ "general": {
355+ "hit_rate": 0.6096058428266287,
356+ "stall_ms_per_token": 20.7317344250623
357+ },
358+ "code": {
359+ "hit_rate": 0.7057847041612484,
360+ "stall_ms_per_token": 15.57211911573469
361+ },
362+ "reasoning": {
363+ "hit_rate": 0.6173021488469602,
364+ "stall_ms_per_token": 20.341979035639437
365+ },
366+ "multilingual": {
367+ "hit_rate": 0.6389812652315191,
368+ "stall_ms_per_token": 19.107618196588138
369+ },
370+ "longctx": {
371+ "hit_rate": 0.6204999573960464,
372+ "stall_ms_per_token": 20.097956373551472
373+ },
374+ "drift": {
375+ "hit_rate": 0.6612655872888173,
376+ "stall_ms_per_token": 17.895713596138364
377+ }
378+ },
379+ "split": "fit"
380+ },
381+ {
382+ "capacity": 16,
383+ "policy": "lru",
384+ "predictor": "transition3",
385+ "m": 8,
386+ "hit_rate": 0.6597722194637538,
387+ "misses_per_token": 43.54915590863952,
388+ "stall_ms_per_token": 18.101746176762692,
389+ "prefetch_loads_per_token": 39.104071499503476,
390+ "prefetch_precision": 0.5073112261223329,
391+ "loads_per_token": 82.653227408143,
392+ "pred_recall_at_k": 0.5172217554044763,
393+ "tokens": 5035,
394+ "families": {
395+ "general": {
396+ "hit_rate": 0.6017411990707648,
397+ "stall_ms_per_token": 21.38684631879916
398+ },
399+ "code": {
400+ "hit_rate": 0.7129040779586725,
401+ "stall_ms_per_token": 15.208086412022535
402+ },
403+ "reasoning": {
404+ "hit_rate": 0.6510266136801541,
405+ "stall_ms_per_token": 18.514223506743733
406+ },
407+ "multilingual": {
408+ "hit_rate": 0.6537891366223909,
409+ "stall_ms_per_token": 18.379984819734347
410+ },
411+ "longctx": {
412+ "hit_rate": 0.6780993326488707,
413+ "stall_ms_per_token": 16.879236139630407
414+ },
415+ "drift": {
416+ "hit_rate": 0.650089550395257,
417+ "stall_ms_per_token": 18.61552964426879
418+ }
419+ },
420+ "split": "heldout"
421+ },
422+ {
423+ "capacity": 16,
424+ "policy": "lru",
425+ "predictor": "probe",
426+ "m": 8,
427+ "hit_rate": 0.49547877543035995,
428+ "misses_per_token": 64.57871674491393,
429+ "stall_ms_per_token": 27.66435492957752,
430+ "prefetch_loads_per_token": 74.49397496087637,
431+ "prefetch_precision": 0.12610592279889457,
432+ "loads_per_token": 139.0726917057903,
433+ "pred_recall_at_k": 0.15737415232133542,
434+ "tokens": 12780,
435+ "families": {
436+ "general": {
437+ "hit_rate": 0.45225447223211107,
438+ "stall_ms_per_token": 30.049350658597398
439+ },
440+ "code": {
441+ "hit_rate": 0.546966433680104,
442+ "stall_ms_per_token": 24.83196827048118
443+ },
444+ "reasoning": {
445+ "hit_rate": 0.4698637316561845,
446+ "stall_ms_per_token": 29.060226415094373
447+ },
448+ "multilingual": {
449+ "hit_rate": 0.4859552701056052,
450+ "stall_ms_per_token": 28.199543460601106
451+ },
452+ "longctx": {
453+ "hit_rate": 0.47049143660531695,
454+ "stall_ms_per_token": 29.01728561690526
455+ },
456+ "drift": {
457+ "hit_rate": 0.5019044147224457,
458+ "stall_ms_per_token": 27.307982300885016
459+ }
460+ },
461+ "split": "fit"
462+ },
463+ {
464+ "capacity": 16,
465+ "policy": "lru",
466+ "predictor": "probe",
467+ "m": 8,
468+ "hit_rate": 0.5040823609731877,
469+ "misses_per_token": 63.477457795431974,
470+ "stall_ms_per_token": 27.196110029791424,
471+ "prefetch_loads_per_token": 73.92115193644489,
472+ "prefetch_precision": 0.12284218134140083,
473+ "loads_per_token": 137.39860973187686,
474+ "pred_recall_at_k": 0.1567345249917246,
475+ "tokens": 5035,
476+ "families": {
477+ "general": {
478+ "hit_rate": 0.44355343102215866,
479+ "stall_ms_per_token": 30.54273624017161
480+ },
481+ "code": {
482+ "hit_rate": 0.5584151925485284,
483+ "stall_ms_per_token": 24.21209392611144
484+ },
485+ "reasoning": {
486+ "hit_rate": 0.49816353564547206,
487+ "stall_ms_per_token": 27.495052023121385
488+ },
489+ "multilingual": {
490+ "hit_rate": 0.5094728415559773,
491+ "stall_ms_per_token": 26.895631878557854
492+ },
493+ "longctx": {
494+ "hit_rate": 0.5100102669404517,
495+ "stall_ms_per_token": 26.84471457905543
496+ },
497+ "drift": {
498+ "hit_rate": 0.4947041749011858,
499+ "stall_ms_per_token": 27.705743083003927
500+ }
501+ },
502+ "split": "heldout"
503+ },
504+ {
505+ "capacity": 16,
506+ "policy": "lru",
507+ "predictor": "oracle",
508+ "m": 8,
509+ "hit_rate": 0.9378728971048513,
510+ "misses_per_token": 7.952269170579029,
511+ "stall_ms_per_token": 2.961490140845083,
512+ "prefetch_loads_per_token": 53.00367762128325,
513+ "prefetch_precision": 1.0,
514+ "loads_per_token": 60.95594679186228,
515+ "pred_recall_at_k": 1.0,
516+ "tokens": 12780,
517+ "families": {
518+ "general": {
519+ "hit_rate": 0.9337981710573158,
520+ "stall_ms_per_token": 3.1469683161267357
521+ },
522+ "code": {
523+ "hit_rate": 0.9422586150845254,
524+ "stall_ms_per_token": 2.7841321196358835
525+ },
526+ "reasoning": {
527+ "hit_rate": 0.9387775157232704,
528+ "stall_ms_per_token": 2.8992788259958058
529+ },
530+ "multilingual": {
531+ "hit_rate": 0.938861317018684,
532+ "stall_ms_per_token": 2.8865028432169013
533+ },
534+ "longctx": {
535+ "hit_rate": 0.9329040985003408,
536+ "stall_ms_per_token": 3.1930865712338177
537+ },
538+ "drift": {
539+ "hit_rate": 0.9367269207562349,
540+ "stall_ms_per_token": 3.013903459372493
541+ }
542+ },
543+ "split": "fit"
544+ },
545+ {
546+ "capacity": 16,
547+ "policy": "lru",
548+ "predictor": "oracle",
549+ "m": 8,
550+ "hit_rate": 0.9400229642502482,
551+ "misses_per_token": 7.6770605759682224,
552+ "stall_ms_per_token": 2.8805791459781513,
553+ "prefetch_loads_per_token": 52.345382323733865,
554+ "prefetch_precision": 1.0,
555+ "loads_per_token": 60.022442899702085,
556+ "pred_recall_at_k": 1.0,
557+ "tokens": 5035,
558+ "families": {
559+ "general": {
560+ "hit_rate": 0.9348474356683345,
561+ "stall_ms_per_token": 3.1205675482487574
562+ },
563+ "code": {
564+ "hit_rate": 0.9450630087664371,
565+ "stall_ms_per_token": 2.6702692548528533
566+ },
567+ "reasoning": {
568+ "hit_rate": 0.9424373795761078,
569+ "stall_ms_per_token": 2.736400770712911
570+ },
571+ "multilingual": {
572+ "hit_rate": 0.943622509487666,
573+ "stall_ms_per_token": 2.6937571157495235
574+ },
575+ "longctx": {
576+ "hit_rate": 0.9356070328542094,
577+ "stall_ms_per_token": 3.06346611909651
578+ },
579+ "drift": {
580+ "hit_rate": 0.9364500988142292,
581+ "stall_ms_per_token": 3.047256916996053
582+ }
583+ },
584+ "split": "heldout"
585+ },
586+ {
587+ "capacity": 24,
588+ "policy": "lru",
589+ "predictor": "none",
590+ "m": 8,
591+ "hit_rate": 0.7056955447965572,
592+ "misses_per_token": 37.67097026604069,
593+ "stall_ms_per_token": 16.198517214397622,
594+ "prefetch_loads_per_token": 0.0,
595+ "prefetch_precision": null,
596+ "loads_per_token": 37.67097026604069,
597+ "pred_recall_at_k": null,
598+ "tokens": 12780,
599+ "families": {
600+ "general": {
601+ "hit_rate": 0.6627970363118547,
602+ "stall_ms_per_token": 18.559651121395515
603+ },
604+ "code": {
605+ "hit_rate": 0.7612321196358908,
606+ "stall_ms_per_token": 13.14178413524059
607+ },
608+ "reasoning": {
609+ "hit_rate": 0.6531299135220126,
610+ "stall_ms_per_token": 19.09172955974842
611+ },
612+ "multilingual": {
613+ "hit_rate": 0.6999961921202275,
614+ "stall_ms_per_token": 16.5122095857027
615+ },
616+ "longctx": {
617+ "hit_rate": 0.6662619291070211,
618+ "stall_ms_per_token": 18.368943421949588
619+ },
620+ "drift": {
621+ "hit_rate": 0.7290200120675785,
622+ "stall_ms_per_token": 14.914738535800488
623+ }
624+ },
625+ "split": "fit"
626+ },
627+ {
628+ "capacity": 24,
629+ "policy": "lru",
630+ "predictor": "none",
631+ "m": 8,
632+ "hit_rate": 0.7060638033763654,
633+ "misses_per_token": 37.623833167825225,
634+ "stall_ms_per_token": 16.17824826216484,
635+ "prefetch_loads_per_token": 0.0,
636+ "prefetch_precision": null,
637+ "loads_per_token": 37.623833167825225,
638+ "pred_recall_at_k": null,
639+ "tokens": 5035,
640+ "families": {
641+ "general": {
642+ "hit_rate": 0.6400442280200143,
643+ "stall_ms_per_token": 19.811965689778436
644+ },
645+ "code": {
646+ "hit_rate": 0.7618434956167814,
647+ "stall_ms_per_token": 13.10813400125233
648+ },
649+ "reasoning": {
650+ "hit_rate": 0.6932803468208093,
651+ "stall_ms_per_token": 16.881849710982664
652+ },
653+ "multilingual": {
654+ "hit_rate": 0.7020279886148008,
655+ "stall_ms_per_token": 16.40037950664138
656+ },
657+ "longctx": {
658+ "hit_rate": 0.7278939938398358,
659+ "stall_ms_per_token": 14.976714579055447
660+ },
661+ "drift": {
662+ "hit_rate": 0.7088531373517787,
663+ "stall_ms_per_token": 16.024723320158095
664+ }
665+ },
666+ "split": "heldout"
667+ },
668+ {
669+ "capacity": 24,
670+ "policy": "lru",
671+ "predictor": "prev_rank",
672+ "m": 8,
673+ "hit_rate": 0.665095608372457,
674+ "misses_per_token": 42.86776212832551,
675+ "stall_ms_per_token": 18.43313771518011,
676+ "prefetch_loads_per_token": 71.26275430359938,
677+ "prefetch_precision": 0.2513774543282481,
678+ "loads_per_token": 114.13051643192489,
679+ "pred_recall_at_k": null,
680+ "tokens": 12780,
681+ "families": {
682+ "general": {
683+ "hit_rate": 0.612879360982556,
684+ "stall_ms_per_token": 21.307119971520095
685+ },
686+ "code": {
687+ "hit_rate": 0.7267941319895969,
688+ "stall_ms_per_token": 15.037250975292599
689+ },
690+ "reasoning": {
691+ "hit_rate": 0.6330008516771488,
692+ "stall_ms_per_token": 20.199633123689722
693+ },
694+ "multilingual": {
695+ "hit_rate": 0.6600420136068237,
696+ "stall_ms_per_token": 18.71128757108042
697+ },
698+ "longctx": {
699+ "hit_rate": 0.6173472648261759,
700+ "stall_ms_per_token": 21.06120654396727
701+ },
702+ "drift": {
703+ "hit_rate": 0.6832386363636364,
704+ "stall_ms_per_token": 17.43454545454546
705+ }
706+ },
707+ "split": "fit"
708+ },
709+ {
710+ "capacity": 24,
711+ "policy": "lru",
712+ "predictor": "prev_rank",
713+ "m": 8,
714+ "hit_rate": 0.6703093967229394,
715+ "misses_per_token": 42.20039721946375,
716+ "stall_ms_per_token": 18.146170804369323,
717+ "prefetch_loads_per_token": 69.97715988083417,
718+ "prefetch_precision": 0.2525295528403366,
719+ "loads_per_token": 112.17755710029792,
720+ "pred_recall_at_k": null,
721+ "tokens": 5035,
722+ "families": {
723+ "general": {
724+ "hit_rate": 0.598206308077198,
725+ "stall_ms_per_token": 22.11472480343104
726+ },
727+ "code": {
728+ "hit_rate": 0.7332351675015655,
729+ "stall_ms_per_token": 14.682736380713855
730+ },
731+ "reasoning": {
732+ "hit_rate": 0.6695869460500964,
733+ "stall_ms_per_token": 18.18593448940269
734+ },
735+ "multilingual": {
736+ "hit_rate": 0.684638875711575,
737+ "stall_ms_per_token": 17.357476280834916
738+ },
739+ "longctx": {
740+ "hit_rate": 0.6707039271047228,
741+ "stall_ms_per_token": 18.12445585215607
742+ },
743+ "drift": {
744+ "hit_rate": 0.6564970355731226,
745+ "stall_ms_per_token": 18.90640316205532
746+ }
747+ },
748+ "split": "heldout"
749+ },
750+ {
751+ "capacity": 24,
752+ "policy": "lru",
753+ "predictor": "transition",
754+ "m": 8,
755+ "hit_rate": 0.7695171899452269,
756+ "misses_per_token": 29.501799687010955,
757+ "stall_ms_per_token": 12.539625508607376,
758+ "prefetch_loads_per_token": 28.68740219092332,
759+ "prefetch_precision": 0.5961022843504944,
760+ "loads_per_token": 58.18920187793427,
761+ "pred_recall_at_k": 0.5303931924882629,
762+ "tokens": 12780,
763+ "families": {
764+ "general": {
765+ "hit_rate": 0.7396621351014596,
766+ "stall_ms_per_token": 14.126401566393742
767+ },
768+ "code": {
769+ "hit_rate": 0.8083042100130039,
770+ "stall_ms_per_token": 10.47729882964887
771+ },
772+ "reasoning": {
773+ "hit_rate": 0.740811713836478,
774+ "stall_ms_per_token": 14.119475890985337
775+ },
776+ "multilingual": {
777+ "hit_rate": 0.7617726949634444,
778+ "stall_ms_per_token": 12.939423233143774
779+ },
780+ "longctx": {
781+ "hit_rate": 0.7455691888207225,
782+ "stall_ms_per_token": 13.80746557600546
783+ },
784+ "drift": {
785+ "hit_rate": 0.7826390285599356,
786+ "stall_ms_per_token": 11.832458567980705
787+ }
788+ },
789+ "split": "fit"
790+ },
791+ {
792+ "capacity": 24,
793+ "policy": "lru",
794+ "predictor": "transition",
795+ "m": 8,
796+ "hit_rate": 0.7710495283018868,
797+ "misses_per_token": 29.30566037735849,
798+ "stall_ms_per_token": 12.458053624627631,
799+ "prefetch_loads_per_token": 28.439126117179743,
800+ "prefetch_precision": 0.6003310263913235,
801+ "loads_per_token": 57.74478649453823,
802+ "pred_recall_at_k": 0.5340830850711685,
803+ "tokens": 5035,
804+ "families": {
805+ "general": {
806+ "hit_rate": 0.7193028502501787,
807+ "stall_ms_per_token": 15.229162258756267
808+ },
809+ "code": {
810+ "hit_rate": 0.8130479023168441,
811+ "stall_ms_per_token": 10.21995241077018
812+ },
813+ "reasoning": {
814+ "hit_rate": 0.7692979287090559,
815+ "stall_ms_per_token": 12.571815028901753
816+ },
817+ "multilingual": {
818+ "hit_rate": 0.7678783206831119,
819+ "stall_ms_per_token": 12.61445920303606
820+ },
821+ "longctx": {
822+ "hit_rate": 0.7913244353182751,
823+ "stall_ms_per_token": 11.335162217659146
824+ },
825+ "drift": {
826+ "hit_rate": 0.7671535326086957,
827+ "stall_ms_per_token": 12.661308300395252
828+ }
829+ },
830+ "split": "heldout"
831+ },
832+ {
833+ "capacity": 24,
834+ "policy": "lru",
835+ "predictor": "transition2",
836+ "m": 8,
837+ "hit_rate": 0.7583577856025039,
838+ "misses_per_token": 30.9302034428795,
839+ "stall_ms_per_token": 13.046912050078358,
840+ "prefetch_loads_per_token": 25.87175273865415,
841+ "prefetch_precision": 0.5829525074022883,
842+ "loads_per_token": 56.80195618153365,
843+ "pred_recall_at_k": 0.5199705175497429,
844+ "tokens": 12780,
845+ "families": {
846+ "general": {
847+ "hit_rate": 0.7251663180847276,
848+ "stall_ms_per_token": 14.76521965112141
849+ },
850+ "code": {
851+ "hit_rate": 0.8003169700910273,
852+ "stall_ms_per_token": 10.867247854356316
853+ },
854+ "reasoning": {
855+ "hit_rate": 0.72661982442348,
856+ "stall_ms_per_token": 14.80265199161428
857+ },
858+ "multilingual": {
859+ "hit_rate": 0.7508313870836718,
860+ "stall_ms_per_token": 13.408433793663667
861+ },
862+ "longctx": {
863+ "hit_rate": 0.7335655248807089,
864+ "stall_ms_per_token": 14.32950238582145
865+ },
866+ "drift": {
867+ "hit_rate": 0.7720987530168946,
868+ "stall_ms_per_token": 12.328875301689468
869+ }
870+ },
871+ "split": "fit"
872+ },
873+ {
874+ "capacity": 24,
875+ "policy": "lru",
876+ "predictor": "transition2",
877+ "m": 8,
878+ "hit_rate": 0.7605294190665343,
879+ "misses_per_token": 30.652234359483614,
880+ "stall_ms_per_token": 12.922579543197587,
881+ "prefetch_loads_per_token": 25.65183714001986,
882+ "prefetch_precision": 0.5894376611410919,
883+ "loads_per_token": 56.30407149950348,
884+ "pred_recall_at_k": 0.5253883529578663,
885+ "tokens": 5035,
886+ "families": {
887+ "general": {
888+ "hit_rate": 0.7039012240886348,
889+ "stall_ms_per_token": 15.872744817726966
890+ },
891+ "code": {
892+ "hit_rate": 0.805377269881027,
893+ "stall_ms_per_token": 10.588763932373194
894+ },
895+ "reasoning": {
896+ "hit_rate": 0.7580834537572254,
897+ "stall_ms_per_token": 13.089668593448962
898+ },
899+ "multilingual": {
900+ "hit_rate": 0.758657495256167,
901+ "stall_ms_per_token": 13.022633776091077
902+ },
903+ "longctx": {
904+ "hit_rate": 0.7839771560574949,
905+ "stall_ms_per_token": 11.64388501026695
906+ },
907+ "drift": {
908+ "hit_rate": 0.7574419466403162,
909+ "stall_ms_per_token": 13.086806324110679
910+ }
911+ },
912+ "split": "heldout"
913+ },
914+ {
915+ "capacity": 24,
916+ "policy": "lru",
917+ "predictor": "transition3",
918+ "m": 8,
919+ "hit_rate": 0.7494186473004695,
920+ "misses_per_token": 32.07441314553991,
921+ "stall_ms_per_token": 13.452467136150394,
922+ "prefetch_loads_per_token": 23.852347417840374,
923+ "prefetch_precision": 0.5681963566936651,
924+ "loads_per_token": 55.926760563380284,
925+ "pred_recall_at_k": 0.5104414951245937,
926+ "tokens": 12780,
927+ "families": {
928+ "general": {
929+ "hit_rate": 0.7135657707369171,
930+ "stall_ms_per_token": 15.286467782128895
931+ },
932+ "code": {
933+ "hit_rate": 0.7938454973992197,
934+ "stall_ms_per_token": 11.183056957087087
935+ },
936+ "reasoning": {
937+ "hit_rate": 0.7177672955974843,
938+ "stall_ms_per_token": 15.189937106918237
939+ },
940+ "multilingual": {
941+ "hit_rate": 0.7413973649471974,
942+ "stall_ms_per_token": 13.822506092607616
943+ },
944+ "longctx": {
945+ "hit_rate": 0.7228186775732788,
946+ "stall_ms_per_token": 14.804788002726658
947+ },
948+ "drift": {
949+ "hit_rate": 0.7645879424778761,
950+ "stall_ms_per_token": 12.665449718423186
951+ }
952+ },
953+ "split": "fit"
954+ },
955+ {
956+ "capacity": 24,
957+ "policy": "lru",
958+ "predictor": "transition3",
959+ "m": 8,
960+ "hit_rate": 0.7522964250248262,
961+ "misses_per_token": 31.706057596822244,
962+ "stall_ms_per_token": 13.296355908639498,
963+ "prefetch_loads_per_token": 23.54438927507448,
964+ "prefetch_precision": 0.5790241762691276,
965+ "loads_per_token": 55.25044687189672,
966+ "pred_recall_at_k": 0.5172217554044763,
967+ "tokens": 5035,
968+ "families": {
969+ "general": {
970+ "hit_rate": 0.6938829074338814,
971+ "stall_ms_per_token": 16.299172265904204
972+ },
973+ "code": {
974+ "hit_rate": 0.799100853162179,
975+ "stall_ms_per_token": 10.899272385723242
976+ },
977+ "reasoning": {
978+ "hit_rate": 0.7492021917148363,
979+ "stall_ms_per_token": 13.512396917148378
980+ },
981+ "multilingual": {
982+ "hit_rate": 0.7502964895635673,
983+ "stall_ms_per_token": 13.38154079696395
984+ },
985+ "longctx": {
986+ "hit_rate": 0.7759721509240246,
987+ "stall_ms_per_token": 11.994591375770028
988+ },
989+ "drift": {
990+ "hit_rate": 0.7485486660079052,
991+ "stall_ms_per_token": 13.502173913043492
992+ }
993+ },
994+ "split": "heldout"
995+ },
996+ {
997+ "capacity": 24,
998+ "policy": "lru",
999+ "predictor": "probe",
1000+ "m": 8,
1001+ "hit_rate": 0.6263888888888889,
1002+ "misses_per_token": 47.82222222222222,
1003+ "stall_ms_per_token": 20.515099843505446,
1004+ "prefetch_loads_per_token": 54.35453834115806,
1005+ "prefetch_precision": 0.1747510620441056,
1006+ "loads_per_token": 102.17676056338028,
1007+ "pred_recall_at_k": 0.15737415232133542,
1008+ "tokens": 12780,
1009+ "families": {
1010+ "general": {
1011+ "hit_rate": 0.5880206479174084,
1012+ "stall_ms_per_token": 22.625401210395133
1013+ },
1014+ "code": {
1015+ "hit_rate": 0.6773833712613784,
1016+ "stall_ms_per_token": 17.719434590377126
1017+ },
1018+ "reasoning": {
1019+ "hit_rate": 0.602307717505241,
1020+ "stall_ms_per_token": 21.826995807127904
1021+ },
1022+ "multilingual": {
1023+ "hit_rate": 0.6117644445572705,
1024+ "stall_ms_per_token": 21.314311129163283
1025+ },
1026+ "longctx": {
1027+ "hit_rate": 0.5963861196319018,
1028+ "stall_ms_per_token": 22.154528970688496
1029+ },
1030+ "drift": {
1031+ "hit_rate": 0.638211484312148,
1032+ "stall_ms_per_token": 19.86928077232501
1033+ }
1034+ },
1035+ "split": "fit"
1036+ },
1037+ {
1038+ "capacity": 24,
1039+ "policy": "lru",
1040+ "predictor": "probe",
1041+ "m": 8,
1042+ "hit_rate": 0.6299264523336644,
1043+ "misses_per_token": 47.369414101290964,
1044+ "stall_ms_per_token": 20.323469712015903,
1045+ "prefetch_loads_per_token": 53.83118172790467,
1046+ "prefetch_precision": 0.1742547225501771,
1047+ "loads_per_token": 101.20059582919563,
1048+ "pred_recall_at_k": 0.1567345249917246,
1049+ "tokens": 5035,
1050+ "families": {
1051+ "general": {
1052+ "hit_rate": 0.5662973552537527,
1053+ "stall_ms_per_token": 23.825338098641907
1054+ },
1055+ "code": {
1056+ "hit_rate": 0.6815953741390106,
1057+ "stall_ms_per_token": 17.489403882279262
1058+ },
1059+ "reasoning": {
1060+ "hit_rate": 0.6366359585741811,
1061+ "stall_ms_per_token": 19.94579190751447
1062+ },
1063+ "multilingual": {
1064+ "hit_rate": 0.6333461812144212,
1065+ "stall_ms_per_token": 20.127434535104378
1066+ },
1067+ "longctx": {
1068+ "hit_rate": 0.6382186858316222,
1069+ "stall_ms_per_token": 19.85908829568788
1070+ },
1071+ "drift": {
1072+ "hit_rate": 0.6243515316205533,
1073+ "stall_ms_per_token": 20.62459288537549
1074+ }
1075+ },
1076+ "split": "heldout"
1077+ },
1078+ {
1079+ "capacity": 24,
1080+ "policy": "lru",
1081+ "predictor": "oracle",
1082+ "m": 8,
1083+ "hit_rate": 0.9589391383020345,
1084+ "misses_per_token": 5.255790297339593,
1085+ "stall_ms_per_token": 2.014346009389659,
1086+ "prefetch_loads_per_token": 36.14765258215962,
1087+ "prefetch_precision": 1.0,
1088+ "loads_per_token": 41.40344287949922,
1089+ "pred_recall_at_k": 1.0,
1090+ "tokens": 12780,
1091+ "families": {
1092+ "general": {
1093+ "hit_rate": 0.9532112184051263,
1094+ "stall_ms_per_token": 2.269038803844785
1095+ },
1096+ "code": {
1097+ "hit_rate": 0.9637678803641092,
1098+ "stall_ms_per_token": 1.8191771131339411
1099+ },
1100+ "reasoning": {
1101+ "hit_rate": 0.9594470649895178,
1102+ "stall_ms_per_token": 1.9843522012578618
1103+ },
1104+ "multilingual": {
1105+ "hit_rate": 0.9606487357839155,
1106+ "stall_ms_per_token": 1.9062542648253529
1107+ },
1108+ "longctx": {
1109+ "hit_rate": 0.9543498636673483,
1110+ "stall_ms_per_token": 2.221071574642139
1111+ },
1112+ "drift": {
1113+ "hit_rate": 0.9585868362831859,
1114+ "stall_ms_per_token": 2.035634754625913
1115+ }
1116+ },
1117+ "split": "fit"
1118+ },
1119+ {
1120+ "capacity": 24,
1121+ "policy": "lru",
1122+ "predictor": "oracle",
1123+ "m": 8,
1124+ "hit_rate": 0.9590988083416088,
1125+ "misses_per_token": 5.2353525322740815,
1126+ "stall_ms_per_token": 2.0118276067527248,
1127+ "prefetch_loads_per_token": 36.057199602780535,
1128+ "prefetch_precision": 1.0,
1129+ "loads_per_token": 41.29255213505462,
1130+ "pred_recall_at_k": 1.0,
1131+ "tokens": 5035,
1132+ "families": {
1133+ "general": {
1134+ "hit_rate": 0.9526056558255898,
1135+ "stall_ms_per_token": 2.3025375268048696
1136+ },
1137+ "code": {
1138+ "hit_rate": 0.9640634783969944,
1139+ "stall_ms_per_token": 1.8043406386975698
1140+ },
1141+ "reasoning": {
1142+ "hit_rate": 0.961283718689788,
1143+ "stall_ms_per_token": 1.8951676300578073
1144+ },
1145+ "multilingual": {
1146+ "hit_rate": 0.9611153937381404,
1147+ "stall_ms_per_token": 1.889795066413664
1148+ },
1149+ "longctx": {
1150+ "hit_rate": 0.9581301334702259,
1151+ "stall_ms_per_token": 2.0661273100616055
1152+ },
1153+ "drift": {
1154+ "hit_rate": 0.9579730731225297,
1155+ "stall_ms_per_token": 2.0574150197628462
1156+ }
1157+ },
1158+ "split": "heldout"
1159+ },
1160+ {
1161+ "capacity": 32,
1162+ "policy": "lru",
1163+ "predictor": "none",
1164+ "m": 8,
1165+ "hit_rate": 0.8038921899452269,
1166+ "misses_per_token": 25.101799687010956,
1167+ "stall_ms_per_token": 10.793773865414801,
1168+ "prefetch_loads_per_token": 0.0,
1169+ "prefetch_precision": null,
1170+ "loads_per_token": 25.101799687010956,
1171+ "pred_recall_at_k": null,
1172+ "tokens": 12780,
1173+ "families": {
1174+ "general": {
1175+ "hit_rate": 0.7753843672125311,
1176+ "stall_ms_per_token": 12.362844428622287
1177+ },
1178+ "code": {
1179+ "hit_rate": 0.8468689044213265,
1180+ "stall_ms_per_token": 8.428335500650158
1181+ },
1182+ "reasoning": {
1183+ "hit_rate": 0.7583120414046122,
1184+ "stall_ms_per_token": 13.302505241090165
1185+ },
1186+ "multilingual": {
1187+ "hit_rate": 0.7954153127538587,
1188+ "stall_ms_per_token": 11.26034118602761
1189+ },
1190+ "longctx": {
1191+ "hit_rate": 0.7717439928425358,
1192+ "stall_ms_per_token": 12.563210633946827
1193+ },
1194+ "drift": {
1195+ "hit_rate": 0.8250892497988737,
1196+ "stall_ms_per_token": 9.627087691069988
1197+ }
1198+ },
1199+ "split": "fit"
1200+ },
1201+ {
1202+ "capacity": 32,
1203+ "policy": "lru",
1204+ "predictor": "none",
1205+ "m": 8,
1206+ "hit_rate": 0.8059241559086395,
1207+ "misses_per_token": 24.84170804369414,
1208+ "stall_ms_per_token": 10.68193445878844,
1209+ "prefetch_loads_per_token": 0.0,
1210+ "prefetch_precision": null,
1211+ "loads_per_token": 24.84170804369414,
1212+ "pred_recall_at_k": null,
1213+ "tokens": 5035,
1214+ "families": {
1215+ "general": {
1216+ "hit_rate": 0.7592476769120801,
1217+ "stall_ms_per_token": 13.25100786275913
1218+ },
1219+ "code": {
1220+ "hit_rate": 0.8463525360050094,
1221+ "stall_ms_per_token": 8.456756418284268
1222+ },
1223+ "reasoning": {
1224+ "hit_rate": 0.79532454238921,
1225+ "stall_ms_per_token": 11.265337186897893
1226+ },
1227+ "multilingual": {
1228+ "hit_rate": 0.7923535341555977,
1229+ "stall_ms_per_token": 11.428861480075915
1230+ },
1231+ "longctx": {
1232+ "hit_rate": 0.8272747689938398,
1233+ "stall_ms_per_token": 9.506796714579071
1234+ },
1235+ "drift": {
1236+ "hit_rate": 0.8118360918972332,
1237+ "stall_ms_per_token": 10.35654150197629
1238+ }
1239+ },
1240+ "split": "heldout"
1241+ },
1242+ {
1243+ "capacity": 32,
1244+ "policy": "lru",
1245+ "predictor": "prev_rank",
1246+ "m": 8,
1247+ "hit_rate": 0.7698002249608764,
1248+ "misses_per_token": 29.465571205007826,
1249+ "stall_ms_per_token": 12.670195618153517,
1250+ "prefetch_loads_per_token": 50.767605633802816,
1251+ "prefetch_precision": 0.32121884681185553,
1252+ "loads_per_token": 80.23317683881064,
1253+ "pred_recall_at_k": null,
1254+ "tokens": 12780,
1255+ "families": {
1256+ "general": {
1257+ "hit_rate": 0.7298360181559274,
1258+ "stall_ms_per_token": 14.869825560697738
1259+ },
1260+ "code": {
1261+ "hit_rate": 0.8158058355006502,
1262+ "stall_ms_per_token": 10.138046814044172
1263+ },
1264+ "reasoning": {
1265+ "hit_rate": 0.7362257599580713,
1266+ "stall_ms_per_token": 14.518134171907757
1267+ },
1268+ "multilingual": {
1269+ "hit_rate": 0.7695534626320065,
1270+ "stall_ms_per_token": 12.68377741673434
1271+ },
1272+ "longctx": {
1273+ "hit_rate": 0.7352111025903204,
1274+ "stall_ms_per_token": 14.57398091342876
1275+ },
1276+ "drift": {
1277+ "hit_rate": 0.7848828439259855,
1278+ "stall_ms_per_token": 11.84004827031376
1279+ }
1280+ },
1281+ "split": "fit"
1282+ },
1283+ {
1284+ "capacity": 32,
1285+ "policy": "lru",
1286+ "predictor": "prev_rank",
1287+ "m": 8,
1288+ "hit_rate": 0.7714064051638531,
1289+ "misses_per_token": 29.259980139026812,
1290+ "stall_ms_per_token": 12.581791459781547,
1291+ "prefetch_loads_per_token": 50.12591857000993,
1292+ "prefetch_precision": 0.323047419804742,
1293+ "loads_per_token": 79.38589870903674,
1294+ "pred_recall_at_k": null,
1295+ "tokens": 5035,
1296+ "families": {
1297+ "general": {
1298+ "hit_rate": 0.7131991601143675,
1299+ "stall_ms_per_token": 15.785518227305232
1300+ },
1301+ "code": {
1302+ "hit_rate": 0.819789057608015,
1303+ "stall_ms_per_token": 9.918810269254823
1304+ },
1305+ "reasoning": {
1306+ "hit_rate": 0.765655105973025,
1307+ "stall_ms_per_token": 12.898342967244727
1308+ },
1309+ "multilingual": {
1310+ "hit_rate": 0.7742231973434535,
1311+ "stall_ms_per_token": 12.426755218216348
1312+ },
1313+ "longctx": {
1314+ "hit_rate": 0.7876347535934292,
1315+ "stall_ms_per_token": 11.688583162217679
1316+ },
1317+ "drift": {
1318+ "hit_rate": 0.766983695652174,
1319+ "stall_ms_per_token": 12.825217391304362
1320+ }
1321+ },
1322+ "split": "heldout"
1323+ },
1324+ {
1325+ "capacity": 32,
1326+ "policy": "lru",
1327+ "predictor": "transition",
1328+ "m": 8,
1329+ "hit_rate": 0.8389139524647887,
1330+ "misses_per_token": 20.619014084507043,
1331+ "stall_ms_per_token": 8.791339123630697,
1332+ "prefetch_loads_per_token": 16.70774647887324,
1333+ "prefetch_precision": 0.6440042149631191,
1334+ "loads_per_token": 37.32676056338028,
1335+ "pred_recall_at_k": 0.5303931924882629,
1336+ "tokens": 12780,
1337+ "families": {
1338+ "general": {
1339+ "hit_rate": 0.8136375266998932,
1340+ "stall_ms_per_token": 10.128524741901023
1341+ },
1342+ "code": {
1343+ "hit_rate": 0.8715661573472041,
1344+ "stall_ms_per_token": 7.039603641092297
1345+ },
1346+ "reasoning": {
1347+ "hit_rate": 0.8099122117400419,
1348+ "stall_ms_per_token": 10.381123689727469
1349+ },
1350+ "multilingual": {
1351+ "hit_rate": 0.8317107534524777,
1352+ "stall_ms_per_token": 9.183303005686419
1353+ },
1354+ "longctx": {
1355+ "hit_rate": 0.8196734406952966,
1356+ "stall_ms_per_token": 9.83477982276755
1357+ },
1358+ "drift": {
1359+ "hit_rate": 0.854265134754626,
1360+ "stall_ms_per_token": 7.960181818181832
1361+ }
1362+ },
1363+ "split": "fit"
1364+ },
1365+ {
1366+ "capacity": 32,
1367+ "policy": "lru",
1368+ "predictor": "transition",
1369+ "m": 8,
1370+ "hit_rate": 0.8400276191658391,
1371+ "misses_per_token": 20.476464746772592,
1372+ "stall_ms_per_token": 8.728867924528226,
1373+ "prefetch_loads_per_token": 16.575372393247267,
1374+ "prefetch_precision": 0.64816612147573,
1375+ "loads_per_token": 37.05183714001986,
1376+ "pred_recall_at_k": 0.5340830850711685,
1377+ "tokens": 5035,
1378+ "families": {
1379+ "general": {
1380+ "hit_rate": 0.7972714885632595,
1381+ "stall_ms_per_token": 11.02706647605432
1382+ },
1383+ "code": {
1384+ "hit_rate": 0.8732584533500313,
1385+ "stall_ms_per_token": 6.942993112085163
1386+ },
1387+ "reasoning": {
1388+ "hit_rate": 0.8345827312138728,
1389+ "stall_ms_per_token": 9.030084778420045
1390+ },
1391+ "multilingual": {
1392+ "hit_rate": 0.8367973197343453,
1393+ "stall_ms_per_token": 8.903495256166993
1394+ },
1395+ "longctx": {
1396+ "hit_rate": 0.8607225359342916,
1397+ "stall_ms_per_token": 7.609585215605754
1398+ },
1399+ "drift": {
1400+ "hit_rate": 0.842391304347826,
1401+ "stall_ms_per_token": 8.597628458498033
1402+ }
1403+ },
1404+ "split": "heldout"
1405+ },
1406+ {
1407+ "capacity": 32,
1408+ "policy": "lru",
1409+ "predictor": "transition2",
1410+ "m": 8,
1411+ "hit_rate": 0.8318466353677622,
1412+ "misses_per_token": 21.523630672926448,
1413+ "stall_ms_per_token": 9.12297464788734,
1414+ "prefetch_loads_per_token": 14.8,
1415+ "prefetch_precision": 0.6313337985873197,
1416+ "loads_per_token": 36.32363067292645,
1417+ "pred_recall_at_k": 0.5199705175497429,
1418+ "tokens": 12780,
1419+ "families": {
1420+ "general": {
1421+ "hit_rate": 0.8044677821288715,
1422+ "stall_ms_per_token": 10.531702385190426
1423+ },
1424+ "code": {
1425+ "hit_rate": 0.8670757477243173,
1426+ "stall_ms_per_token": 7.2714756827048035
1427+ },
1428+ "reasoning": {
1429+ "hit_rate": 0.8014200078616353,
1430+ "stall_ms_per_token": 10.799427672955982
1431+ },
1432+ "multilingual": {
1433+ "hit_rate": 0.8243774116571893,
1434+ "stall_ms_per_token": 9.527141348497146
1435+ },
1436+ "longctx": {
1437+ "hit_rate": 0.8110195126107703,
1438+ "stall_ms_per_token": 10.224362644853437
1439+ },
1440+ "drift": {
1441+ "hit_rate": 0.8474708366854384,
1442+ "stall_ms_per_token": 8.279665325824634
1443+ }
1444+ },
1445+ "split": "fit"
1446+ },
1447+ {
1448+ "capacity": 32,
1449+ "policy": "lru",
1450+ "predictor": "transition2",
1451+ "m": 8,
1452+ "hit_rate": 0.8331662735849057,
1453+ "misses_per_token": 21.354716981132075,
1454+ "stall_ms_per_token": 9.044283217477576,
1455+ "prefetch_loads_per_token": 14.600198609731876,
1456+ "prefetch_precision": 0.6373517248884536,
1457+ "loads_per_token": 35.954915590863955,
1458+ "pred_recall_at_k": 0.5253883529578663,
1459+ "tokens": 5035,
1460+ "families": {
1461+ "general": {
1462+ "hit_rate": 0.7867003216583274,
1463+ "stall_ms_per_token": 11.485112223016426
1464+ },
1465+ "code": {
1466+ "hit_rate": 0.8686648794614903,
1467+ "stall_ms_per_token": 7.173221039448974
1468+ },
1469+ "reasoning": {
1470+ "hit_rate": 0.829329238921002,
1471+ "stall_ms_per_token": 9.266951830443181
1472+ },
1473+ "multilingual": {
1474+ "hit_rate": 0.8303041982922201,
1475+ "stall_ms_per_token": 9.208413662239096
1476+ },
1477+ "longctx": {
1478+ "hit_rate": 0.8547227926078029,
1479+ "stall_ms_per_token": 7.913527720739232
1480+ },
1481+ "drift": {
1482+ "hit_rate": 0.8357676630434783,
1483+ "stall_ms_per_token": 8.890098814229262
1484+ }
1485+ },
1486+ "split": "heldout"
1487+ },
1488+ {
1489+ "capacity": 32,
1490+ "policy": "lru",
1491+ "predictor": "transition3",
1492+ "m": 8,
1493+ "hit_rate": 0.8264151750782472,
1494+ "misses_per_token": 22.21885758998435,
1495+ "stall_ms_per_token": 9.380527543035994,
1496+ "prefetch_loads_per_token": 13.466118935837246,
1497+ "prefetch_precision": 0.6154668588063709,
1498+ "loads_per_token": 35.6849765258216,
1499+ "pred_recall_at_k": 0.5104414951245937,
1500+ "tokens": 12780,
1501+ "families": {
1502+ "general": {
1503+ "hit_rate": 0.7967609692061232,
1504+ "stall_ms_per_token": 10.88457173371306
1505+ },
1506+ "code": {
1507+ "hit_rate": 0.8634529421326398,
1508+ "stall_ms_per_token": 7.463318075422596
1509+ },
1510+ "reasoning": {
1511+ "hit_rate": 0.7947048611111112,
1512+ "stall_ms_per_token": 11.115494758909856
1513+ },
1514+ "multilingual": {
1515+ "hit_rate": 0.8191986951665313,
1516+ "stall_ms_per_token": 9.754780666125104
1517+ },
1518+ "longctx": {
1519+ "hit_rate": 0.8043306918882073,
1520+ "stall_ms_per_token": 10.542693933196997
1521+ },
1522+ "drift": {
1523+ "hit_rate": 0.8435551588897828,
1524+ "stall_ms_per_token": 8.467689460981514
1525+ }
1526+ },
1527+ "split": "fit"
1528+ },
1529+ {
1530+ "capacity": 32,
1531+ "policy": "lru",
1532+ "predictor": "transition3",
1533+ "m": 8,
1534+ "hit_rate": 0.8281234483614697,
1535+ "misses_per_token": 22.00019860973188,
1536+ "stall_ms_per_token": 9.279868520357407,
1537+ "prefetch_loads_per_token": 13.218669314796426,
1538+ "prefetch_precision": 0.6253831360057696,
1539+ "loads_per_token": 35.218867924528304,
1540+ "pred_recall_at_k": 0.5172217554044763,
1541+ "tokens": 5035,
1542+ "families": {
1543+ "general": {
1544+ "hit_rate": 0.780317414224446,
1545+ "stall_ms_per_token": 11.764421729806983
1546+ },
1547+ "code": {
1548+ "hit_rate": 0.8646779117094552,
1549+ "stall_ms_per_token": 7.373107075767064
1550+ },
1551+ "reasoning": {
1552+ "hit_rate": 0.8230069845857418,
1553+ "stall_ms_per_token": 9.569302504816964
1554+ },
1555+ "multilingual": {
1556+ "hit_rate": 0.8256196631878557,
1557+ "stall_ms_per_token": 9.422288425047457
1558+ },
1559+ "longctx": {
1560+ "hit_rate": 0.8514822895277208,
1561+ "stall_ms_per_token": 8.053774127310074
1562+ },
1563+ "drift": {
1564+ "hit_rate": 0.8303020009881423,
1565+ "stall_ms_per_token": 9.163355731225302
1566+ }
1567+ },
1568+ "split": "heldout"
1569+ },
1570+ {
1571+ "capacity": 32,
1572+ "policy": "lru",
1573+ "predictor": "probe",
1574+ "m": 8,
1575+ "hit_rate": 0.7370629156885758,
1576+ "misses_per_token": 33.655946791862284,
1577+ "stall_ms_per_token": 14.447689045383642,
1578+ "prefetch_loads_per_token": 39.34530516431925,
1579+ "prefetch_precision": 0.2312656488337082,
1580+ "loads_per_token": 73.00125195618153,
1581+ "pred_recall_at_k": 0.15737415232133542,
1582+ "tokens": 12780,
1583+ "families": {
1584+ "general": {
1585+ "hit_rate": 0.7085511970452119,
1586+ "stall_ms_per_token": 16.01468494126022
1587+ },
1588+ "code": {
1589+ "hit_rate": 0.7734110858257477,
1590+ "stall_ms_per_token": 12.454475942782848
1591+ },
1592+ "reasoning": {
1593+ "hit_rate": 0.71187106918239,
1594+ "stall_ms_per_token": 15.826549266247383
1595+ },
1596+ "multilingual": {
1597+ "hit_rate": 0.7287615505686433,
1598+ "stall_ms_per_token": 14.90068155970755
1599+ },
1600+ "longctx": {
1601+ "hit_rate": 0.7159168370824812,
1602+ "stall_ms_per_token": 15.608365371506494
1603+ },
1604+ "drift": {
1605+ "hit_rate": 0.7497925884955752,
1606+ "stall_ms_per_token": 13.746804505229283
1607+ }
1608+ },
1609+ "split": "fit"
1610+ },
1611+ {
1612+ "capacity": 32,
1613+ "policy": "lru",
1614+ "predictor": "probe",
1615+ "m": 8,
1616+ "hit_rate": 0.7380291087388282,
1617+ "misses_per_token": 33.53227408142999,
1618+ "stall_ms_per_token": 14.393735451837136,
1619+ "prefetch_loads_per_token": 38.80754716981132,
1620+ "prefetch_precision": 0.2311050379741653,
1621+ "loads_per_token": 72.3398212512413,
1622+ "pred_recall_at_k": 0.1567345249917246,
1623+ "tokens": 5035,
1624+ "families": {
1625+ "general": {
1626+ "hit_rate": 0.689448936740529,
1627+ "stall_ms_per_token": 17.063543959971398
1628+ },
1629+ "code": {
1630+ "hit_rate": 0.7764216108328115,
1631+ "stall_ms_per_token": 12.286919223544121
1632+ },
1633+ "reasoning": {
1634+ "hit_rate": 0.7364523121387283,
1635+ "stall_ms_per_token": 14.477795761079
1636+ },
1637+ "multilingual": {
1638+ "hit_rate": 0.7363911290322581,
1639+ "stall_ms_per_token": 14.48110056925996
1640+ },
1641+ "longctx": {
1642+ "hit_rate": 0.7545880390143738,
1643+ "stall_ms_per_token": 13.481716632443536
1644+ },
1645+ "drift": {
1646+ "hit_rate": 0.7385591650197628,
1647+ "stall_ms_per_token": 14.362130434782609
1648+ }
1649+ },
1650+ "split": "heldout"
1651+ },
1652+ {
1653+ "capacity": 32,
1654+ "policy": "lru",
1655+ "predictor": "oracle",
1656+ "m": 8,
1657+ "hit_rate": 0.9727534477699531,
1658+ "misses_per_token": 3.487558685446009,
1659+ "stall_ms_per_token": 1.363878090766773,
1660+ "prefetch_loads_per_token": 23.683255086071988,
1661+ "prefetch_precision": 1.0,
1662+ "loads_per_token": 27.170813771517995,
1663+ "pred_recall_at_k": 1.0,
1664+ "tokens": 12780,
1665+ "families": {
1666+ "general": {
1667+ "hit_rate": 0.9685191571733713,
1668+ "stall_ms_per_token": 1.556039159843367
1669+ },
1670+ "code": {
1671+ "hit_rate": 0.9760992360208063,
1672+ "stall_ms_per_token": 1.2257482444733523
1673+ },
1674+ "reasoning": {
1675+ "hit_rate": 0.9700029481132075,
1676+ "stall_ms_per_token": 1.4821153039832327
1677+ },
1678+ "multilingual": {
1679+ "hit_rate": 0.9746775995125914,
1680+ "stall_ms_per_token": 1.2524874086108941
1681+ },
1682+ "longctx": {
1683+ "hit_rate": 0.9693038513974097,
1684+ "stall_ms_per_token": 1.5213796864349076
1685+ },
1686+ "drift": {
1687+ "hit_rate": 0.9743438254223652,
1688+ "stall_ms_per_token": 1.3009010458567998
1689+ }
1690+ },
1691+ "split": "fit"
1692+ },
1693+ {
1694+ "capacity": 32,
1695+ "policy": "lru",
1696+ "predictor": "oracle",
1697+ "m": 8,
1698+ "hit_rate": 0.9722644612711023,
1699+ "misses_per_token": 3.550148957298908,
1700+ "stall_ms_per_token": 1.3869715988083386,
1701+ "prefetch_loads_per_token": 23.42542204568024,
1702+ "prefetch_precision": 1.0,
1703+ "loads_per_token": 26.975571002979144,
1704+ "pred_recall_at_k": 1.0,
1705+ "tokens": 5035,
1706+ "families": {
1707+ "general": {
1708+ "hit_rate": 0.9654887419585418,
1709+ "stall_ms_per_token": 1.687325232308795
1710+ },
1711+ "code": {
1712+ "hit_rate": 0.9769538587977458,
1713+ "stall_ms_per_token": 1.1829392611145948
1714+ },
1715+ "reasoning": {
1716+ "hit_rate": 0.9724981936416185,
1717+ "stall_ms_per_token": 1.366709055876688
1718+ },
1719+ "multilingual": {
1720+ "hit_rate": 0.9747390891840607,
1721+ "stall_ms_per_token": 1.2623605313093011
1722+ },
1723+ "longctx": {
1724+ "hit_rate": 0.9736749229979466,
1725+ "stall_ms_per_token": 1.3395934291581142
1726+ },
1727+ "drift": {
1728+ "hit_rate": 0.9720232213438735,
1729+ "stall_ms_per_token": 1.396664031620556
1730+ }
1731+ },
1732+ "split": "heldout"
1733+ },
1734+ {
1735+ "capacity": 48,
1736+ "policy": "lru",
1737+ "predictor": "none",
1738+ "m": 8,
1739+ "hit_rate": 0.9310189260563381,
1740+ "misses_per_token": 8.829577464788732,
1741+ "stall_ms_per_token": 3.796718309859156,
1742+ "prefetch_loads_per_token": 0.0,
1743+ "prefetch_precision": null,
1744+ "loads_per_token": 8.829577464788732,
1745+ "pred_recall_at_k": null,
1746+ "tokens": 12780,
1747+ "families": {
1748+ "general": {
1749+ "hit_rate": 0.9204315370238519,
1750+ "stall_ms_per_token": 4.379448202207161
1751+ },
1752+ "code": {
1753+ "hit_rate": 0.9503332249674903,
1754+ "stall_ms_per_token": 2.7336592977892895
1755+ },
1756+ "reasoning": {
1757+ "hit_rate": 0.8983719863731656,
1758+ "stall_ms_per_token": 5.593605870020981
1759+ },
1760+ "multilingual": {
1761+ "hit_rate": 0.9266887946791227,
1762+ "stall_ms_per_token": 4.035048740861087
1763+ },
1764+ "longctx": {
1765+ "hit_rate": 0.9194146216768916,
1766+ "stall_ms_per_token": 4.435419222903903
1767+ },
1768+ "drift": {
1769+ "hit_rate": 0.9425281576830249,
1770+ "stall_ms_per_token": 3.1632502011263255
1771+ }
1772+ },
1773+ "split": "fit"
1774+ },
1775+ {
1776+ "capacity": 48,
1777+ "policy": "lru",
1778+ "predictor": "none",
1779+ "m": 8,
1780+ "hit_rate": 0.9327256082423039,
1781+ "misses_per_token": 8.611122144985105,
1782+ "stall_ms_per_token": 3.7027825223435427,
1783+ "prefetch_loads_per_token": 0.0,
1784+ "prefetch_precision": null,
1785+ "loads_per_token": 8.611122144985105,
1786+ "pred_recall_at_k": null,
1787+ "tokens": 5035,
1788+ "families": {
1789+ "general": {
1790+ "hit_rate": 0.9169105164403145,
1791+ "stall_ms_per_token": 4.573245175125113
1792+ },
1793+ "code": {
1794+ "hit_rate": 0.9516427285535379,
1795+ "stall_ms_per_token": 2.661584220413288
1796+ },
1797+ "reasoning": {
1798+ "hit_rate": 0.9211524566473989,
1799+ "stall_ms_per_token": 4.33976878612718
1800+ },
1801+ "multilingual": {
1802+ "hit_rate": 0.9146110056925996,
1803+ "stall_ms_per_token": 4.699810246679331
1804+ },
1805+ "longctx": {
1806+ "hit_rate": 0.9499005390143738,
1807+ "stall_ms_per_token": 2.7574743326488793
1808+ },
1809+ "drift": {
1810+ "hit_rate": 0.9309535573122529,
1811+ "stall_ms_per_token": 3.8003162055336053
1812+ }
1813+ },
1814+ "split": "heldout"
1815+ },
1816+ {
1817+ "capacity": 48,
1818+ "policy": "lru",
1819+ "predictor": "prev_rank",
1820+ "m": 8,
1821+ "hit_rate": 0.9188019610719875,
1822+ "misses_per_token": 10.393348982785602,
1823+ "stall_ms_per_token": 4.469140062597789,
1824+ "prefetch_loads_per_token": 20.301486697965572,
1825+ "prefetch_precision": 0.4753963145540811,
1826+ "loads_per_token": 30.694835680751172,
1827+ "pred_recall_at_k": null,
1828+ "tokens": 12780,
1829+ "families": {
1830+ "general": {
1831+ "hit_rate": 0.9061359692061232,
1832+ "stall_ms_per_token": 5.166276254894943
1833+ },
1834+ "code": {
1835+ "hit_rate": 0.9401373537061118,
1836+ "stall_ms_per_token": 3.2948400520155627
1837+ },
1838+ "reasoning": {
1839+ "hit_rate": 0.8910835953878407,
1840+ "stall_ms_per_token": 5.9947589098532745
1841+ },
1842+ "multilingual": {
1843+ "hit_rate": 0.9138372004467912,
1844+ "stall_ms_per_token": 4.742400487408596
1845+ },
1846+ "longctx": {
1847+ "hit_rate": 0.9049505794137696,
1848+ "stall_ms_per_token": 5.2315201090661505
1849+ },
1850+ "drift": {
1851+ "hit_rate": 0.928882994770716,
1852+ "stall_ms_per_token": 3.914279967819814
1853+ }
1854+ },
1855+ "split": "fit"
1856+ },
1857+ {
1858+ "capacity": 48,
1859+ "policy": "lru",
1860+ "predictor": "prev_rank",
1861+ "m": 8,
1862+ "hit_rate": 0.9203062934458789,
1863+ "misses_per_token": 10.200794438927508,
1864+ "stall_ms_per_token": 4.386341608738748,
1865+ "prefetch_loads_per_token": 20.139622641509433,
1866+ "prefetch_precision": 0.47329960652051717,
1867+ "loads_per_token": 30.340417080436943,
1868+ "pred_recall_at_k": null,
1869+ "tokens": 5035,
1870+ "families": {
1871+ "general": {
1872+ "hit_rate": 0.897812053252323,
1873+ "stall_ms_per_token": 5.624424588992169
1874+ },
1875+ "code": {
1876+ "hit_rate": 0.9410809329993738,
1877+ "stall_ms_per_token": 3.2429054477144827
1878+ },
1879+ "reasoning": {
1880+ "hit_rate": 0.9123916184971098,
1881+ "stall_ms_per_token": 4.821965317919084
1882+ },
1883+ "multilingual": {
1884+ "hit_rate": 0.9120908444022771,
1885+ "stall_ms_per_token": 4.838519924098684
1886+ },
1887+ "longctx": {
1888+ "hit_rate": 0.9331686344969199,
1889+ "stall_ms_per_token": 3.6783983572895407
1890+ },
1891+ "drift": {
1892+ "hit_rate": 0.9212265316205533,
1893+ "stall_ms_per_token": 4.335691699604754
1894+ }
1895+ },
1896+ "split": "heldout"
1897+ },
1898+ {
1899+ "capacity": 48,
1900+ "policy": "lru",
1901+ "predictor": "transition",
1902+ "m": 8,
1903+ "hit_rate": 0.9404513888888889,
1904+ "misses_per_token": 7.622222222222222,
1905+ "stall_ms_per_token": 3.262892644757401,
1906+ "prefetch_loads_per_token": 4.385993740219092,
1907+ "prefetch_precision": 0.7281679838724064,
1908+ "loads_per_token": 12.008215962441314,
1909+ "pred_recall_at_k": 0.5303931924882629,
1910+ "tokens": 12780,
1911+ "families": {
1912+ "general": {
1913+ "hit_rate": 0.929006096475614,
1914+ "stall_ms_per_token": 3.8840370238518847
1915+ },
1916+ "code": {
1917+ "hit_rate": 0.9579669213263979,
1918+ "stall_ms_per_token": 2.3106710013003733
1919+ },
1920+ "reasoning": {
1921+ "hit_rate": 0.9237175707547169,
1922+ "stall_ms_per_token": 4.18677777777779
1923+ },
1924+ "multilingual": {
1925+ "hit_rate": 0.934215703696182,
1926+ "stall_ms_per_token": 3.59804792851341
1927+ },
1928+ "longctx": {
1929+ "hit_rate": 0.9306194614860259,
1930+ "stall_ms_per_token": 3.7997709611452093
1931+ },
1932+ "drift": {
1933+ "hit_rate": 0.948932773531778,
1934+ "stall_ms_per_token": 2.7981769911504606
1935+ }
1936+ },
1937+ "split": "fit"
1938+ },
1939+ {
1940+ "capacity": 48,
1941+ "policy": "lru",
1942+ "predictor": "transition",
1943+ "m": 8,
1944+ "hit_rate": 0.942279046673287,
1945+ "misses_per_token": 7.388282025819265,
1946+ "stall_ms_per_token": 3.1628011916583154,
1947+ "prefetch_loads_per_token": 4.312611717974181,
1948+ "prefetch_precision": 0.7169107488256424,
1949+ "loads_per_token": 11.700893743793445,
1950+ "pred_recall_at_k": 0.5340830850711685,
1951+ "tokens": 5035,
1952+ "families": {
1953+ "general": {
1954+ "hit_rate": 0.9223161633309507,
1955+ "stall_ms_per_token": 4.245799857040755
1956+ },
1957+ "code": {
1958+ "hit_rate": 0.9588828663118347,
1959+ "stall_ms_per_token": 2.2598810269255014
1960+ },
1961+ "reasoning": {
1962+ "hit_rate": 0.9390354046242775,
1963+ "stall_ms_per_token": 3.3480924855491416
1964+ },
1965+ "multilingual": {
1966+ "hit_rate": 0.9324893263757116,
1967+ "stall_ms_per_token": 3.6927134724857797
1968+ },
1969+ "longctx": {
1970+ "hit_rate": 0.95877181724846,
1971+ "stall_ms_per_token": 2.265782340862433
1972+ },
1973+ "drift": {
1974+ "hit_rate": 0.9427186264822134,
1975+ "stall_ms_per_token": 3.139612648221349
1976+ }
1977+ },
1978+ "split": "heldout"
1979+ },
1980+ {
1981+ "capacity": 48,
1982+ "policy": "lru",
1983+ "predictor": "transition2",
1984+ "m": 8,
1985+ "hit_rate": 0.9383478824334899,
1986+ "misses_per_token": 7.891471048513302,
1987+ "stall_ms_per_token": 3.3680330203442703,
1988+ "prefetch_loads_per_token": 3.728325508607199,
1989+ "prefetch_precision": 0.7141747817327065,
1990+ "loads_per_token": 11.6197965571205,
1991+ "pred_recall_at_k": 0.5199705175497429,
1992+ "tokens": 12780,
1993+ "families": {
1994+ "general": {
1995+ "hit_rate": 0.9262916073335706,
1996+ "stall_ms_per_token": 4.015260946956198
1997+ },
1998+ "code": {
1999+ "hit_rate": 0.9566076072821846,
2000+ "stall_ms_per_token": 2.383989596879038
2001+ },
2002+ "reasoning": {
2003+ "hit_rate": 0.9204910246331237,
2004+ "stall_ms_per_token": 4.3616834381551515
2005+ },
2006+ "multilingual": {
2007+ "hit_rate": 0.9317691409423233,
2008+ "stall_ms_per_token": 3.712066612510164
2009+ },
2010+ "longctx": {
2011+ "hit_rate": 0.9280472477845945,
2012+ "stall_ms_per_token": 3.928868438991166
2013+ },
2014+ "drift": {
2015+ "hit_rate": 0.9480025643604183,
2016+ "stall_ms_per_token": 2.843403057119886
2017+ }
2018+ },
2019+ "split": "fit"
2020+ },
2021+ {
2022+ "capacity": 48,
2023+ "policy": "lru",
2024+ "predictor": "transition2",
2025+ "m": 8,
2026+ "hit_rate": 0.9403488083416087,
2027+ "misses_per_token": 7.635352532274082,
2028+ "stall_ms_per_token": 3.26093187686189,
2029+ "prefetch_loads_per_token": 3.6307845084409136,
2030+ "prefetch_precision": 0.7060335867840928,
2031+ "loads_per_token": 11.266137040714995,
2032+ "pred_recall_at_k": 0.5253883529578663,
2033+ "tokens": 5035,
2034+ "families": {
2035+ "general": {
2036+ "hit_rate": 0.9200545032165832,
2037+ "stall_ms_per_token": 4.351708363116534
2038+ },
2039+ "code": {
2040+ "hit_rate": 0.9575131105197244,
2041+ "stall_ms_per_token": 2.3338296806512324
2042+ },
2043+ "reasoning": {
2044+ "hit_rate": 0.9367473506743738,
2045+ "stall_ms_per_token": 3.4700809248554942
2046+ },
2047+ "multilingual": {
2048+ "hit_rate": 0.9301915322580645,
2049+ "stall_ms_per_token": 3.808740037950669
2050+ },
2051+ "longctx": {
2052+ "hit_rate": 0.9565419661190965,
2053+ "stall_ms_per_token": 2.3887761806981627
2054+ },
2055+ "drift": {
2056+ "hit_rate": 0.9409739377470355,
2057+ "stall_ms_per_token": 3.225521739130442
2058+ }
2059+ },
2060+ "split": "heldout"
2061+ },
2062+ {
2063+ "capacity": 48,
2064+ "policy": "lru",
2065+ "predictor": "transition3",
2066+ "m": 8,
2067+ "hit_rate": 0.9371662265258216,
2068+ "misses_per_token": 8.042723004694835,
2069+ "stall_ms_per_token": 3.4264309859154753,
2070+ "prefetch_loads_per_token": 3.3140845070422533,
2071+ "prefetch_precision": 0.703782405439864,
2072+ "loads_per_token": 11.35680751173709,
2073+ "pred_recall_at_k": 0.5104414951245937,
2074+ "tokens": 12780,
2075+ "families": {
2076+ "general": {
2077+ "hit_rate": 0.9251485181559274,
2078+ "stall_ms_per_token": 4.06746813812743
2079+ },
2080+ "code": {
2081+ "hit_rate": 0.9560021131339402,
2082+ "stall_ms_per_token": 2.4175490247073825
2083+ },
2084+ "reasoning": {
2085+ "hit_rate": 0.917886857966457,
2086+ "stall_ms_per_token": 4.495758909853259
2087+ },
2088+ "multilingual": {
2089+ "hit_rate": 0.9304522491876523,
2090+ "stall_ms_per_token": 3.7737863525588975
2091+ },
2092+ "longctx": {
2093+ "hit_rate": 0.926284509202454,
2094+ "stall_ms_per_token": 4.018560327198388
2095+ },
2096+ "drift": {
2097+ "hit_rate": 0.9469969328238134,
2098+ "stall_ms_per_token": 2.8910297666934945
2099+ }
2100+ },
2101+ "split": "fit"
2102+ },
2103+ {
2104+ "capacity": 48,
2105+ "policy": "lru",
2106+ "predictor": "transition3",
2107+ "m": 8,
2108+ "hit_rate": 0.9391090491559086,
2109+ "misses_per_token": 7.794041708043694,
2110+ "stall_ms_per_token": 3.3219992055610024,
2111+ "prefetch_loads_per_token": 3.208738828202582,
2112+ "prefetch_precision": 0.6996162416439713,
2113+ "loads_per_token": 11.002780536246275,
2114+ "pred_recall_at_k": 0.5172217554044763,
2115+ "tokens": 5035,
2116+ "families": {
2117+ "general": {
2118+ "hit_rate": 0.9188427001429592,
2119+ "stall_ms_per_token": 4.406786275911391
2120+ },
2121+ "code": {
2122+ "hit_rate": 0.956974992172824,
2123+ "stall_ms_per_token": 2.362806512210409
2124+ },
2125+ "reasoning": {
2126+ "hit_rate": 0.934971098265896,
2127+ "stall_ms_per_token": 3.5673526011560726
2128+ },
2129+ "multilingual": {
2130+ "hit_rate": 0.9272118121442126,
2131+ "stall_ms_per_token": 3.9523415559772417
2132+ },
2133+ "longctx": {
2134+ "hit_rate": 0.9553708932238193,
2135+ "stall_ms_per_token": 2.447712525667362
2136+ },
2137+ "drift": {
2138+ "hit_rate": 0.939738759881423,
2139+ "stall_ms_per_token": 3.2833873517786603
2140+ }
2141+ },
2142+ "split": "heldout"
2143+ },
2144+ {
2145+ "capacity": 48,
2146+ "policy": "lru",
2147+ "predictor": "probe",
2148+ "m": 8,
2149+ "hit_rate": 0.9027955056729264,
2150+ "misses_per_token": 12.442175273865415,
2151+ "stall_ms_per_token": 5.343785446009357,
2152+ "prefetch_loads_per_token": 17.129890453834115,
2153+ "prefetch_precision": 0.36841311894756074,
2154+ "loads_per_token": 29.57206572769953,
2155+ "pred_recall_at_k": 0.15737415232133542,
2156+ "tokens": 12780,
2157+ "families": {
2158+ "general": {
2159+ "hit_rate": 0.8955116367034532,
2160+ "stall_ms_per_token": 5.745389106443556
2161+ },
2162+ "code": {
2163+ "hit_rate": 0.9188089239271782,
2164+ "stall_ms_per_token": 4.464062938881634
2165+ },
2166+ "reasoning": {
2167+ "hit_rate": 0.8817970387840671,
2168+ "stall_ms_per_token": 6.4974381551362885
2169+ },
2170+ "multilingual": {
2171+ "hit_rate": 0.894753376320065,
2172+ "stall_ms_per_token": 5.784663688058469
2173+ },
2174+ "longctx": {
2175+ "hit_rate": 0.893372955010225,
2176+ "stall_ms_per_token": 5.861074301295194
2177+ },
2178+ "drift": {
2179+ "hit_rate": 0.9128871681415929,
2180+ "stall_ms_per_token": 4.788305711987153
2181+ }
2182+ },
2183+ "split": "fit"
2184+ },
2185+ {
2186+ "capacity": 48,
2187+ "policy": "lru",
2188+ "predictor": "probe",
2189+ "m": 8,
2190+ "hit_rate": 0.9033841236345581,
2191+ "misses_per_token": 12.366832174776563,
2192+ "stall_ms_per_token": 5.311433167825154,
2193+ "prefetch_loads_per_token": 16.753525322740813,
2194+ "prefetch_precision": 0.35981696185124595,
2195+ "loads_per_token": 29.12035749751738,
2196+ "pred_recall_at_k": 0.1567345249917246,
2197+ "tokens": 5035,
2198+ "families": {
2199+ "general": {
2200+ "hit_rate": 0.8891507326661902,
2201+ "stall_ms_per_token": 6.093732666190155
2202+ },
2203+ "code": {
2204+ "hit_rate": 0.9174086177207263,
2205+ "stall_ms_per_token": 4.542062617407669
2206+ },
2207+ "reasoning": {
2208+ "hit_rate": 0.8984826589595376,
2209+ "stall_ms_per_token": 5.579375722543363
2210+ },
2211+ "multilingual": {
2212+ "hit_rate": 0.8927300759013282,
2213+ "stall_ms_per_token": 5.895878557874778
2214+ },
2215+ "longctx": {
2216+ "hit_rate": 0.9118005646817249,
2217+ "stall_ms_per_token": 4.846349075975369
2218+ },
2219+ "drift": {
2220+ "hit_rate": 0.9064970355731226,
2221+ "stall_ms_per_token": 5.140837944664038
2222+ }
2223+ },
2224+ "split": "heldout"
2225+ },
2226+ {
2227+ "capacity": 48,
2228+ "policy": "lru",
2229+ "predictor": "oracle",
2230+ "m": 8,
2231+ "hit_rate": 0.9908786922926448,
2232+ "misses_per_token": 1.167527386541471,
2233+ "stall_ms_per_token": 0.47129874804381033,
2234+ "prefetch_loads_per_token": 8.13262910798122,
2235+ "prefetch_precision": 1.0,
2236+ "loads_per_token": 9.300156494522692,
2237+ "pred_recall_at_k": 1.0,
2238+ "tokens": 12780,
2239+ "families": {
2240+ "general": {
2241+ "hit_rate": 0.9891003248487006,
2242+ "stall_ms_per_token": 0.5620968316126759
2243+ },
2244+ "code": {
2245+ "hit_rate": 0.9925674577373212,
2246+ "stall_ms_per_token": 0.3921425227568275
2247+ },
2248+ "reasoning": {
2249+ "hit_rate": 0.9900173611111112,
2250+ "stall_ms_per_token": 0.5243542976939221
2251+ },
2252+ "multilingual": {
2253+ "hit_rate": 0.9914576563769293,
2254+ "stall_ms_per_token": 0.4303460601137342
2255+ },
2256+ "longctx": {
2257+ "hit_rate": 0.9885395364689843,
2258+ "stall_ms_per_token": 0.5844526244035498
2259+ },
2260+ "drift": {
2261+ "hit_rate": 0.9919486625100563,
2262+ "stall_ms_per_token": 0.4178133547868083
2263+ }
2264+ },
2265+ "split": "fit"
2266+ },
2267+ {
2268+ "capacity": 48,
2269+ "policy": "lru",
2270+ "predictor": "oracle",
2271+ "m": 8,
2272+ "hit_rate": 0.9908360228401192,
2273+ "misses_per_token": 1.1729890764647468,
2274+ "stall_ms_per_token": 0.47738709036743304,
2275+ "prefetch_loads_per_token": 7.858987090367428,
2276+ "prefetch_precision": 1.0,
2277+ "loads_per_token": 9.031976166832175,
2278+ "pred_recall_at_k": 1.0,
2279+ "tokens": 5035,
2280+ "families": {
2281+ "general": {
2282+ "hit_rate": 0.9886693620443173,
2283+ "stall_ms_per_token": 0.5807276626161585
2284+ },
2285+ "code": {
2286+ "hit_rate": 0.9924516671884784,
2287+ "stall_ms_per_token": 0.3983882279273665
2288+ },
2289+ "reasoning": {
2290+ "hit_rate": 0.9911638969171483,
2291+ "stall_ms_per_token": 0.468088631984588
2292+ },
2293+ "multilingual": {
2294+ "hit_rate": 0.9900675996204934,
2295+ "stall_ms_per_token": 0.5177760910815962
2296+ },
2297+ "longctx": {
2298+ "hit_rate": 0.9914976899383984,
2299+ "stall_ms_per_token": 0.4448377823408645
2300+ },
2301+ "drift": {
2302+ "hit_rate": 0.9915544713438735,
2303+ "stall_ms_per_token": 0.43979841897233335
2304+ }
2305+ },
2306+ "split": "heldout"
2307+ }
2308+ ]
2309+}
\ No newline at end of file
added benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl +3 −0
@@ -0,0 +1,3 @@
1+{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": true, "max_tokens": 64, "split": "heldout", "tag": "cold_nvme", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b --backend titan --capacity 16 --predictor none --m 8 --nocache --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --families general,code,reasoning --split heldout --repeats 2 --max-tokens 64 --tag cold_nvme --out benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl", "env": {"host": "MacBookPro-de-simon-pierre-2.local", "chip": "Apple M5 Max", "ram_gb": 48, "macos": "27.0", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": "258ba81"}, "seed": 0, "warmup": true, "repeat": -1, "family": "reasoning", "prompt": "Q: A tank fills in 6 hours with pipe A and 9 hours with pipe", "ts": "2026-11-01T01:47:04", "prompt_tokens": 32, "gen_tokens": 64, "ttft_ms": 3041.2979170214385, "prompt_tps": 10.538982502473754, "gen_tps": 9.615565496623349, "decode_tps_wall": 9.465435344104892, "itl_ms_p50": 102.56666608620435, "itl_ms_p95": 147.70795905496925, "itl_ms_p99": 167.03716607298702, "itl_ms_mean": 105.64754431742051, "total_s": 9.69709320901893, "peak_mem_gb": 2.090173904, "text": "If pipe A fills the tank in 6 hours, then the rate of pipe A is 1 / 6 of the tank per hour. If pipe B fills the tank in 9 hours, then the rate of pipe B is 1 / 9 of the tank per hour. The combined rat", "cache_hit_rate": 0.4844649021864212, "cache_misses": 5824, "cache_hits": 5473, "stall_s": 8.191949911764823, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 20610809856, "ssd_read_s": 7.725407627178356}
2+{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": true, "max_tokens": 64, "split": "heldout", "tag": "cold_nvme", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b --backend titan --capacity 16 --predictor none --m 8 --nocache --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --families general,code,reasoning --split heldout --repeats 2 --max-tokens 64 --tag cold_nvme --out benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl", "env": {"host": "MacBookPro-de-simon-pierre-2.local", "chip": "Apple M5 Max", "ram_gb": 48, "macos": "27.0", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": "258ba81"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:47:11", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 1772.822791012004, "prompt_tps": 13.540661227523396, "gen_tps": 14.592826924160933, "decode_tps_wall": 14.364850714221733, "itl_ms_p50": 64.1560829244554, "itl_ms_p95": 111.17766599636525, "itl_ms_p99": 147.35658396966755, "itl_ms_mean": 69.61436772955552, "total_s": 6.158527957974002, "peak_mem_gb": 1.930492816, "text": "#include <arm_neon.h>\n\nfloat dot_product_neon(const float *a, const float *b, int len) {\n // TODO: Implement the dot product computation using NEON intrinsics\n // Start by loading the arrays int", "cache_hit_rate": 0.6523887973640856, "cache_misses": 3587, "cache_hits": 6732, "stall_s": 4.940353738376871, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12694192128, "ssd_read_s": 4.6701676497468725}
3+{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": true, "max_tokens": 64, "split": "heldout", "tag": "cold_nvme", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b --backend titan --capacity 16 --predictor none --m 8 --nocache --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --families general,code,reasoning --split heldout --repeats 2 --max-tokens 64 --tag cold_nvme --out benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl", "env": {"host": "MacBookPro-de-simon-pierre-2.local", "chip": "Apple M5 Max", "ram_gb": 48, "macos": "27.0", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": "258ba81"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:47:19", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 1448.2218329794705, "prompt_tps": 9.668972925355584, "gen_tps": 9.486046026204507, "decode_tps_wall": 9.337841435614223, "itl_ms_p50": 106.86812503263354, "itl_ms_p95": 156.7806249950081, "itl_ms_p99": 170.41387502104044, "itl_ms_mean": 107.09113095303081, "total_s": 8.194963083020411, "peak_mem_gb": 1.742661784, "text": "\n\nThe Rideau Canal, officially opened in 1832, was constructed by the British to connect Ottawa to Montreal via the Ottawa River. It was designed by Colonel John By and took approximately three years ", "cache_hit_rate": 0.48355739400206826, "cache_misses": 4994, "cache_hits": 4676, "stall_s": 6.844891174114309, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17673486336, "ssd_read_s": 6.502651879563928}
added benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl +48 −0
@@ -0,0 +1,48 @@
1+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:36", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 190.09033299516886, "prompt_tps": 248.33388555616366, "gen_tps": 121.36794961117941, "decode_tps_wall": 119.49292325368565, "itl_ms_p50": 8.360582985915244, "itl_ms_p95": 8.444542065262794, "itl_ms_p99": 8.543666917830706, "itl_ms_mean": 8.3686964279632, "total_s": 0.7173182079568505, "peak_mem_gb": 17.262479236, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time "}
2+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:44:36", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 47.851667040959, "prompt_tps": 338.8367836252268, "gen_tps": 121.09034285180219, "decode_tps_wall": 119.20153883118209, "itl_ms_p50": 8.380957995541394, "itl_ms_p95": 8.534958004020154, "itl_ms_p99": 8.731834008358419, "itl_ms_mean": 8.389153443868198, "total_s": 0.5763683340046555, "peak_mem_gb": 17.226143856, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help"}
3+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:37", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 51.94775003474206, "prompt_tps": 370.8173313765438, "gen_tps": 120.87331925022238, "decode_tps_wall": 118.99180893614097, "itl_ms_p50": 8.380333078093827, "itl_ms_p95": 8.60504200682044, "itl_ms_p99": 8.897583931684494, "itl_ms_mean": 8.40393980846755, "total_s": 0.5813959579681978, "peak_mem_gb": 17.249301776, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem"}
4+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:37", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 49.24083407968283, "prompt_tps": 349.63177556877565, "gen_tps": 121.55569446717989, "decode_tps_wall": 119.65929399141673, "itl_ms_p50": 8.350541931577027, "itl_ms_p95": 8.482167031615973, "itl_ms_p99": 8.48712504375726, "itl_ms_mean": 8.35706084035337, "total_s": 0.5757356670219451, "peak_mem_gb": 17.226964956, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri"}
5+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:38", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 53.90341696329415, "prompt_tps": 394.2674782039338, "gen_tps": 121.6063822332558, "decode_tps_wall": 119.70997873886853, "itl_ms_p50": 8.343624998815358, "itl_ms_p95": 8.49016709253192, "itl_ms_p99": 8.694582968018949, "itl_ms_mean": 8.353522492735276, "total_s": 0.5801753340056166, "peak_mem_gb": 17.25364684, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # "}
6+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:44:38", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 43.613624991849065, "prompt_tps": 302.6094225075362, "gen_tps": 121.57031801287954, "decode_tps_wall": 119.67484525660637, "itl_ms_p50": 8.331499993801117, "itl_ms_p95": 8.527584024704993, "itl_ms_p99": 8.608166011981666, "itl_ms_mean": 8.355974873882674, "total_s": 0.5700400420464575, "peak_mem_gb": 17.221640784, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f"}
7+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:39", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 58.112749946303666, "prompt_tps": 434.565325733222, "gen_tps": 121.39687992141418, "decode_tps_wall": 119.50260375382749, "itl_ms_p50": 8.366625057533383, "itl_ms_p95": 8.409874979406595, "itl_ms_p99": 8.545209071598947, "itl_ms_mean": 8.368018508282683, "total_s": 0.5852979159681126, "peak_mem_gb": 17.26254994, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time "}
8+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:40", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 49.202000023797154, "prompt_tps": 349.57276418716367, "gen_tps": 121.89223393922533, "decode_tps_wall": 119.98965804328934, "itl_ms_p50": 8.334666024893522, "itl_ms_p95": 8.4102499531582, "itl_ms_p99": 8.483083103783429, "itl_ms_mean": 8.334051586672782, "total_s": 0.5742472499841824, "peak_mem_gb": 17.226956788, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri"}
9+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:40", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 51.78712494671345, "prompt_tps": 370.81039172716237, "gen_tps": 121.22391645529108, "decode_tps_wall": 119.33175172953106, "itl_ms_p50": 8.359083090908825, "itl_ms_p95": 8.605082985013723, "itl_ms_p99": 8.688666974194348, "itl_ms_mean": 8.379999333844772, "total_s": 0.579727082978934, "peak_mem_gb": 17.249301772, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem"}
10+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:41", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 53.91687504015863, "prompt_tps": 393.6823358259812, "gen_tps": 121.8112669918118, "decode_tps_wall": 119.91010556436554, "itl_ms_p50": 8.336875005625188, "itl_ms_p95": 8.415000047534704, "itl_ms_p99": 8.565249969251454, "itl_ms_mean": 8.339580682490672, "total_s": 0.5793104580370709, "peak_mem_gb": 17.25364682, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # "}
11+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:44:41", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 47.72816691547632, "prompt_tps": 339.2244104269285, "gen_tps": 121.67545188769039, "decode_tps_wall": 119.7779166732931, "itl_ms_p50": 8.335041929967701, "itl_ms_p95": 8.467959007248282, "itl_ms_p99": 8.659999934025109, "itl_ms_mean": 8.348784381745471, "total_s": 0.573701582965441, "peak_mem_gb": 17.22614392, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help"}
12+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:44:42", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 43.5285420389846, "prompt_tps": 302.6079571144651, "gen_tps": 121.40749208551493, "decode_tps_wall": 119.5127483416421, "itl_ms_p50": 8.359082974493504, "itl_ms_p95": 8.43141705263406, "itl_ms_p99": 8.60049994662404, "itl_ms_mean": 8.367308206664074, "total_s": 0.5706689590588212, "peak_mem_gb": 17.221640784, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f"}
13+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:42", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 53.48683404736221, "prompt_tps": 396.8369599269693, "gen_tps": 121.25802358542144, "decode_tps_wall": 119.36565680352243, "itl_ms_p50": 8.361416985280812, "itl_ms_p95": 8.532540989108384, "itl_ms_p99": 8.71666707098484, "itl_ms_mean": 8.377619047043106, "total_s": 0.5812768340110779, "peak_mem_gb": 17.253646828, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # "}
14+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:44:43", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 43.41387492604554, "prompt_tps": 303.4981079859437, "gen_tps": 121.88605345378718, "decode_tps_wall": 119.9840021389397, "itl_ms_p50": 8.336500031873584, "itl_ms_p95": 8.409750065766275, "itl_ms_p99": 8.488874998874962, "itl_ms_mean": 8.334444444035254, "total_s": 0.5684838749002665, "peak_mem_gb": 17.221640784, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f"}
15+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:44", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 49.159541027620435, "prompt_tps": 350.5781123763205, "gen_tps": 121.71373900696982, "decode_tps_wall": 119.81625321442641, "itl_ms_p50": 8.33791692275554, "itl_ms_p95": 8.414624957367778, "itl_ms_p99": 8.695708005689085, "itl_ms_mean": 8.346113095444347, "total_s": 0.5749646660406142, "peak_mem_gb": 17.226960852, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri"}
16+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:44:44", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 47.806749935261905, "prompt_tps": 338.7148422536113, "gen_tps": 121.40541932367935, "decode_tps_wall": 119.51012231876976, "itl_ms_p50": 8.363333996385336, "itl_ms_p95": 8.515625027939677, "itl_ms_p99": 8.595749968662858, "itl_ms_mean": 8.367492063414483, "total_s": 0.5749587499303743, "peak_mem_gb": 17.226143856, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help"}
17+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:45", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 51.81904206983745, "prompt_tps": 370.7121119944423, "gen_tps": 121.67745683114906, "decode_tps_wall": 119.77846688130617, "itl_ms_p50": 8.337999926880002, "itl_ms_p95": 8.509374922141433, "itl_ms_p99": 8.653583005070686, "itl_ms_mean": 8.34874603121231, "total_s": 0.577790042036213, "peak_mem_gb": 17.249301776, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem"}
18+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:45", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 58.237458928488195, "prompt_tps": 433.6403767509204, "gen_tps": 121.9397082106601, "decode_tps_wall": 120.03663974946353, "itl_ms_p50": 8.328375057317317, "itl_ms_p95": 8.410041918978095, "itl_ms_p99": 8.536917041055858, "itl_ms_mean": 8.330789682943196, "total_s": 0.5830772089539096, "peak_mem_gb": 17.262549952, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time "}
19+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:46", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 53.03687497507781, "prompt_tps": 400.2061405267773, "gen_tps": 122.84042573142314, "decode_tps_wall": 120.92373271713936, "itl_ms_p50": 8.24875000398606, "itl_ms_p95": 8.425749954767525, "itl_ms_p99": 8.515499997884035, "itl_ms_mean": 8.26967525340262, "total_s": 0.5740264159394428, "peak_mem_gb": 17.253640676, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # "}
20+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:47", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 48.9684579661116, "prompt_tps": 351.7829711443551, "gen_tps": 121.93942754370109, "decode_tps_wall": 120.03831691113533, "itl_ms_p50": 8.33029206842184, "itl_ms_p95": 8.438290911726654, "itl_ms_p99": 8.636665996164083, "itl_ms_mean": 8.330673286099993, "total_s": 0.5738008749904111, "peak_mem_gb": 17.226956788, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri"}
21+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:44:47", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 43.77604101318866, "prompt_tps": 300.7414438468318, "gen_tps": 121.05787559700309, "decode_tps_wall": 119.16836550102333, "itl_ms_p50": 8.376457961276174, "itl_ms_p95": 8.59345798380673, "itl_ms_p99": 8.693208917975426, "itl_ms_mean": 8.39148876294198, "total_s": 0.5724398330785334, "peak_mem_gb": 17.221638736, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f"}
22+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:48", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 51.64116702508181, "prompt_tps": 372.6351792877575, "gen_tps": 121.64076273747433, "decode_tps_wall": 119.74421314955649, "itl_ms_p50": 8.346999995410442, "itl_ms_p95": 8.42333398759365, "itl_ms_p99": 8.572999970056117, "itl_ms_mean": 8.351134252734482, "total_s": 0.5777626249473542, "peak_mem_gb": 17.249301776, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem"}
23+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:44:48", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 47.79970902018249, "prompt_tps": 338.6786920728613, "gen_tps": 121.35481265622165, "decode_tps_wall": 119.46146588396937, "itl_ms_p50": 8.368958020582795, "itl_ms_p95": 8.484416990540922, "itl_ms_p99": 8.614916005171835, "itl_ms_mean": 8.370900127504553, "total_s": 0.5751664170529693, "peak_mem_gb": 17.226143856, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help"}
24+{"backend": "mlx_lm", "capacity": null, "policy": null, "predictor": null, "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend mlx_lm --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:49", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 58.15908405929804, "prompt_tps": 434.2721836914425, "gen_tps": 121.31440349292212, "decode_tps_wall": 119.42142230634539, "itl_ms_p50": 8.356499951332808, "itl_ms_p95": 8.525499957613647, "itl_ms_p99": 8.59662494622171, "itl_ms_mean": 8.373707000698362, "total_s": 0.5857026251032948, "peak_mem_gb": 17.26254994, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time "}
25+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:54", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 1220.5764999380335, "prompt_tps": 27.00275251582446, "gen_tps": 119.63154427799184, "decode_tps_wall": 117.78116172783089, "itl_ms_p50": 8.376332931220531, "itl_ms_p95": 8.598791086114943, "itl_ms_p99": 14.143792097456753, "itl_ms_mean": 8.490322096761139, "total_s": 1.7554667920339853, "peak_mem_gb": 33.489018536, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 34176, "stall_s": 0.0, "hits_device": 34176, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
26+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:44:55", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 48.77100000157952, "prompt_tps": 332.56485232655496, "gen_tps": 121.4452169164887, "decode_tps_wall": 119.55078327663087, "itl_ms_p50": 8.360707899555564, "itl_ms_p95": 8.474875008687377, "itl_ms_p99": 8.506624959409237, "itl_ms_mean": 8.364646157826341, "total_s": 0.575743707944639, "peak_mem_gb": 17.218282524, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 30720, "stall_s": 0.0, "hits_device": 30720, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
27+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:55", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 53.07695805095136, "prompt_tps": 361.7012308418058, "gen_tps": 121.23609680837703, "decode_tps_wall": 119.34598402398768, "itl_ms_p50": 8.373667020350695, "itl_ms_p95": 8.46533291041851, "itl_ms_p99": 8.867958909831941, "itl_ms_mean": 8.378999998852137, "total_s": 0.580953957978636, "peak_mem_gb": 17.239856048, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31872, "stall_s": 0.0, "hits_device": 31872, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
28+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:56", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 50.045416108332574, "prompt_tps": 343.29477135842853, "gen_tps": 121.54620061293649, "decode_tps_wall": 119.64870752061906, "itl_ms_p50": 8.346708957105875, "itl_ms_p95": 8.540916023775935, "itl_ms_p99": 8.558625006116927, "itl_ms_mean": 8.357800269824645, "total_s": 0.5765868331072852, "peak_mem_gb": 17.21856966, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31104, "stall_s": 0.0, "hits_device": 31104, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
29+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:57", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 55.06129201967269, "prompt_tps": 385.90881583195323, "gen_tps": 117.97438897158018, "decode_tps_wall": 116.13470519492213, "itl_ms_p50": 8.571584010496736, "itl_ms_p95": 8.948875009082258, "itl_ms_p99": 9.198999963700771, "itl_ms_mean": 8.61069047638762, "total_s": 0.5975347920320928, "peak_mem_gb": 17.243156824, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 32640, "stall_s": 0.0, "hits_device": 32640, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
30+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:44:57", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 44.345750007778406, "prompt_tps": 296.6154511429461, "gen_tps": 120.9117500982621, "decode_tps_wall": 119.02583968272118, "itl_ms_p50": 8.385625085793436, "itl_ms_p95": 8.570082951337099, "itl_ms_p99": 8.722792030312121, "itl_ms_mean": 8.401537033182288, "total_s": 0.5736425830982625, "peak_mem_gb": 17.215356644, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 29568, "stall_s": 0.0, "hits_device": 29568, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
31+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:44:58", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 60.059874900616705, "prompt_tps": 420.1707153604413, "gen_tps": 121.58243342111969, "decode_tps_wall": 119.68656369037812, "itl_ms_p50": 8.351624943315983, "itl_ms_p95": 8.393040974624455, "itl_ms_p99": 8.665792061947286, "itl_ms_mean": 8.355156745805981, "total_s": 0.5864347498863935, "peak_mem_gb": 17.250497668, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 34176, "stall_s": 0.0, "hits_device": 34176, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
32+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:44:58", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 49.783666036091745, "prompt_tps": 344.82525692735203, "gen_tps": 122.00261589794333, "decode_tps_wall": 120.09875733097927, "itl_ms_p50": 8.330084034241736, "itl_ms_p95": 8.390332921408117, "itl_ms_p99": 8.473166031762958, "itl_ms_mean": 8.326480824810764, "total_s": 0.5743519579991698, "peak_mem_gb": 17.218569684, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31104, "stall_s": 0.0, "hits_device": 31104, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
33+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:44:59", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 52.693875040858984, "prompt_tps": 363.86588147938994, "gen_tps": 121.39097933124957, "decode_tps_wall": 119.49697464663882, "itl_ms_p50": 8.35495803039521, "itl_ms_p95": 8.45249998383224, "itl_ms_p99": 8.801499963738024, "itl_ms_mean": 8.368412697953838, "total_s": 0.5799038750119507, "peak_mem_gb": 17.239863212, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31872, "stall_s": 0.0, "hits_device": 31872, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
34+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:44:59", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 55.027499911375344, "prompt_tps": 385.0664480922441, "gen_tps": 121.53900657171316, "decode_tps_wall": 119.6423643508119, "itl_ms_p50": 8.351791999302804, "itl_ms_p95": 8.486833074130118, "itl_ms_p99": 8.650125004351139, "itl_ms_mean": 8.3582433816489, "total_s": 0.5815968329552561, "peak_mem_gb": 17.243156804, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 32640, "stall_s": 0.0, "hits_device": 32640, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
35+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:45:00", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 48.99120796471834, "prompt_tps": 330.0295995197668, "gen_tps": 119.90046397486195, "decode_tps_wall": 118.03147842516533, "itl_ms_p50": 8.421833044849336, "itl_ms_p95": 8.914500009268522, "itl_ms_p99": 9.067249950021505, "itl_ms_mean": 8.472316142629891, "total_s": 0.5827471249504015, "peak_mem_gb": 17.218282524, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 30720, "stall_s": 0.0, "hits_device": 30720, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
36+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:45:01", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 44.39308401197195, "prompt_tps": 296.37510710304804, "gen_tps": 121.82079258300936, "decode_tps_wall": 119.92054796815864, "itl_ms_p50": 8.337458013556898, "itl_ms_p95": 8.392707910388708, "itl_ms_p99": 8.558874949812889, "itl_ms_mean": 8.338854491104565, "total_s": 0.5697409169515595, "peak_mem_gb": 17.215356624, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 29568, "stall_s": 0.0, "hits_device": 29568, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
37+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:45:01", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 54.63941604830325, "prompt_tps": 387.86446016558983, "gen_tps": 121.27424188755138, "decode_tps_wall": 119.3818012321434, "itl_ms_p50": 8.351875003427267, "itl_ms_p95": 8.4734580013901, "itl_ms_p99": 8.981000049971044, "itl_ms_mean": 8.376486111609708, "total_s": 0.5823580410797149, "peak_mem_gb": 17.243156812, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 32640, "stall_s": 0.0, "hits_device": 32640, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
38+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:45:02", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 44.173542060889304, "prompt_tps": 297.75367736190805, "gen_tps": 121.6031860206553, "decode_tps_wall": 119.70498422740722, "itl_ms_p50": 8.344833040609956, "itl_ms_p95": 8.480250020511448, "itl_ms_p99": 8.510250016115606, "itl_ms_mean": 8.353871030969517, "total_s": 0.5704674170119688, "peak_mem_gb": 17.215356644, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 29568, "stall_s": 0.0, "hits_device": 29568, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
39+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:45:02", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 50.10233307257295, "prompt_tps": 342.8398592472836, "gen_tps": 121.59208703388818, "decode_tps_wall": 119.69455089682388, "itl_ms_p50": 8.344458998180926, "itl_ms_p95": 8.48733400925994, "itl_ms_p99": 8.629083051346242, "itl_ms_mean": 8.354599206959682, "total_s": 0.5764420831110328, "peak_mem_gb": 17.218569652, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31104, "stall_s": 0.0, "hits_device": 31104, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
40+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:45:03", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 48.36112505290657, "prompt_tps": 334.16526579787626, "gen_tps": 121.67285920481129, "decode_tps_wall": 119.77398856188454, "itl_ms_p50": 8.340667001903057, "itl_ms_p95": 8.455541916191578, "itl_ms_p99": 8.47962498664856, "itl_ms_mean": 8.349058188734547, "total_s": 0.574351790943183, "peak_mem_gb": 17.218290684, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 30720, "stall_s": 0.0, "hits_device": 30720, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
41+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:45:04", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 52.854583016596735, "prompt_tps": 362.84210416888635, "gen_tps": 121.97403551088667, "decode_tps_wall": 120.07064158084249, "itl_ms_p50": 8.331332937814295, "itl_ms_p95": 8.383834036067128, "itl_ms_p99": 8.41845793183893, "itl_ms_mean": 8.328430554164308, "total_s": 0.5775457079289481, "peak_mem_gb": 17.239863216, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31872, "stall_s": 0.0, "hits_device": 31872, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
42+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:45:04", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 59.81308396439999, "prompt_tps": 421.45989484963627, "gen_tps": 121.37909403443791, "decode_tps_wall": 119.48395266974292, "itl_ms_p50": 8.344041998498142, "itl_ms_p95": 8.558999979868531, "itl_ms_p99": 8.64954199641943, "itl_ms_mean": 8.369324730694412, "total_s": 0.587080541998148, "peak_mem_gb": 17.25049768, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 34176, "stall_s": 0.0, "hits_device": 34176, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
43+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "Implement an LRU cache class in Python with get and put meth", "ts": "2026-11-01T01:45:05", "prompt_tokens": 21, "gen_tokens": 64, "ttft_ms": 55.06124999374151, "prompt_tps": 385.09145933521063, "gen_tps": 121.23431697523493, "decode_tps_wall": 119.34340303931936, "itl_ms_p50": 8.368332986719906, "itl_ms_p95": 8.470666012726724, "itl_ms_p99": 8.576125022955239, "itl_ms_mean": 8.379181207615941, "total_s": 0.5829496660735458, "peak_mem_gb": 17.243156804, "text": "class LRUCache:\n def __init__(self, capacity):\n self.capacity = capacity\n self.cache = {}\n self.order = []\n\n def get(self, key):\n if key in self.cache:\n # ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 32640, "stall_s": 0.0, "hits_device": 32640, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
44+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Explain in three sentences why mixture-of-experts models are", "ts": "2026-11-01T01:45:05", "prompt_tokens": 17, "gen_tokens": 64, "ttft_ms": 49.646333092823625, "prompt_tps": 345.721111045929, "gen_tps": 122.00395295728767, "decode_tps_wall": 120.09996893673218, "itl_ms_p50": 8.340833010151982, "itl_ms_p95": 8.404958061873913, "itl_ms_p99": 8.497833972796798, "itl_ms_mean": 8.326396824688548, "total_s": 0.5742093330482021, "peak_mem_gb": 17.218569684, "text": "Mixture-of-Experts (MoE) models are memory-bound during decoding because they rely on storing and accessing a large number of expert parameters, which significantly increases memory requirements. Duri", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31104, "stall_s": 0.0, "hits_device": 31104, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
45+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"", "ts": "2026-11-01T01:45:06", "prompt_tokens": 13, "gen_tokens": 64, "ttft_ms": 43.86004095431417, "prompt_tps": 299.62950087647863, "gen_tps": 121.56949062605008, "decode_tps_wall": 119.67134054503336, "itl_ms_p50": 8.344084024429321, "itl_ms_p95": 8.46070796251297, "itl_ms_p99": 8.677207981236279, "itl_ms_mean": 8.356219588128466, "total_s": 0.5703018750064075, "peak_mem_gb": 17.215356608, "text": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n == 1:\n return 1\n return fibonacci(n - 1) + fibonacci(n - 2)\n\n# Example usage:\nprint(f", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 29568, "stall_s": 0.0, "hits_device": 29568, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
46+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Write a short paragraph describing the climate of Gatineau, ", "ts": "2026-11-01T01:45:06", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 53.19029197562486, "prompt_tps": 360.89625262896436, "gen_tps": 121.45359072568283, "decode_tps_wall": 119.55926290013397, "itl_ms_p50": 8.34145792759955, "itl_ms_p95": 8.495041984133422, "itl_ms_p99": 8.691542083397508, "itl_ms_mean": 8.364052903498449, "total_s": 0.5801256248960271, "peak_mem_gb": 17.239863216, "text": "Include details about temperature, precipitation, and weather patterns.\n\nGatineau, Qu\u00e9bec, experiences a humid continental climate with distinct seasonal variations. In winter (December\u2013February), tem", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 31872, "stall_s": 0.0, "hits_device": 31872, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
47+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "general", "prompt": "Give five practical tips for a first-year university student", "ts": "2026-11-01T01:45:07", "prompt_tokens": 16, "gen_tokens": 64, "ttft_ms": 48.36929100565612, "prompt_tps": 334.04317433962683, "gen_tps": 121.9046360404261, "decode_tps_wall": 120.0016190010754, "itl_ms_p50": 8.329583099111915, "itl_ms_p95": 8.395583950914443, "itl_ms_p99": 8.49329202901572, "itl_ms_mean": 8.333220904219955, "total_s": 0.5733622079715133, "peak_mem_gb": 17.2182825, "text": "1. **Create a Weekly Schedule:** Use a digital calendar or planner to block out time for classes, study sessions, assignments, and personal activities. Having a visual representation of your week help", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 30720, "stall_s": 0.0, "hits_device": 30720, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
48+{"backend": "titan", "capacity": 128, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "fit", "tag": "", "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa", "cmd": "benchmarks/scripts/bench_decode.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa --backend titan --capacity 128 --families general,code --repeats 3 --out benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl", "env": {"host": "MacStudnpierre2", "chip": "Apple M3 Ultra", "ram_gb": 96, "macos": "26.6", "python": "3.12.13", "mlx": "0.32.4", "mlx_lm": "0.32.2", "numpy": "2.5.4", "git": ""}, "seed": 0, "warmup": false, "repeat": 2, "family": "code", "prompt": "Write a Python function that parses a CSV file of timestamps", "ts": "2026-11-01T01:45:08", "prompt_tokens": 25, "gen_tokens": 64, "ttft_ms": 59.67658292502165, "prompt_tps": 422.439421145433, "gen_tps": 121.7417052208992, "decode_tps_wall": 119.84254969519033, "itl_ms_p50": 8.343541994690895, "itl_ms_p95": 8.473082911223173, "itl_ms_p99": 8.57179204467684, "itl_ms_mean": 8.344281747538064, "total_s": 0.5853663330199197, "peak_mem_gb": 17.250497668, "text": "import csv\nfrom datetime import datetime\nimport statistics\n\ndef median_inter_arrival_time(csv_file_path):\n \"\"\"\n Parses a CSV file containing timestamps and returns the median inter-arrival time ", "cache_hit_rate": 1.0, "cache_misses": 0, "cache_hits": 34176, "stall_s": 0.0, "hits_device": 34176, "layers_complete": 48, "prefetch": null, "ssd_bytes": 0, "ssd_read_s": 0.0}
added benchmarks/raw/tests/m3u96a/greedy_qwen3_moe_cap32_20261101T014433.json +14 −0
@@ -0,0 +1,14 @@
1+[
2+ {
3+ "prompt": "The capital of Canada is",
4+ "ref": "Ottawa, located in the province of Ontario. It is situated on the Ottawa River, which forms the border between Ontario and Quebec. Ottawa was chosen as the capital",
5+ "titan": "Ottawa, located in the province of Ontario. It is situated on the Ottawa River, which forms the border between Ontario and Quebec. Ottawa was chosen as the capital",
6+ "equal": true
7+ },
8+ {
9+ "prompt": "def fibonacci(n):\n \"\"\"Return the n-th",
10+ "ref": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n",
11+ "titan": " if n < 0:\n raise ValueError(\"n must be non-negative\")\n if n == 0:\n return 0\n if n",
12+ "equal": true
13+ }
14+]
\ No newline at end of file
added benchmarks/raw/tests/m3u96a/numerical_qwen3_moe_cap128_2026-11-01T014417.json +50 −0
@@ -0,0 +1,50 @@
1+{
2+ "capacity": 128,
3+ "prompts": [
4+ {
5+ "prompt": "The capital of Canada is",
6+ "tokens": 5,
7+ "max_abs_dlogit": 0.0,
8+ "argmax_equal": true,
9+ "hit_rate": 0.0,
10+ "misses": 1207,
11+ "stall_s": 0.23856342188082635,
12+ "layers_routed": 48
13+ },
14+ {
15+ "prompt": "def fibonacci(n):\n \"\"\"Return the n-th",
16+ "tokens": 13,
17+ "max_abs_dlogit": 0.0,
18+ "argmax_equal": true,
19+ "hit_rate": 0.3070747616658304,
20+ "misses": 1381,
21+ "stall_s": 0.27579883276484907,
22+ "layers_routed": 48
23+ },
24+ {
25+ "prompt": "Q: If a train travels 60 km in 45 minute",
26+ "tokens": 27,
27+ "max_abs_dlogit": 0.0,
28+ "argmax_equal": true,
29+ "hit_rate": 0.6245239908606245,
30+ "misses": 986,
31+ "stall_s": 0.19227600295562297,
32+ "layers_routed": 48
33+ },
34+ {
35+ "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent",
36+ "tokens": 22,
37+ "max_abs_dlogit": 0.0,
38+ "argmax_equal": true,
39+ "hit_rate": 0.6931376780319378,
40+ "misses": 711,
41+ "stall_s": 0.14171795325819403,
42+ "layers_routed": 48
43+ }
44+ ],
45+ "tol": 0.001,
46+ "ts": "2026-11-01T01:44:17",
47+ "max_abs_dlogit_worst": 0.0,
48+ "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa",
49+ "model_type": "qwen3_moe"
50+}
\ No newline at end of file
added benchmarks/raw/tests/m3u96a/numerical_qwen3_moe_cap16_2026-11-01T014425.json +50 −0
@@ -0,0 +1,50 @@
1+{
2+ "capacity": 16,
3+ "prompts": [
4+ {
5+ "prompt": "The capital of Canada is",
6+ "tokens": 5,
7+ "max_abs_dlogit": 0.0,
8+ "argmax_equal": true,
9+ "hit_rate": 0.20887728459530025,
10+ "misses": 1212,
11+ "stall_s": 0.2369246652815491,
12+ "layers_routed": 111
13+ },
14+ {
15+ "prompt": "def fibonacci(n):\n \"\"\"Return the n-th",
16+ "tokens": 13,
17+ "max_abs_dlogit": 0.0,
18+ "argmax_equal": true,
19+ "hit_rate": 0.3497467642093416,
20+ "misses": 2311,
21+ "stall_s": 0.45020441873930395,
22+ "layers_routed": 254
23+ },
24+ {
25+ "prompt": "Q: If a train travels 60 km in 45 minute",
26+ "tokens": 27,
27+ "max_abs_dlogit": 0.0,
28+ "argmax_equal": true,
29+ "hit_rate": 0.38492431263515603,
30+ "misses": 3982,
31+ "stall_s": 0.7945379961747676,
32+ "layers_routed": 452
33+ },
34+ {
35+ "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent",
36+ "tokens": 22,
37+ "max_abs_dlogit": 0.0,
38+ "argmax_equal": true,
39+ "hit_rate": 0.4454260997607215,
40+ "misses": 3013,
41+ "stall_s": 0.5720772070344537,
42+ "layers_routed": 388
43+ }
44+ ],
45+ "tol": 0.001,
46+ "ts": "2026-11-01T01:44:25",
47+ "max_abs_dlogit_worst": 0.0,
48+ "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa",
49+ "model_type": "qwen3_moe"
50+}
\ No newline at end of file
added benchmarks/raw/tests/m3u96a/numerical_qwen3_moe_cap32_2026-11-01T014422.json +50 −0
@@ -0,0 +1,50 @@
1+{
2+ "capacity": 32,
3+ "prompts": [
4+ {
5+ "prompt": "The capital of Canada is",
6+ "tokens": 5,
7+ "max_abs_dlogit": 0.0,
8+ "argmax_equal": true,
9+ "hit_rate": 0.0008278145695364238,
10+ "misses": 1207,
11+ "stall_s": 0.236716914572753,
12+ "layers_routed": 49
13+ },
14+ {
15+ "prompt": "def fibonacci(n):\n \"\"\"Return the n-th",
16+ "tokens": 13,
17+ "max_abs_dlogit": 0.0,
18+ "argmax_equal": true,
19+ "hit_rate": 0.4050682261208577,
20+ "misses": 1526,
21+ "stall_s": 0.2965041723800823,
22+ "layers_routed": 96
23+ },
24+ {
25+ "prompt": "Q: If a train travels 60 km in 45 minute",
26+ "tokens": 27,
27+ "max_abs_dlogit": 0.0,
28+ "argmax_equal": true,
29+ "hit_rate": 0.4854474370112945,
30+ "misses": 2369,
31+ "stall_s": 0.4713788740336895,
32+ "layers_routed": 164
33+ },
34+ {
35+ "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent",
36+ "tokens": 22,
37+ "max_abs_dlogit": 0.0,
38+ "argmax_equal": true,
39+ "hit_rate": 0.452463768115942,
40+ "misses": 1889,
41+ "stall_s": 0.36406895343679935,
42+ "layers_routed": 124
43+ }
44+ ],
45+ "tol": 0.001,
46+ "ts": "2026-11-01T01:44:22",
47+ "max_abs_dlogit_worst": 0.0,
48+ "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa",
49+ "model_type": "qwen3_moe"
50+}
\ No newline at end of file
added benchmarks/raw/tests/m3u96a/numerical_qwen3_moe_cap64_2026-11-01T014420.json +50 −0
@@ -0,0 +1,50 @@
1+{
2+ "capacity": 64,
3+ "prompts": [
4+ {
5+ "prompt": "The capital of Canada is",
6+ "tokens": 5,
7+ "max_abs_dlogit": 0.0,
8+ "argmax_equal": true,
9+ "hit_rate": 0.0,
10+ "misses": 1207,
11+ "stall_s": 0.2353273737244308,
12+ "layers_routed": 48
13+ },
14+ {
15+ "prompt": "def fibonacci(n):\n \"\"\"Return the n-th",
16+ "tokens": 13,
17+ "max_abs_dlogit": 0.0,
18+ "argmax_equal": true,
19+ "hit_rate": 0.3070747616658304,
20+ "misses": 1381,
21+ "stall_s": 0.2662418349646032,
22+ "layers_routed": 48
23+ },
24+ {
25+ "prompt": "Q: If a train travels 60 km in 45 minute",
26+ "tokens": 27,
27+ "max_abs_dlogit": 0.0,
28+ "argmax_equal": true,
29+ "hit_rate": 0.6203536629375677,
30+ "misses": 1052,
31+ "stall_s": 0.20653866743668914,
32+ "layers_routed": 54
33+ },
34+ {
35+ "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent",
36+ "tokens": 22,
37+ "max_abs_dlogit": 0.0,
38+ "argmax_equal": true,
39+ "hit_rate": 0.6107034958998705,
40+ "misses": 902,
41+ "stall_s": 0.1756609968142584,
42+ "layers_routed": 48
43+ }
44+ ],
45+ "tol": 0.001,
46+ "ts": "2026-11-01T01:44:20",
47+ "max_abs_dlogit_worst": 0.0,
48+ "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--Qwen3-30B-A3B-Instruct-2507-4bit/snapshots/e9675aa3ca5f900ccef55267914466d55ab325fa",
49+ "model_type": "qwen3_moe"
50+}
\ No newline at end of file
added benchmarks/raw/tests/m3u96a/pytest_qwen3_m3u96a_20261101T014415.txt +2 −0
@@ -0,0 +1,2 @@
1+......ss [100%]
2+6 passed, 2 skipped in 18.17s
added benchmarks/scripts/run_cold_nvme_laptop.sh +17 −0
@@ -0,0 +1,17 @@
1+#!/bin/bash
2+# Cold-NVMe tier experiment on the laptop: purge the page cache before each configuration, open the checkpoint with F_NOCACHE,
3+# compare demand loading with prefetch predictors at 16 and 32 slots on held-out prompts. Writes one JSONL (append-only).
4+cd "$(dirname "$0")/../.."
5+M=$(ls -d ~/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/*)
6+OUT=benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl
7+mkdir -p $(dirname $OUT)
8+for cap in 16 32; do
9+ for cfg in "none 8" "transition 8" "transition2 8" "transition3 8" "prev_rank 16" "transition2 16"; do
10+ set -- $cfg; pr=$1; m=$2
11+ echo "$SUDO_PW" | sudo -S purge 2>/dev/null; sleep 2
12+ .venv/bin/python benchmarks/scripts/bench_decode.py --model $M --backend titan --capacity $cap --predictor $pr --m $m --nocache \
13+ --traces benchmarks/raw/gateC/traces_olmoe_v2_laptop --families general,code,reasoning --split heldout --repeats 2 --max-tokens 64 \
14+ --tag cold_nvme --out $OUT 2>&1 | grep -v Fetching | tail -2
15+ done
16+done
17+echo DONE
added paper/main.pdf +0 −0

Binary file not shown.

modified paper/main.tex +1 −1
@@ -68,7 +68,7 @@
68 \newcommand{\R}{\mathbb{R}} 68 \newcommand{\R}{\mathbb{R}}
69 \newcommand{\Ex}{\mathbb{E}} 69 \newcommand{\Ex}{\mathbb{E}}
70 \newcommand{\ind}{\mathbb{1}} 70 \newcommand{\ind}{\mathbb{1}}
71−\newcommand{\toks}{\mathrm{tok/s}} 71+\newcommand{\tps}{tok/s}
72 \newcommand{\code}[1]{\texttt{#1}} 72 \newcommand{\code}[1]{\texttt{#1}}
73 \newcommand{\titan}{TITAN-MoE} 73 \newcommand{\titan}{TITAN-MoE}
74 \newcommand{\gatherqmm}{\code{gather\_qmm}} 74 \newcommand{\gatherqmm}{\code{gather\_qmm}}
modified paper/sections/ablations.tex +1 −1
@@ -5,7 +5,7 @@ transport $\times$ kernels $\times$ batch) is executed gate by gate. In this ver
5 \begin{itemize} 5 \begin{itemize}
6 \item \textbf{Install path} (per-miss synchronisation vs lazy batched installs): $+80$ to $+90\,\%$ decode throughput at 16 slots 6 \item \textbf{Install path} (per-miss synchronisation vs lazy batched installs): $+80$ to $+90\,\%$ decode throughput at 16 slots
7 (Section~\ref{sec:implementation}). 7 (Section~\ref{sec:implementation}).
8− \item \textbf{Fast path} (device-side slot map when a layer is complete): 203 $\to$ 489~\toks{} at 64 slots. 8+ \item \textbf{Fast path} (device-side slot map when a layer is complete): 203 $\to$ 489~\tps{} at 64 slots.
9 \item \textbf{Eviction policy} (LRU vs LFU): within 0.01 hit rate at every capacity in simulation. 9 \item \textbf{Eviction policy} (LRU vs LFU): within 0.01 hit rate at every capacity in simulation.
10 \item \textbf{Predictor} (none / prev-rank / transition$_d$ / probe / oracle) and \textbf{depth}: Table~\ref{tab:sim}, \textsc{pending} until the v2 10 \item \textbf{Predictor} (none / prev-rank / transition$_d$ / probe / oracle) and \textbf{depth}: Table~\ref{tab:sim}, \textsc{pending} until the v2
11 simulation and its online confirmation complete. 11 simulation and its online confirmation complete.
modified paper/sections/conclusion.tex +1 −1
@@ -1,7 +1,7 @@
1 \section{Conclusion} 1 \section{Conclusion}
2 \label{sec:conclusion} 2 \label{sec:conclusion}
3 We have built an MLX-native MoE runtime whose bounded expert residency is semantically invisible (bit-identical logits to mlx-lm) 3 We have built an MLX-native MoE runtime whose bounded expert residency is semantically invisible (bit-identical logits to mlx-lm)
4−and whose all-resident path costs nothing (489 vs 494~\toks{}), characterised the cluster it will run on as it actually is 4+and whose all-resident path costs nothing (489 vs 494~\tps{}), characterised the cluster it will run on as it actually is
5 (gigabit Ethernet, no Thunderbolt), and obtained a first negative result that the formulation explains: one-layer-ahead 5 (gigabit Ethernet, no Thunderbolt), and obtained a first negative result that the formulation explains: one-layer-ahead
6 prefetching cannot pay when the fetch latency exceeds the per-layer compute time. The next steps are fixed by the protocol: 6 prefetching cannot pay when the fetch latency exceeds the per-layer compute time. The next steps are fixed by the protocol:
7 depth-$d$ and token-horizon prefetching against the cold-NVMe tier, the medium model on nodes that cannot hold it, the 7 depth-$d$ and token-horizon prefetching against the cold-NVMe tier, the medium model on nodes that cannot hold it, the
modified paper/sections/formulation.tex +1 −1
@@ -74,7 +74,7 @@ A prefetch can only reduce latency if
74 r'\,\min(\lambda, d\,\tau_\ell) \;>\; m(1-q)\,\kappa\;/\;K(1-h), 74 r'\,\min(\lambda, d\,\tau_\ell) \;>\; m(1-q)\,\kappa\;/\;K(1-h),
75 \label{eq:condition} 75 \label{eq:condition}
76 \end{equation} 76 \end{equation}
77−and it can \emph{remove} the stall only if $d\,\tau_\ell \ge \lambda$. On the laptop, $\tau_\ell = 0.128$~ms (489~\toks{} over 77+and it can \emph{remove} the stall only if $d\,\tau_\ell \ge \lambda$. On the laptop, $\tau_\ell = 0.128$~ms (489~\tps{} over
78 16 layers), so a page-cache fetch ($\lambda = 0.21$~ms) needs $d \ge 2$ and a cold-NVMe fetch ($\lambda = 0.43$~ms) needs 78 16 layers), so a page-cache fetch ($\lambda = 0.21$~ms) needs $d \ge 2$ and a cold-NVMe fetch ($\lambda = 0.43$~ms) needs
79 $d \ge 4$; a LAN fetch ($\lambda \approx 28$~ms) can never be hidden within a token on this model, which is why weights are not 79 $d \ge 4$; a LAN fetch ($\lambda \approx 28$~ms) can never be hidden within a token on this model, which is why weights are not
80 moved over the LAN during decode in \titan{} and remote experts are instead executed where they reside. The one-layer online 80 moved over the LAN during decode in \titan{} and remote experts are instead executed where they reside. The one-layer online
modified paper/sections/implementation.tex +2 −2
@@ -12,8 +12,8 @@ experts per call 0.50~ms. The slot table with \gatherqmm{} is therefore both the
12 (\code{benchmarks/raw/gateB/design/}). 12 (\code{benchmarks/raw/gateB/design/}).
13 13
14 \paragraph{No per-miss synchronisation.} The first version evaluated the table after every miss; removing that 14 \paragraph{No per-miss synchronisation.} The first version evaluated the table after every miss; removing that
15−synchronisation and batching the reads of a layer's misses raised decode throughput at 16 slots from 28 to 51~\toks{} 15+synchronisation and batching the reads of a layer's misses raised decode throughput at 16 slots from 28 to 51~\tps{}
16−(general prompts) and from 41 to 73~\toks{} (code), with the stall halved 16+(general prompts) and from 41 to 73~\tps{} (code), with the stall halved
17 (\code{benchmarks/raw/gateC/prefetch\_online\_laptop/}). The per-miss cost on the page-cache tier is now 0.21~ms: 0.13~ms 17 (\code{benchmarks/raw/gateC/prefetch\_online\_laptop/}). The per-miss cost on the page-cache tier is now 0.21~ms: 0.13~ms
18 of \code{pread}, 0.06~ms of array creation and the remainder in the lazy install. 18 of \code{pread}, 0.06~ms of array creation and the remainder in the lazy install.
19 19
modified paper/sections/results.tex +2 −2
@@ -25,7 +25,7 @@ page-cached checkpoint, \code{benchmarks/raw/gateB/capacity\_sweep\_laptop/sweep
25 \label{tab:capacity} 25 \label{tab:capacity}
26 \begin{tabular}{llrrr} 26 \begin{tabular}{llrrr}
27 \toprule 27 \toprule
28−Backend & Residency & decode \toks{} & hit rate & stall / 64 tokens \\ 28+Backend & Residency & decode \tps{} & hit rate & stall / 64 tokens \\
29 \midrule 29 \midrule
30 mlx-lm & all & 491--496 & -- & -- \\ 30 mlx-lm & all & 491--496 & -- & -- \\
31 \titan{} & 64 slots, preloaded & 489 & 1.00 & 0 \\ 31 \titan{} & 64 slots, preloaded & 489 & 1.00 & 0 \\
@@ -54,7 +54,7 @@ log-probabilities only 0.16 with these few traces. The v2 traces (65 prompts, 6
54 \subsection{Prefetching (H1)} 54 \subsection{Prefetching (H1)}
55 \label{sec:results-prefetch} 55 \label{sec:results-prefetch}
56 With the one-layer horizon the online prefetcher raised the hit rate from 0.48 to 0.63 (general) and from 0.67 to 0.73 56 With the one-layer horizon the online prefetcher raised the hit rate from 0.48 to 0.63 (general) and from 0.67 to 0.73
57−(code) but reduced throughput from 51 to 35 and from 73 to 56~\toks{} (Table~\ref{tab:capacity}): the lead time 57+(code) but reduced throughput from 51 to 35 and from 73 to 56~\tps{} (Table~\ref{tab:capacity}): the lead time
58 $d\,\tau_\ell = 0.13$~ms is shorter than the 0.21~ms fetch, so predicted experts arrive late and are waited for, and the 58 $d\,\tau_\ell = 0.13$~ms is shorter than the 0.21~ms fetch, so predicted experts arrive late and are waited for, and the
59 50\,\% of wrong predictions add traffic. This is exactly the regime excluded by condition~\eqref{eq:condition}. 59 50\,\% of wrong predictions add traffic. This is exactly the regime excluded by condition~\eqref{eq:condition}.
60 Depth-$d$ and token-horizon prefetching, and the cold-NVMe tier: \textsc{pending} (next experiments of Gate C). 60 Depth-$d$ and token-horizon prefetching, and the cold-NVMe tier: \textsc{pending} (next experiments of Gate C).
modified paper/sections/setup.tex +1 −1
@@ -50,6 +50,6 @@ and $\ge 5$ in the final sweeps.
50 50
51 \subsection{Tiers and constants used by the simulator} 51 \subsection{Tiers and constants used by the simulator}
52 Measured on the laptop: page-cache fetch of one OLMoE expert 0.21~ms (batched demand path), cold NVMe 0.43~ms (F\_NOCACHE after 52 Measured on the laptop: page-cache fetch of one OLMoE expert 0.21~ms (batched demand path), cold NVMe 0.43~ms (F\_NOCACHE after
53−\code{purge}, single reader), 1~GbE transfer $\approx 28$~ms; per-layer decode compute $\tau_\ell = 0.128$~ms (489~\toks{}). 53+\code{purge}, single reader), 1~GbE transfer $\approx 28$~ms; per-layer decode compute $\tau_\ell = 0.128$~ms (489~\tps{}).
54 The trace-driven simulator (\code{benchmarks/scripts/simulate\_cache.py}) is exact for hits and misses and uses these constants 54 The trace-driven simulator (\code{benchmarks/scripts/simulate\_cache.py}) is exact for hits and misses and uses these constants
55 for stall estimates. 55 for stall estimates.
added paper/tables/cold.tex +14 −0
@@ -0,0 +1,14 @@
1+\begin{table}[t]
2+\centering\small
3+\caption{Cold-NVMe tier on the M5 Max laptop (purge + F\_NOCACHE), OLMoE 4-bit, held-out prompts, 64 tokens.}
4+\label{tab:cold}
5+\begin{tabular}{llrrrrrr}
6+\toprule
7+Backend & cfg & $n$ & decode tok/s (median) & p95 ITL ms & hit & stall s & TTFT ms \\
8+\midrule
9+\bottomrule
10+\end{tabular}
11+\begin{tablenotes}\footnotesize
12+\item Sources: \code{benchmarks/raw/gateC/cold\_nvme\_laptop/sweep.jsonl}.
13+\end{tablenotes}
14+\end{table}
added paper/tables/qwen3.tex +16 −0
@@ -0,0 +1,16 @@
1+\begin{table}[t]
2+\centering\small
3+\caption{Qwen3-30B-A3B-Instruct-2507 4-bit on M3U96a (M3 Ultra, 96 GB): mlx-lm vs TITAN all-resident (128 slots, preloaded), 64 tokens, 3 repeats.}
4+\label{tab:qwen3}
5+\begin{tabular}{llrrrrrr}
6+\toprule
7+Backend & cfg & $n$ & decode tok/s (median) & p95 ITL ms & hit & stall s & TTFT ms \\
8+\midrule
9+mlx\_lm & -- & 18 & 121.7 & 8.4 & -- & -- & 50 \\
10+titan & C=128, none, m=8 & 18 & 121.6 & 8.5 & 1.000 & 0.00 & 51 \\
11+\bottomrule
12+\end{tabular}
13+\begin{tablenotes}\footnotesize
14+\item Sources: \code{benchmarks/raw/gateC/qwen3\_m3u96a/baseline.jsonl}.
15+\end{tablenotes}
16+\end{table}
added paper/tables/sim.tex +29 −0
@@ -0,0 +1,29 @@
1+\begin{table}[t]
2+\centering\small
3+\caption{Trace-driven simulation (OLMoE, per-layer LRU tables, cold per prompt): hit rate and modelled stall per token by predictor, split and capacity $C$.}
4+\label{tab:sim}
5+\begin{tabular}{llrrrrrrrr}
6+\toprule
7+Predictor & split & \multicolumn{2}{c}{$C=16$} & \multicolumn{2}{c}{$C=24$} & \multicolumn{2}{c}{$C=32$} & \multicolumn{2}{c}{$C=48$} \\
8+ & & hit & stall & hit & stall & hit & stall & hit & stall \\
9+\midrule
10+none & fit & 0.577 & 23.3 & 0.706 & 16.2 & 0.804 & 10.8 & 0.931 & 3.8 \\
11+none & heldout & 0.581 & 23.1 & 0.706 & 16.2 & 0.806 & 10.7 & 0.933 & 3.7 \\
12+prev\_rank & fit & 0.545 & 25.0 & 0.665 & 18.4 & 0.770 & 12.7 & 0.919 & 4.5 \\
13+prev\_rank & heldout & 0.556 & 24.4 & 0.670 & 18.1 & 0.771 & 12.6 & 0.920 & 4.4 \\
14+transition & fit & 0.680 & 17.3 & 0.770 & 12.5 & 0.839 & 8.8 & 0.940 & 3.3 \\
15+transition & heldout & 0.686 & 17.0 & 0.771 & 12.5 & 0.840 & 8.7 & 0.942 & 3.2 \\
16+transition2 & fit & 0.663 & 18.0 & 0.758 & 13.0 & 0.832 & 9.1 & 0.938 & 3.4 \\
17+transition2 & heldout & 0.672 & 17.6 & 0.761 & 12.9 & 0.833 & 9.0 & 0.940 & 3.3 \\
18+transition3 & fit & 0.651 & 18.5 & 0.749 & 13.5 & 0.826 & 9.4 & 0.937 & 3.4 \\
19+transition3 & heldout & 0.660 & 18.1 & 0.752 & 13.3 & 0.828 & 9.3 & 0.939 & 3.3 \\
20+probe & fit & 0.495 & 27.7 & 0.626 & 20.5 & 0.737 & 14.4 & 0.903 & 5.3 \\
21+probe & heldout & 0.504 & 27.2 & 0.630 & 20.3 & 0.738 & 14.4 & 0.903 & 5.3 \\
22+oracle & fit & 0.938 & 3.0 & 0.959 & 2.0 & 0.973 & 1.4 & 0.991 & 0.5 \\
23+oracle & heldout & 0.940 & 2.9 & 0.959 & 2.0 & 0.972 & 1.4 & 0.991 & 0.5 \\
24+\bottomrule
25+\end{tabular}
26+\begin{tablenotes}\footnotesize
27+\item Source: \code{benchmarks/processed/gateC/sim\_olmoe\_v2\_ssd043\_m8.json}; t\_read 0.43 ms, t\_layer 0.128 ms, 1 loader(s); hit = per-layer hit rate, stall in ms per token (modelled).
28+\end{tablenotes}
29+\end{table}
modified research/LOG.md +9 −0
@@ -70,3 +70,12 @@ Chronological, append-only. Times are local (America/Toronto). Every entry names
70 1-layer horizon*; deeper horizons (transition2/3/4) and the token horizon are being simulated (sim v2 on the 65-prompt traces). 70 1-layer horizon*; deeper horizons (transition2/3/4) and the token horizon are being simulated (sim v2 on the 65-prompt traces).
71 - Routing traces v2 collected (`benchmarks/raw/gateC/traces_olmoe_v2_laptop/`, 65 prompts, 6 families incl. long-context and drift, 71 - Routing traces v2 collected (`benchmarks/raw/gateC/traces_olmoe_v2_laptop/`, 65 prompts, 6 families incl. long-context and drift,
72 up to 384 generated tokens each). 72 up to 384 generated tokens each).
73+- **Qwen3-30B-A3B-Instruct-2507-4bit on M3U96a** (M3 Ultra 96 GB): checkpoint is in the *stacked* `switch_mlp` layout → registry
74+ extended (per-expert byte ranges = slices of the first axis; `tests/test_registry_stacked.py` byte-equal to `mx.load`). 2.53 MiB per
75+ expert, 16.3 GB of experts, 0.87 GB dense, 384 experts (0.97 GiB) per decode token; routers are 8-bit. Tests on M3U96a
76+ (`benchmarks/raw/tests/m3u96a/pytest_qwen3_m3u96a_20261101T014415.txt`, 6 passed): logits **max |Δ| = 0.0** at 128/64/32/16 slots,
77+ greedy 32-token decode identical at 32 slots. Baselines (`benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl`, 64 tokens, 3 repeats):
78+ mlx-lm **121.3–121.6 tok/s** decode, prefill 339–434 tok/s; TITAN all-resident (128 slots, preloaded) **121.5–121.9 tok/s** — parity.
79+- Cluster venvs ready on M3U96a, M3U96b, M4M64a, M2U64, M4M64c (`scripts/cluster_setup.sh`, mlx 0.32.4 / mlx-lm 0.32.2 everywhere).
80+- Paper skeleton v0.1 compiles (24 pages; `tab:sim` pending the v2 simulation). Cold-NVMe prefetch sweep launched on the laptop
81+ (`benchmarks/scripts/run_cold_nvme_laptop.sh`: purge + F_NOCACHE, 16/32 slots, none/transition{1,2,3}/prev_rank, held-out).
added scripts/make_tables.py +57 −0
@@ -0,0 +1,57 @@
1+#!/usr/bin/env python3
2+"""Generate LaTeX table fragments under paper/tables/ from processed/raw logs. Every number in the paper's tables comes from here."""
3+import json, os, sys, glob, statistics
4+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
5+OUT = os.path.join(ROOT, "paper", "tables"); os.makedirs(OUT, exist_ok=True)
6+
7+def sim_table(path, label, caption):
8+ d = json.load(open(path)); rows = d["results"]
9+ caps = sorted({r["capacity"] for r in rows}); preds = []
10+ for r in rows:
11+ if r["predictor"] not in preds: preds.append(r["predictor"])
12+ lines = ["\\begin{table}[t]", "\\centering\\small", f"\\caption{{{caption}}}", f"\\label{{{label}}}",
13+ "\\begin{tabular}{ll" + "rr" * len(caps) + "}", "\\toprule",
14+ "Predictor & split & " + " & ".join(f"\\multicolumn{{2}}{{c}}{{$C={c}$}}" for c in caps) + " \\\\",
15+ " & & " + " & ".join("hit & stall" for _ in caps) + " \\\\", "\\midrule"]
16+ for p in preds:
17+ for split in ("fit", "heldout"):
18+ cells = []
19+ for c in caps:
20+ m = [r for r in rows if r["predictor"] == p and r["split"] == split and r["capacity"] == c and r["policy"] == "lru"]
21+ cells.append(f"{m[0]['hit_rate']:.3f} & {m[0]['stall_ms_per_token']:.1f}" if m else "-- & --")
22+ lines.append(f"{p.replace('_', '\\_')} & {split} & " + " & ".join(cells) + " \\\\")
23+ lines += ["\\bottomrule", "\\end{tabular}", "\\begin{tablenotes}\\footnotesize", f"\\item Source: \\code{{{os.path.relpath(path, ROOT).replace('_', '\\_')}}}; t\\_read {d['t_read_ms']} ms, t\\_layer {d['t_layer_ms']} ms, {d['loaders']} loader(s); hit = per-layer hit rate, stall in ms per token (modelled).", "\\end{tablenotes}", "\\end{table}"]
24+ open(os.path.join(OUT, f"{label.split(':')[-1]}.tex"), "w").write("\n".join(lines) + "\n")
25+ print("wrote", label)
26+
27+def bench_summary(paths, label, caption, keys=("backend", "capacity", "predictor", "m", "nocache", "split")):
28+ """Median decode tok/s, hit rate and stall per configuration from bench_decode JSONL files (warm-up excluded)."""
29+ recs = []
30+ for p in paths:
31+ recs += [json.loads(l) for l in open(p) if l.strip()]
32+ recs = [r for r in recs if not r.get("warmup")]
33+ groups = {}
34+ for r in recs:
35+ k = tuple(r.get(x) for x in keys); groups.setdefault(k, []).append(r)
36+ lines = ["\\begin{table}[t]", "\\centering\\small", f"\\caption{{{caption}}}", f"\\label{{{label}}}",
37+ "\\begin{tabular}{llrrrrrr}", "\\toprule", "Backend & cfg & $n$ & decode tok/s (median) & p95 ITL ms & hit & stall s & TTFT ms \\\\", "\\midrule"]
38+ for k in sorted(groups, key=lambda x: tuple(str(v) for v in x)):
39+ g = groups[k]
40+ med = lambda f: statistics.median([r[f] for r in g if r.get(f) is not None]) if any(r.get(f) is not None for r in g) else None
41+ cfg = f"C={k[1]}, {k[2]}, m={k[3]}" + (", cold" if k[4] else "") if k[0] == "titan" else "--"
42+ f = lambda v, fmt: (fmt % v) if v is not None else "--"
43+ lines.append(f"{k[0].replace('_', '\\_')} & {cfg.replace('_', '\\_')} & {len(g)} & {f(med('gen_tps'), '%.1f')} & {f(med('itl_ms_p95'), '%.1f')} & {f(med('cache_hit_rate'), '%.3f')} & {f(med('stall_s'), '%.2f')} & {f(med('ttft_ms'), '%.0f')} \\\\")
44+ lines += ["\\bottomrule", "\\end{tabular}", "\\begin{tablenotes}\\footnotesize", "\\item Sources: " + ", ".join(f"\\code{{{os.path.relpath(p, ROOT).replace('_', '\\_')}}}" for p in paths) + ".", "\\end{tablenotes}", "\\end{table}"]
45+ open(os.path.join(OUT, f"{label.split(':')[-1]}.tex"), "w").write("\n".join(lines) + "\n")
46+ print("wrote", label)
47+
48+if __name__ == "__main__":
49+ v2 = os.path.join(ROOT, "benchmarks/processed/gateC/sim_olmoe_v2_ssd043_m8.json")
50+ v1 = os.path.join(ROOT, "benchmarks/processed/gateC/sim_olmoe_laptop_ssd_v1.json")
51+ sim_table(v2 if os.path.exists(v2) else v1, "tab:sim", "Trace-driven simulation (OLMoE, per-layer LRU tables, cold per prompt): hit rate and modelled stall per token by predictor, split and capacity $C$.")
52+ cold = os.path.join(ROOT, "benchmarks/raw/gateC/cold_nvme_laptop/sweep.jsonl")
53+ if os.path.exists(cold):
54+ bench_summary([cold], "tab:cold", "Cold-NVMe tier on the M5 Max laptop (purge + F\\_NOCACHE), OLMoE 4-bit, held-out prompts, 64 tokens.")
55+ q = os.path.join(ROOT, "benchmarks/raw/gateC/qwen3_m3u96a/baseline.jsonl")
56+ if os.path.exists(q):
57+ bench_summary([q], "tab:qwen3", "Qwen3-30B-A3B-Instruct-2507 4-bit on M3U96a (M3 Ultra, 96 GB): mlx-lm vs TITAN all-resident (128 slots, preloaded), 64 tokens, 3 repeats.")
58
Menu

Theme