Gate C: predictors (prev_rank, transition depth d, probe), trace simulator, async prefetcher, lazy installs, miss-cost breakdown, v2 traces, LOG/DECISIONS
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
25 changed files +6,470 −24
added
benchmarks/configs/workloads_v2.yaml
+84 −0
@@ -0,0 +1,84 @@ | |||||
| 1 | +# Workload v2 (2026-11-01): larger prompt set for predictor fitting and held-out evaluation. Synthetic prompts written for this | ||||
| 2 | +# study. Families: general, code, reasoning, multilingual, longctx (long instructions), drift (domain switch mid-prompt). | ||||
| 3 | +families: | ||||
| 4 | + general: | ||||
| 5 | + fit: | ||||
| 6 | + - "Explain in three sentences why mixture-of-experts models are memory-bound during decoding." | ||||
| 7 | + - "Write a short paragraph describing the climate of Gatineau, Québec, across the four seasons." | ||||
| 8 | + - "Give five practical tips for a first-year university student learning to manage their time." | ||||
| 9 | + - "Describe how a hydroelectric dam converts the energy of falling water into electricity." | ||||
| 10 | + - "Write a friendly email inviting colleagues to a Friday afternoon seminar on housing economics." | ||||
| 11 | + - "What are the main arguments for and against remote work in knowledge industries?" | ||||
| 12 | + - "Explain the difference between weather and climate to a ten-year-old." | ||||
| 13 | + - "Draft a two-paragraph product description for a quiet mechanical keyboard." | ||||
| 14 | + - "List the steps to prepare a simple vegetable soup, with approximate timings." | ||||
| 15 | + - "Why do leaves change colour in autumn? Answer in one paragraph." | ||||
| 16 | + heldout: | ||||
| 17 | + - "Describe the main differences between a Mac Studio and a MacBook Pro for scientific computing." | ||||
| 18 | + - "Summarize the history of the Rideau Canal in one paragraph." | ||||
| 19 | + - "Write a short motivational note for someone starting to learn the piano as an adult." | ||||
| 20 | + - "What should a visitor know before hiking in Gatineau Park in winter?" | ||||
| 21 | + code: | ||||
| 22 | + fit: | ||||
| 23 | + - "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"\"\n" | ||||
| 24 | + - "Write a Python function that parses a CSV file of timestamps and returns the median inter-arrival time in milliseconds.\n\n```python\n" | ||||
| 25 | + - "Implement an LRU cache class in Python with get and put methods in O(1).\n\n```python\n" | ||||
| 26 | + - "Write a Python script that walks a directory tree and reports the total size per file extension.\n\n```python\n" | ||||
| 27 | + - "Implement binary search over a sorted list of integers in Python and return the insertion index when absent.\n\n```python\n" | ||||
| 28 | + - "Write a SQL query that returns the three most recent orders per customer from tables orders(customer_id, order_date, amount).\n\n```sql\n" | ||||
| 29 | + - "Write a JavaScript function that debounces another function with a configurable delay.\n\n```javascript\n" | ||||
| 30 | + - "Write a Rust function that counts word frequencies in a string and returns them sorted by count.\n\n```rust\n" | ||||
| 31 | + - "class Matrix:\n \"\"\"Minimal dense matrix with multiplication and transpose.\"\"\"\n def __init__(self, rows):\n" | ||||
| 32 | + - "Write a Python generator that yields sliding windows of size k over an iterable.\n\n```python\n" | ||||
| 33 | + heldout: | ||||
| 34 | + - "Write a C function that computes the dot product of two float arrays using NEON intrinsics.\n\n```c\n" | ||||
| 35 | + - "Write a bash script that lists the ten largest files under a directory.\n\n```bash\n" | ||||
| 36 | + - "Implement Dijkstra's shortest path in Python using a binary heap.\n\n```python\n" | ||||
| 37 | + - "Write a Go function that reads lines from stdin and prints the longest one.\n\n```go\n" | ||||
| 38 | + reasoning: | ||||
| 39 | + fit: | ||||
| 40 | + - "Q: If a train travels 60 km in 45 minutes, what is its average speed in km/h? Think step by step.\nA:" | ||||
| 41 | + - "Q: A rectangle has a perimeter of 36 cm and a length twice its width. What is its area? Think step by step.\nA:" | ||||
| 42 | + - "Q: Three friends split a bill of 84 dollars; one pays twice as much as each of the others. How much does each pay? Think step by step.\nA:" | ||||
| 43 | + - "Q: A store sells pens at 3 for 2 dollars. How much do 18 pens cost? Think step by step.\nA:" | ||||
| 44 | + - "Q: If today is Wednesday, what day of the week will it be in 100 days? Think step by step.\nA:" | ||||
| 45 | + - "Q: A car uses 7 litres per 100 km. How many litres for a 350 km trip, and the cost at 1.60 per litre? Think step by step.\nA:" | ||||
| 46 | + - "Q: The sum of two consecutive even numbers is 54. What are they? Think step by step.\nA:" | ||||
| 47 | + - "Q: A recipe for 4 people needs 300 g of flour. How much for 10 people? Think step by step.\nA:" | ||||
| 48 | + - "Q: A clock shows 3:15. What is the angle between the hour and minute hands? Think step by step.\nA:" | ||||
| 49 | + - "Q: If 5 machines make 5 widgets in 5 minutes, how long do 100 machines take to make 100 widgets? Think step by step.\nA:" | ||||
| 50 | + heldout: | ||||
| 51 | + - "Q: A tank fills in 6 hours with pipe A and 9 hours with pipe B. How long with both pipes? Think step by step.\nA:" | ||||
| 52 | + - "Q: What is the smallest positive integer divisible by 2, 3, 4, 5 and 6? Think step by step.\nA:" | ||||
| 53 | + - "Q: A shirt costs 40 dollars after a 20 percent discount. What was the original price? Think step by step.\nA:" | ||||
| 54 | + - "Q: Two dice are rolled. What is the probability that the sum is 7? Think step by step.\nA:" | ||||
| 55 | + multilingual: | ||||
| 56 | + fit: | ||||
| 57 | + - "Les modèles à mélange d'experts activent seulement une fraction de leurs paramètres parce que" | ||||
| 58 | + - "Explique en français pourquoi la mémoire unifiée des puces Apple est utile pour l'inférence des grands modèles de langage." | ||||
| 59 | + - "Rédige un court paragraphe sur l'histoire de la ville de Québec." | ||||
| 60 | + - "Quels sont les avantages du transport en commun dans une ville de taille moyenne ? Réponds en français." | ||||
| 61 | + - "Erkläre in drei Sätzen, warum Fahrräder in Städten nützlich sind." | ||||
| 62 | + - "Describe en español cómo se prepara un buen café con una cafetera italiana." | ||||
| 63 | + - "Explique en français la différence entre un prêt hypothécaire à taux fixe et à taux variable." | ||||
| 64 | + - "Scrivi un breve paragrafo sulla cucina tradizionale della Toscana." | ||||
| 65 | + heldout: | ||||
| 66 | + - "Décris en quelques phrases le fonctionnement d'un cache LRU." | ||||
| 67 | + - "¿Cuáles son las principales causas del cambio climático? Responde brevemente en español." | ||||
| 68 | + - "Beschreibe kurz, wie ein Mietvertrag in Deutschland funktioniert." | ||||
| 69 | + longctx: | ||||
| 70 | + fit: | ||||
| 71 | + - "You are an assistant helping an economics professor. Context: the course covers hedonic pricing, the sales comparison approach, the cost approach and the income approach to real estate valuation. Students have access to a database of 500,000 Quebec transactions from 2021 to 2026 with attributes such as living area, lot size, year built, number of bedrooms and bathrooms, municipality and sale date. The professor wants a tutorial exercise. Task: write detailed instructions for a two-hour lab in which students estimate a hedonic regression, interpret its coefficients, and use it to value three sample properties, including common pitfalls and how to check residuals." | ||||
| 72 | + - "Context: a small laboratory operates a cluster of twenty-nine Apple Silicon computers connected by gigabit Ethernet, with between 8 and 96 GB of unified memory each, used for scientific computing, web services and language-model inference. The laboratory wants a maintenance policy. Task: write a comprehensive maintenance checklist covering daily, weekly and monthly tasks, monitoring of temperature and disk usage, backup verification, software updates, security hygiene, and an incident response procedure for a power outage, with justification for each item." | ||||
| 73 | + - "Context: a municipality in Quebec is revising its property assessment roll. Current assessments date from three years ago; prices have risen unevenly across neighbourhoods; some property types (condominiums, plexes, single-family homes) show different trends; the municipality must explain changes to citizens. Task: write a structured briefing note of at least eight paragraphs for the city council describing the methodology options, their fairness implications, communication strategy, and a timeline." | ||||
| 74 | + heldout: | ||||
| 75 | + - "Context: a graduate student is designing a benchmark to compare inference runtimes for mixture-of-experts language models on consumer hardware. The runtimes differ in quantization, in how they store experts (in memory or on disk), and in whether they can use several machines. The student has access to three machines with different amounts of memory and a gigabit network. Task: write a detailed experimental protocol with workloads, metrics, controls, repetition strategy, statistical analysis and reporting guidelines, explaining the rationale behind each choice." | ||||
| 76 | + drift: | ||||
| 77 | + fit: | ||||
| 78 | + - "First, write a Python function that reverses a linked list.\n\n```python\n" | ||||
| 79 | + - "Explain the rules of ice hockey in two paragraphs, then write a SQL query counting goals per player from a table goals(player, minute)." | ||||
| 80 | + - "Résume en français l'intrigue d'un roman policier imaginaire, puis donne la solution de l'équation 3x + 7 = 22 étape par étape." | ||||
| 81 | + heldout: | ||||
| 82 | + - "Describe a sunset over the Ottawa River in one paragraph, then implement quicksort in Python.\n\n```python\n" | ||||
| 83 | + - "Q: What is 17 times 23? Think step by step.\nA: Then write a haiku about autumn in Québec." | ||||
| 84 | +output_lengths: [64, 256] | ||||
added
benchmarks/processed/gateC/sim_olmoe_laptop_ssd_v1.json
+4765 −0
@@ -0,0 +1,4765 @@ | |||||
| 1 | +{ | ||||
| 2 | + "cmd": "benchmarks/scripts/simulate_cache.py --traces benchmarks/raw/gateC/traces_olmoe_laptop --out benchmarks/processed/gateC/sim_olmoe_laptop_ssd_v1.json", | ||||
| 3 | + "ts": "2026-11-01T01:33:45", | ||||
| 4 | + "traces": "benchmarks/raw/gateC/traces_olmoe_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": 8, | ||||
| 14 | + "policy": "lru", | ||||
| 15 | + "predictor": "none", | ||||
| 16 | + "m": 8, | ||||
| 17 | + "hit_rate": 0.4094445257611241, | ||||
| 18 | + "misses_per_token": 75.59110070257611, | ||||
| 19 | + "stall_ms_per_token": 32.50417330210768, | ||||
| 20 | + "prefetch_loads_per_token": 0.0, | ||||
| 21 | + "prefetch_precision": null, | ||||
| 22 | + "loads_per_token": 75.59110070257611, | ||||
| 23 | + "pred_recall_at_k": null, | ||||
| 24 | + "tokens": 2135, | ||||
| 25 | + "families": { | ||||
| 26 | + "general": { | ||||
| 27 | + "hit_rate": 0.3551158874801902, | ||||
| 28 | + "stall_ms_per_token": 35.494421553090355 | ||||
| 29 | + }, | ||||
| 30 | + "code": { | ||||
| 31 | + "hit_rate": 0.4682576545778835, | ||||
| 32 | + "stall_ms_per_token": 29.2670986920333 | ||||
| 33 | + }, | ||||
| 34 | + "reasoning": { | ||||
| 35 | + "hit_rate": 0.3774561036789298, | ||||
| 36 | + "stall_ms_per_token": 34.26481605351171 | ||||
| 37 | + }, | ||||
| 38 | + "multilingual": { | ||||
| 39 | + "hit_rate": 0.3940161401098901, | ||||
| 40 | + "stall_ms_per_token": 33.353351648351634 | ||||
| 41 | + } | ||||
| 42 | + }, | ||||
| 43 | + "split": "fit" | ||||
| 44 | + }, | ||||
| 45 | + { | ||||
| 46 | + "capacity": 8, | ||||
| 47 | + "policy": "lru", | ||||
| 48 | + "predictor": "none", | ||||
| 49 | + "m": 8, | ||||
| 50 | + "hit_rate": 0.4148351054633472, | ||||
| 51 | + "misses_per_token": 74.90110650069157, | ||||
| 52 | + "stall_ms_per_token": 32.20747579529736, | ||||
| 53 | + "prefetch_loads_per_token": 0.0, | ||||
| 54 | + "prefetch_precision": null, | ||||
| 55 | + "loads_per_token": 74.90110650069157, | ||||
| 56 | + "pred_recall_at_k": null, | ||||
| 57 | + "tokens": 1446, | ||||
| 58 | + "families": { | ||||
| 59 | + "general": { | ||||
| 60 | + "hit_rate": 0.3655154520295203, | ||||
| 61 | + "stall_ms_per_token": 34.92202952029518 | ||||
| 62 | + }, | ||||
| 63 | + "code": { | ||||
| 64 | + "hit_rate": 0.4808007459312839, | ||||
| 65 | + "stall_ms_per_token": 28.57672694394212 | ||||
| 66 | + }, | ||||
| 67 | + "reasoning": { | ||||
| 68 | + "hit_rate": 0.38716947115384615, | ||||
| 69 | + "stall_ms_per_token": 33.730192307692306 | ||||
| 70 | + }, | ||||
| 71 | + "multilingual": { | ||||
| 72 | + "hit_rate": 0.38621794871794873, | ||||
| 73 | + "stall_ms_per_token": 33.78256410256409 | ||||
| 74 | + } | ||||
| 75 | + }, | ||||
| 76 | + "split": "heldout" | ||||
| 77 | + }, | ||||
| 78 | + { | ||||
| 79 | + "capacity": 8, | ||||
| 80 | + "policy": "lru", | ||||
| 81 | + "predictor": "prev_token", | ||||
| 82 | + "m": 8, | ||||
| 83 | + "hit_rate": 0.4094445257611241, | ||||
| 84 | + "misses_per_token": 75.59110070257611, | ||||
| 85 | + "stall_ms_per_token": 32.50417330210768, | ||||
| 86 | + "prefetch_loads_per_token": 0.0, | ||||
| 87 | + "prefetch_precision": null, | ||||
| 88 | + "loads_per_token": 75.59110070257611, | ||||
| 89 | + "pred_recall_at_k": null, | ||||
| 90 | + "tokens": 2135, | ||||
| 91 | + "families": { | ||||
| 92 | + "general": { | ||||
| 93 | + "hit_rate": 0.3551158874801902, | ||||
| 94 | + "stall_ms_per_token": 35.494421553090355 | ||||
| 95 | + }, | ||||
| 96 | + "code": { | ||||
| 97 | + "hit_rate": 0.4682576545778835, | ||||
| 98 | + "stall_ms_per_token": 29.2670986920333 | ||||
| 99 | + }, | ||||
| 100 | + "reasoning": { | ||||
| 101 | + "hit_rate": 0.3774561036789298, | ||||
| 102 | + "stall_ms_per_token": 34.26481605351171 | ||||
| 103 | + }, | ||||
| 104 | + "multilingual": { | ||||
| 105 | + "hit_rate": 0.3940161401098901, | ||||
| 106 | + "stall_ms_per_token": 33.353351648351634 | ||||
| 107 | + } | ||||
| 108 | + }, | ||||
| 109 | + "split": "fit" | ||||
| 110 | + }, | ||||
| 111 | + { | ||||
| 112 | + "capacity": 8, | ||||
| 113 | + "policy": "lru", | ||||
| 114 | + "predictor": "prev_token", | ||||
| 115 | + "m": 8, | ||||
| 116 | + "hit_rate": 0.4148351054633472, | ||||
| 117 | + "misses_per_token": 74.90110650069157, | ||||
| 118 | + "stall_ms_per_token": 32.20747579529736, | ||||
| 119 | + "prefetch_loads_per_token": 0.0, | ||||
| 120 | + "prefetch_precision": null, | ||||
| 121 | + "loads_per_token": 74.90110650069157, | ||||
| 122 | + "pred_recall_at_k": null, | ||||
| 123 | + "tokens": 1446, | ||||
| 124 | + "families": { | ||||
| 125 | + "general": { | ||||
| 126 | + "hit_rate": 0.3655154520295203, | ||||
| 127 | + "stall_ms_per_token": 34.92202952029518 | ||||
| 128 | + }, | ||||
| 129 | + "code": { | ||||
| 130 | + "hit_rate": 0.4808007459312839, | ||||
| 131 | + "stall_ms_per_token": 28.57672694394212 | ||||
| 132 | + }, | ||||
| 133 | + "reasoning": { | ||||
| 134 | + "hit_rate": 0.38716947115384615, | ||||
| 135 | + "stall_ms_per_token": 33.730192307692306 | ||||
| 136 | + }, | ||||
| 137 | + "multilingual": { | ||||
| 138 | + "hit_rate": 0.38621794871794873, | ||||
| 139 | + "stall_ms_per_token": 33.78256410256409 | ||||
| 140 | + } | ||||
| 141 | + }, | ||||
| 142 | + "split": "heldout" | ||||
| 143 | + }, | ||||
| 144 | + { | ||||
| 145 | + "capacity": 8, | ||||
| 146 | + "policy": "lru", | ||||
| 147 | + "predictor": "prev_rank", | ||||
| 148 | + "m": 8, | ||||
| 149 | + "hit_rate": 0.40930913348946135, | ||||
| 150 | + "misses_per_token": 75.60843091334894, | ||||
| 151 | + "stall_ms_per_token": 32.51162529274001, | ||||
| 152 | + "prefetch_loads_per_token": 0.04215456674473068, | ||||
| 153 | + "prefetch_precision": 0.13333333333333333, | ||||
| 154 | + "loads_per_token": 75.65058548009368, | ||||
| 155 | + "pred_recall_at_k": null, | ||||
| 156 | + "tokens": 2135, | ||||
| 157 | + "families": { | ||||
| 158 | + "general": { | ||||
| 159 | + "hit_rate": 0.35500445721077656, | ||||
| 160 | + "stall_ms_per_token": 35.500554675118885 | ||||
| 161 | + }, | ||||
| 162 | + "code": { | ||||
| 163 | + "hit_rate": 0.46808115338882283, | ||||
| 164 | + "stall_ms_per_token": 29.276813317479196 | ||||
| 165 | + }, | ||||
| 166 | + "reasoning": { | ||||
| 167 | + "hit_rate": 0.37742997491638797, | ||||
| 168 | + "stall_ms_per_token": 34.266254180602004 | ||||
| 169 | + }, | ||||
| 170 | + "multilingual": { | ||||
| 171 | + "hit_rate": 0.3938444368131868, | ||||
| 172 | + "stall_ms_per_token": 33.36280219780218 | ||||
| 173 | + } | ||||
| 174 | + }, | ||||
| 175 | + "split": "fit" | ||||
| 176 | + }, | ||||
| 177 | + { | ||||
| 178 | + "capacity": 8, | ||||
| 179 | + "policy": "lru", | ||||
| 180 | + "predictor": "prev_rank", | ||||
| 181 | + "m": 8, | ||||
| 182 | + "hit_rate": 0.4147648686030429, | ||||
| 183 | + "misses_per_token": 74.91009681881052, | ||||
| 184 | + "stall_ms_per_token": 32.211341632088526, | ||||
| 185 | + "prefetch_loads_per_token": 0.04080221300138313, | ||||
| 186 | + "prefetch_precision": 0.3220338983050847, | ||||
| 187 | + "loads_per_token": 74.9508990318119, | ||||
| 188 | + "pred_recall_at_k": null, | ||||
| 189 | + "tokens": 1446, | ||||
| 190 | + "families": { | ||||
| 191 | + "general": { | ||||
| 192 | + "hit_rate": 0.3654289667896679, | ||||
| 193 | + "stall_ms_per_token": 34.92678966789667 | ||||
| 194 | + }, | ||||
| 195 | + "code": { | ||||
| 196 | + "hit_rate": 0.48073010849909587, | ||||
| 197 | + "stall_ms_per_token": 28.580614828209747 | ||||
| 198 | + }, | ||||
| 199 | + "reasoning": { | ||||
| 200 | + "hit_rate": 0.3871444310897436, | ||||
| 201 | + "stall_ms_per_token": 33.731570512820504 | ||||
| 202 | + }, | ||||
| 203 | + "multilingual": { | ||||
| 204 | + "hit_rate": 0.3860176282051282, | ||||
| 205 | + "stall_ms_per_token": 33.79358974358974 | ||||
| 206 | + } | ||||
| 207 | + }, | ||||
| 208 | + "split": "heldout" | ||||
| 209 | + }, | ||||
| 210 | + { | ||||
| 211 | + "capacity": 8, | ||||
| 212 | + "policy": "lru", | ||||
| 213 | + "predictor": "transition", | ||||
| 214 | + "m": 8, | ||||
| 215 | + "hit_rate": 0.4211285128805621, | ||||
| 216 | + "misses_per_token": 74.09555035128805, | ||||
| 217 | + "stall_ms_per_token": 23.09395597189697, | ||||
| 218 | + "prefetch_loads_per_token": 84.55690866510538, | ||||
| 219 | + "prefetch_precision": 0.4305900990976519, | ||||
| 220 | + "loads_per_token": 158.65245901639344, | ||||
| 221 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 222 | + "tokens": 2135, | ||||
| 223 | + "families": { | ||||
| 224 | + "general": { | ||||
| 225 | + "hit_rate": 0.3951936410459588, | ||||
| 226 | + "stall_ms_per_token": 24.108852614896982 | ||||
| 227 | + }, | ||||
| 228 | + "code": { | ||||
| 229 | + "hit_rate": 0.44222837395957193, | ||||
| 230 | + "stall_ms_per_token": 22.29360523186686 | ||||
| 231 | + }, | ||||
| 232 | + "reasoning": { | ||||
| 233 | + "hit_rate": 0.4122073578595318, | ||||
| 234 | + "stall_ms_per_token": 23.424642140468233 | ||||
| 235 | + }, | ||||
| 236 | + "multilingual": { | ||||
| 237 | + "hit_rate": 0.42466517857142855, | ||||
| 238 | + "stall_ms_per_token": 22.912142857142857 | ||||
| 239 | + } | ||||
| 240 | + }, | ||||
| 241 | + "split": "fit" | ||||
| 242 | + }, | ||||
| 243 | + { | ||||
| 244 | + "capacity": 8, | ||||
| 245 | + "policy": "lru", | ||||
| 246 | + "predictor": "transition", | ||||
| 247 | + "m": 8, | ||||
| 248 | + "hit_rate": 0.3991506742738589, | ||||
| 249 | + "misses_per_token": 76.90871369294605, | ||||
| 250 | + "stall_ms_per_token": 23.938752420470248, | ||||
| 251 | + "prefetch_loads_per_token": 86.76832641770402, | ||||
| 252 | + "prefetch_precision": 0.39181617477105535, | ||||
| 253 | + "loads_per_token": 163.67704011065007, | ||||
| 254 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 255 | + "tokens": 1446, | ||||
| 256 | + "families": { | ||||
| 257 | + "general": { | ||||
| 258 | + "hit_rate": 0.3642614160516605, | ||||
| 259 | + "stall_ms_per_token": 25.31311808118083 | ||||
| 260 | + }, | ||||
| 261 | + "code": { | ||||
| 262 | + "hit_rate": 0.42673485533453887, | ||||
| 263 | + "stall_ms_per_token": 22.857540687160963 | ||||
| 264 | + }, | ||||
| 265 | + "reasoning": { | ||||
| 266 | + "hit_rate": 0.4127353766025641, | ||||
| 267 | + "stall_ms_per_token": 23.403250000000003 | ||||
| 268 | + }, | ||||
| 269 | + "multilingual": { | ||||
| 270 | + "hit_rate": 0.3842147435897436, | ||||
| 271 | + "stall_ms_per_token": 24.453641025641026 | ||||
| 272 | + } | ||||
| 273 | + }, | ||||
| 274 | + "split": "heldout" | ||||
| 275 | + }, | ||||
| 276 | + { | ||||
| 277 | + "capacity": 8, | ||||
| 278 | + "policy": "lru", | ||||
| 279 | + "predictor": "probe", | ||||
| 280 | + "m": 8, | ||||
| 281 | + "hit_rate": 0.1609192037470726, | ||||
| 282 | + "misses_per_token": 107.40234192037471, | ||||
| 283 | + "stall_ms_per_token": 33.152607025761114, | ||||
| 284 | + "prefetch_loads_per_token": 110.36768149882904, | ||||
| 285 | + "prefetch_precision": 0.1384259553971184, | ||||
| 286 | + "loads_per_token": 217.77002341920374, | ||||
| 287 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 288 | + "tokens": 2135, | ||||
| 289 | + "families": { | ||||
| 290 | + "general": { | ||||
| 291 | + "hit_rate": 0.18066561014263074, | ||||
| 292 | + "stall_ms_per_token": 32.40164817749605 | ||||
| 293 | + }, | ||||
| 294 | + "code": { | ||||
| 295 | + "hit_rate": 0.13261741973840666, | ||||
| 296 | + "stall_ms_per_token": 34.26192627824019 | ||||
| 297 | + }, | ||||
| 298 | + "reasoning": { | ||||
| 299 | + "hit_rate": 0.17545464046822742, | ||||
| 300 | + "stall_ms_per_token": 32.57655518394648 | ||||
| 301 | + }, | ||||
| 302 | + "multilingual": { | ||||
| 303 | + "hit_rate": 0.18013822115384615, | ||||
| 304 | + "stall_ms_per_token": 32.36457692307693 | ||||
| 305 | + } | ||||
| 306 | + }, | ||||
| 307 | + "split": "fit" | ||||
| 308 | + }, | ||||
| 309 | + { | ||||
| 310 | + "capacity": 8, | ||||
| 311 | + "policy": "lru", | ||||
| 312 | + "predictor": "probe", | ||||
| 313 | + "m": 8, | ||||
| 314 | + "hit_rate": 0.15590421853388658, | ||||
| 315 | + "misses_per_token": 108.04426002766252, | ||||
| 316 | + "stall_ms_per_token": 33.341687413554666, | ||||
| 317 | + "prefetch_loads_per_token": 110.74965421853389, | ||||
| 318 | + "prefetch_precision": 0.13184384054351084, | ||||
| 319 | + "loads_per_token": 218.7939142461964, | ||||
| 320 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 321 | + "tokens": 1446, | ||||
| 322 | + "families": { | ||||
| 323 | + "general": { | ||||
| 324 | + "hit_rate": 0.15515452029520296, | ||||
| 325 | + "stall_ms_per_token": 33.39635424354243 | ||||
| 326 | + }, | ||||
| 327 | + "code": { | ||||
| 328 | + "hit_rate": 0.14524468806509946, | ||||
| 329 | + "stall_ms_per_token": 33.738824593128356 | ||||
| 330 | + }, | ||||
| 331 | + "reasoning": { | ||||
| 332 | + "hit_rate": 0.16997195512820512, | ||||
| 333 | + "stall_ms_per_token": 32.7875128205128 | ||||
| 334 | + }, | ||||
| 335 | + "multilingual": { | ||||
| 336 | + "hit_rate": 0.2049278846153846, | ||||
| 337 | + "stall_ms_per_token": 31.384153846153847 | ||||
| 338 | + } | ||||
| 339 | + }, | ||||
| 340 | + "split": "heldout" | ||||
| 341 | + }, | ||||
| 342 | + { | ||||
| 343 | + "capacity": 8, | ||||
| 344 | + "policy": "lru", | ||||
| 345 | + "predictor": "oracle", | ||||
| 346 | + "m": 8, | ||||
| 347 | + "hit_rate": 0.8011782786885245, | ||||
| 348 | + "misses_per_token": 25.449180327868852, | ||||
| 349 | + "stall_ms_per_token": 8.402752224824361, | ||||
| 350 | + "prefetch_loads_per_token": 80.34426229508196, | ||||
| 351 | + "prefetch_precision": 1.0, | ||||
| 352 | + "loads_per_token": 105.79344262295082, | ||||
| 353 | + "pred_recall_at_k": 1.0, | ||||
| 354 | + "tokens": 2135, | ||||
| 355 | + "families": { | ||||
| 356 | + "general": { | ||||
| 357 | + "hit_rate": 0.8312079041204438, | ||||
| 358 | + "stall_ms_per_token": 7.254285261489697 | ||||
| 359 | + }, | ||||
| 360 | + "code": { | ||||
| 361 | + "hit_rate": 0.7669069560047562, | ||||
| 362 | + "stall_ms_per_token": 9.74282996432819 | ||||
| 363 | + }, | ||||
| 364 | + "reasoning": { | ||||
| 365 | + "hit_rate": 0.8144596571906354, | ||||
| 366 | + "stall_ms_per_token": 7.875177257525085 | ||||
| 367 | + }, | ||||
| 368 | + "multilingual": { | ||||
| 369 | + "hit_rate": 0.8173935439560439, | ||||
| 370 | + "stall_ms_per_token": 7.7308351648351605 | ||||
| 371 | + } | ||||
| 372 | + }, | ||||
| 373 | + "split": "fit" | ||||
| 374 | + }, | ||||
| 375 | + { | ||||
| 376 | + "capacity": 8, | ||||
| 377 | + "policy": "lru", | ||||
| 378 | + "predictor": "oracle", | ||||
| 379 | + "m": 8, | ||||
| 380 | + "hit_rate": 0.804201244813278, | ||||
| 381 | + "misses_per_token": 25.062240663900415, | ||||
| 382 | + "stall_ms_per_token": 8.281117565698471, | ||||
| 383 | + "prefetch_loads_per_token": 80.0103734439834, | ||||
| 384 | + "prefetch_precision": 1.0, | ||||
| 385 | + "loads_per_token": 105.07261410788382, | ||||
| 386 | + "pred_recall_at_k": 1.0, | ||||
| 387 | + "tokens": 1446, | ||||
| 388 | + "families": { | ||||
| 389 | + "general": { | ||||
| 390 | + "hit_rate": 0.8304168588560885, | ||||
| 391 | + "stall_ms_per_token": 7.29341328413284 | ||||
| 392 | + }, | ||||
| 393 | + "code": { | ||||
| 394 | + "hit_rate": 0.7711205922242315, | ||||
| 395 | + "stall_ms_per_token": 9.544965641952981 | ||||
| 396 | + }, | ||||
| 397 | + "reasoning": { | ||||
| 398 | + "hit_rate": 0.8146534455128205, | ||||
| 399 | + "stall_ms_per_token": 7.866705128205132 | ||||
| 400 | + }, | ||||
| 401 | + "multilingual": { | ||||
| 402 | + "hit_rate": 0.8253205128205128, | ||||
| 403 | + "stall_ms_per_token": 7.402256410256413 | ||||
| 404 | + } | ||||
| 405 | + }, | ||||
| 406 | + "split": "heldout" | ||||
| 407 | + }, | ||||
| 408 | + { | ||||
| 409 | + "capacity": 8, | ||||
| 410 | + "policy": "lfu", | ||||
| 411 | + "predictor": "none", | ||||
| 412 | + "m": 8, | ||||
| 413 | + "hit_rate": 0.4094445257611241, | ||||
| 414 | + "misses_per_token": 75.59110070257611, | ||||
| 415 | + "stall_ms_per_token": 32.50417330210768, | ||||
| 416 | + "prefetch_loads_per_token": 0.0, | ||||
| 417 | + "prefetch_precision": null, | ||||
| 418 | + "loads_per_token": 75.59110070257611, | ||||
| 419 | + "pred_recall_at_k": null, | ||||
| 420 | + "tokens": 2135, | ||||
| 421 | + "families": { | ||||
| 422 | + "general": { | ||||
| 423 | + "hit_rate": 0.3551158874801902, | ||||
| 424 | + "stall_ms_per_token": 35.494421553090355 | ||||
| 425 | + }, | ||||
| 426 | + "code": { | ||||
| 427 | + "hit_rate": 0.4682576545778835, | ||||
| 428 | + "stall_ms_per_token": 29.2670986920333 | ||||
| 429 | + }, | ||||
| 430 | + "reasoning": { | ||||
| 431 | + "hit_rate": 0.3774561036789298, | ||||
| 432 | + "stall_ms_per_token": 34.26481605351171 | ||||
| 433 | + }, | ||||
| 434 | + "multilingual": { | ||||
| 435 | + "hit_rate": 0.3940161401098901, | ||||
| 436 | + "stall_ms_per_token": 33.353351648351634 | ||||
| 437 | + } | ||||
| 438 | + }, | ||||
| 439 | + "split": "fit" | ||||
| 440 | + }, | ||||
| 441 | + { | ||||
| 442 | + "capacity": 8, | ||||
| 443 | + "policy": "lfu", | ||||
| 444 | + "predictor": "none", | ||||
| 445 | + "m": 8, | ||||
| 446 | + "hit_rate": 0.4148351054633472, | ||||
| 447 | + "misses_per_token": 74.90110650069157, | ||||
| 448 | + "stall_ms_per_token": 32.20747579529736, | ||||
| 449 | + "prefetch_loads_per_token": 0.0, | ||||
| 450 | + "prefetch_precision": null, | ||||
| 451 | + "loads_per_token": 74.90110650069157, | ||||
| 452 | + "pred_recall_at_k": null, | ||||
| 453 | + "tokens": 1446, | ||||
| 454 | + "families": { | ||||
| 455 | + "general": { | ||||
| 456 | + "hit_rate": 0.3655154520295203, | ||||
| 457 | + "stall_ms_per_token": 34.92202952029518 | ||||
| 458 | + }, | ||||
| 459 | + "code": { | ||||
| 460 | + "hit_rate": 0.4808007459312839, | ||||
| 461 | + "stall_ms_per_token": 28.57672694394212 | ||||
| 462 | + }, | ||||
| 463 | + "reasoning": { | ||||
| 464 | + "hit_rate": 0.38716947115384615, | ||||
| 465 | + "stall_ms_per_token": 33.730192307692306 | ||||
| 466 | + }, | ||||
| 467 | + "multilingual": { | ||||
| 468 | + "hit_rate": 0.38621794871794873, | ||||
| 469 | + "stall_ms_per_token": 33.78256410256409 | ||||
| 470 | + } | ||||
| 471 | + }, | ||||
| 472 | + "split": "heldout" | ||||
| 473 | + }, | ||||
| 474 | + { | ||||
| 475 | + "capacity": 8, | ||||
| 476 | + "policy": "lfu", | ||||
| 477 | + "predictor": "prev_token", | ||||
| 478 | + "m": 8, | ||||
| 479 | + "hit_rate": 0.4094445257611241, | ||||
| 480 | + "misses_per_token": 75.59110070257611, | ||||
| 481 | + "stall_ms_per_token": 32.50417330210768, | ||||
| 482 | + "prefetch_loads_per_token": 0.0, | ||||
| 483 | + "prefetch_precision": null, | ||||
| 484 | + "loads_per_token": 75.59110070257611, | ||||
| 485 | + "pred_recall_at_k": null, | ||||
| 486 | + "tokens": 2135, | ||||
| 487 | + "families": { | ||||
| 488 | + "general": { | ||||
| 489 | + "hit_rate": 0.3551158874801902, | ||||
| 490 | + "stall_ms_per_token": 35.494421553090355 | ||||
| 491 | + }, | ||||
| 492 | + "code": { | ||||
| 493 | + "hit_rate": 0.4682576545778835, | ||||
| 494 | + "stall_ms_per_token": 29.2670986920333 | ||||
| 495 | + }, | ||||
| 496 | + "reasoning": { | ||||
| 497 | + "hit_rate": 0.3774561036789298, | ||||
| 498 | + "stall_ms_per_token": 34.26481605351171 | ||||
| 499 | + }, | ||||
| 500 | + "multilingual": { | ||||
| 501 | + "hit_rate": 0.3940161401098901, | ||||
| 502 | + "stall_ms_per_token": 33.353351648351634 | ||||
| 503 | + } | ||||
| 504 | + }, | ||||
| 505 | + "split": "fit" | ||||
| 506 | + }, | ||||
| 507 | + { | ||||
| 508 | + "capacity": 8, | ||||
| 509 | + "policy": "lfu", | ||||
| 510 | + "predictor": "prev_token", | ||||
| 511 | + "m": 8, | ||||
| 512 | + "hit_rate": 0.4148351054633472, | ||||
| 513 | + "misses_per_token": 74.90110650069157, | ||||
| 514 | + "stall_ms_per_token": 32.20747579529736, | ||||
| 515 | + "prefetch_loads_per_token": 0.0, | ||||
| 516 | + "prefetch_precision": null, | ||||
| 517 | + "loads_per_token": 74.90110650069157, | ||||
| 518 | + "pred_recall_at_k": null, | ||||
| 519 | + "tokens": 1446, | ||||
| 520 | + "families": { | ||||
| 521 | + "general": { | ||||
| 522 | + "hit_rate": 0.3655154520295203, | ||||
| 523 | + "stall_ms_per_token": 34.92202952029518 | ||||
| 524 | + }, | ||||
| 525 | + "code": { | ||||
| 526 | + "hit_rate": 0.4808007459312839, | ||||
| 527 | + "stall_ms_per_token": 28.57672694394212 | ||||
| 528 | + }, | ||||
| 529 | + "reasoning": { | ||||
| 530 | + "hit_rate": 0.38716947115384615, | ||||
| 531 | + "stall_ms_per_token": 33.730192307692306 | ||||
| 532 | + }, | ||||
| 533 | + "multilingual": { | ||||
| 534 | + "hit_rate": 0.38621794871794873, | ||||
| 535 | + "stall_ms_per_token": 33.78256410256409 | ||||
| 536 | + } | ||||
| 537 | + }, | ||||
| 538 | + "split": "heldout" | ||||
| 539 | + }, | ||||
| 540 | + { | ||||
| 541 | + "capacity": 8, | ||||
| 542 | + "policy": "lfu", | ||||
| 543 | + "predictor": "prev_rank", | ||||
| 544 | + "m": 8, | ||||
| 545 | + "hit_rate": 0.40934938524590164, | ||||
| 546 | + "misses_per_token": 75.6032786885246, | ||||
| 547 | + "stall_ms_per_token": 32.50940983606552, | ||||
| 548 | + "prefetch_loads_per_token": 0.04215456674473068, | ||||
| 549 | + "prefetch_precision": 0.13333333333333333, | ||||
| 550 | + "loads_per_token": 75.64543325526932, | ||||
| 551 | + "pred_recall_at_k": null, | ||||
| 552 | + "tokens": 2135, | ||||
| 553 | + "families": { | ||||
| 554 | + "general": { | ||||
| 555 | + "hit_rate": 0.3550292194928685, | ||||
| 556 | + "stall_ms_per_token": 35.49919175911255 | ||||
| 557 | + }, | ||||
| 558 | + "code": { | ||||
| 559 | + "hit_rate": 0.46812760107015455, | ||||
| 560 | + "stall_ms_per_token": 29.274256837098697 | ||||
| 561 | + }, | ||||
| 562 | + "reasoning": { | ||||
| 563 | + "hit_rate": 0.37742997491638797, | ||||
| 564 | + "stall_ms_per_token": 34.266254180602004 | ||||
| 565 | + }, | ||||
| 566 | + "multilingual": { | ||||
| 567 | + "hit_rate": 0.39393028846153844, | ||||
| 568 | + "stall_ms_per_token": 33.3580769230769 | ||||
| 569 | + } | ||||
| 570 | + }, | ||||
| 571 | + "split": "fit" | ||||
| 572 | + }, | ||||
| 573 | + { | ||||
| 574 | + "capacity": 8, | ||||
| 575 | + "policy": "lfu", | ||||
| 576 | + "predictor": "prev_rank", | ||||
| 577 | + "m": 8, | ||||
| 578 | + "hit_rate": 0.4148188969571231, | ||||
| 579 | + "misses_per_token": 74.90318118948824, | ||||
| 580 | + "stall_ms_per_token": 32.20836791147994, | ||||
| 581 | + "prefetch_loads_per_token": 0.04080221300138313, | ||||
| 582 | + "prefetch_precision": 0.3220338983050847, | ||||
| 583 | + "loads_per_token": 74.94398340248962, | ||||
| 584 | + "pred_recall_at_k": null, | ||||
| 585 | + "tokens": 1446, | ||||
| 586 | + "families": { | ||||
| 587 | + "general": { | ||||
| 588 | + "hit_rate": 0.365457795202952, | ||||
| 589 | + "stall_ms_per_token": 34.925202952029515 | ||||
| 590 | + }, | ||||
| 591 | + "code": { | ||||
| 592 | + "hit_rate": 0.48078661844484627, | ||||
| 593 | + "stall_ms_per_token": 28.57750452079565 | ||||
| 594 | + }, | ||||
| 595 | + "reasoning": { | ||||
| 596 | + "hit_rate": 0.38724459134615385, | ||||
| 597 | + "stall_ms_per_token": 33.72605769230769 | ||||
| 598 | + }, | ||||
| 599 | + "multilingual": { | ||||
| 600 | + "hit_rate": 0.3860176282051282, | ||||
| 601 | + "stall_ms_per_token": 33.79358974358974 | ||||
| 602 | + } | ||||
| 603 | + }, | ||||
| 604 | + "split": "heldout" | ||||
| 605 | + }, | ||||
| 606 | + { | ||||
| 607 | + "capacity": 8, | ||||
| 608 | + "policy": "lfu", | ||||
| 609 | + "predictor": "transition", | ||||
| 610 | + "m": 8, | ||||
| 611 | + "hit_rate": 0.4284726288056206, | ||||
| 612 | + "misses_per_token": 73.15550351288056, | ||||
| 613 | + "stall_ms_per_token": 22.81006182669791, | ||||
| 614 | + "prefetch_loads_per_token": 79.0384074941452, | ||||
| 615 | + "prefetch_precision": 0.301066093026839, | ||||
| 616 | + "loads_per_token": 152.19391100702575, | ||||
| 617 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 618 | + "tokens": 2135, | ||||
| 619 | + "families": { | ||||
| 620 | + "general": { | ||||
| 621 | + "hit_rate": 0.36909419572107766, | ||||
| 622 | + "stall_ms_per_token": 25.117752773375592 | ||||
| 623 | + }, | ||||
| 624 | + "code": { | ||||
| 625 | + "hit_rate": 0.482461355529132, | ||||
| 626 | + "stall_ms_per_token": 20.738359096313896 | ||||
| 627 | + }, | ||||
| 628 | + "reasoning": { | ||||
| 629 | + "hit_rate": 0.4197063127090301, | ||||
| 630 | + "stall_ms_per_token": 23.134762541806037 | ||||
| 631 | + }, | ||||
| 632 | + "multilingual": { | ||||
| 633 | + "hit_rate": 0.41386933379120877, | ||||
| 634 | + "stall_ms_per_token": 23.32946703296704 | ||||
| 635 | + } | ||||
| 636 | + }, | ||||
| 637 | + "split": "fit" | ||||
| 638 | + }, | ||||
| 639 | + { | ||||
| 640 | + "capacity": 8, | ||||
| 641 | + "policy": "lfu", | ||||
| 642 | + "predictor": "transition", | ||||
| 643 | + "m": 8, | ||||
| 644 | + "hit_rate": 0.4097942600276625, | ||||
| 645 | + "misses_per_token": 75.5463347164592, | ||||
| 646 | + "stall_ms_per_token": 23.52731396957124, | ||||
| 647 | + "prefetch_loads_per_token": 81.87482710926695, | ||||
| 648 | + "prefetch_precision": 0.2803338091577907, | ||||
| 649 | + "loads_per_token": 157.42116182572613, | ||||
| 650 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 651 | + "tokens": 1446, | ||||
| 652 | + "families": { | ||||
| 653 | + "general": { | ||||
| 654 | + "hit_rate": 0.33217539206642066, | ||||
| 655 | + "stall_ms_per_token": 26.553435424354237 | ||||
| 656 | + }, | ||||
| 657 | + "code": { | ||||
| 658 | + "hit_rate": 0.4794021247739602, | ||||
| 659 | + "stall_ms_per_token": 20.82163471971067 | ||||
| 660 | + }, | ||||
| 661 | + "reasoning": { | ||||
| 662 | + "hit_rate": 0.42518028846153844, | ||||
| 663 | + "stall_ms_per_token": 22.9221794871795 | ||||
| 664 | + }, | ||||
| 665 | + "multilingual": { | ||||
| 666 | + "hit_rate": 0.37840544871794873, | ||||
| 667 | + "stall_ms_per_token": 24.67820512820513 | ||||
| 668 | + } | ||||
| 669 | + }, | ||||
| 670 | + "split": "heldout" | ||||
| 671 | + }, | ||||
| 672 | + { | ||||
| 673 | + "capacity": 8, | ||||
| 674 | + "policy": "lfu", | ||||
| 675 | + "predictor": "probe", | ||||
| 676 | + "m": 8, | ||||
| 677 | + "hit_rate": 0.22535860655737705, | ||||
| 678 | + "misses_per_token": 99.15409836065574, | ||||
| 679 | + "stall_ms_per_token": 30.66163747072595, | ||||
| 680 | + "prefetch_loads_per_token": 108.71896955503513, | ||||
| 681 | + "prefetch_precision": 0.11085022510393555, | ||||
| 682 | + "loads_per_token": 207.87306791569085, | ||||
| 683 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 684 | + "tokens": 2135, | ||||
| 685 | + "families": { | ||||
| 686 | + "general": { | ||||
| 687 | + "hit_rate": 0.22640154516640254, | ||||
| 688 | + "stall_ms_per_token": 30.633679873217115 | ||||
| 689 | + }, | ||||
| 690 | + "code": { | ||||
| 691 | + "hit_rate": 0.2077883472057075, | ||||
| 692 | + "stall_ms_per_token": 31.3561189060642 | ||||
| 693 | + }, | ||||
| 694 | + "reasoning": { | ||||
| 695 | + "hit_rate": 0.244748118729097, | ||||
| 696 | + "stall_ms_per_token": 29.89794648829429 | ||||
| 697 | + }, | ||||
| 698 | + "multilingual": { | ||||
| 699 | + "hit_rate": 0.2482185782967033, | ||||
| 700 | + "stall_ms_per_token": 29.73286263736262 | ||||
| 701 | + } | ||||
| 702 | + }, | ||||
| 703 | + "split": "fit" | ||||
| 704 | + }, | ||||
| 705 | + { | ||||
| 706 | + "capacity": 8, | ||||
| 707 | + "policy": "lfu", | ||||
| 708 | + "predictor": "probe", | ||||
| 709 | + "m": 8, | ||||
| 710 | + "hit_rate": 0.21783151798063624, | ||||
| 711 | + "misses_per_token": 100.11756569847856, | ||||
| 712 | + "stall_ms_per_token": 30.94782572614104, | ||||
| 713 | + "prefetch_loads_per_token": 109.23997233748271, | ||||
| 714 | + "prefetch_precision": 0.1055766929811789, | ||||
| 715 | + "loads_per_token": 209.35753803596128, | ||||
| 716 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 717 | + "tokens": 1446, | ||||
| 718 | + "families": { | ||||
| 719 | + "general": { | ||||
| 720 | + "hit_rate": 0.18604416512915128, | ||||
| 721 | + "stall_ms_per_token": 32.20228413284127 | ||||
| 722 | + }, | ||||
| 723 | + "code": { | ||||
| 724 | + "hit_rate": 0.23311765370705245, | ||||
| 725 | + "stall_ms_per_token": 30.34200723327306 | ||||
| 726 | + }, | ||||
| 727 | + "reasoning": { | ||||
| 728 | + "hit_rate": 0.24143629807692307, | ||||
| 729 | + "stall_ms_per_token": 30.02498717948718 | ||||
| 730 | + }, | ||||
| 731 | + "multilingual": { | ||||
| 732 | + "hit_rate": 0.25400641025641024, | ||||
| 733 | + "stall_ms_per_token": 29.486974358974365 | ||||
| 734 | + } | ||||
| 735 | + }, | ||||
| 736 | + "split": "heldout" | ||||
| 737 | + }, | ||||
| 738 | + { | ||||
| 739 | + "capacity": 8, | ||||
| 740 | + "policy": "lfu", | ||||
| 741 | + "predictor": "oracle", | ||||
| 742 | + "m": 8, | ||||
| 743 | + "hit_rate": 0.6142308255269321, | ||||
| 744 | + "misses_per_token": 49.37845433255269, | ||||
| 745 | + "stall_ms_per_token": 15.629392974238886, | ||||
| 746 | + "prefetch_loads_per_token": 76.57751756440281, | ||||
| 747 | + "prefetch_precision": 0.542426892894497, | ||||
| 748 | + "loads_per_token": 125.9559718969555, | ||||
| 749 | + "pred_recall_at_k": 1.0, | ||||
| 750 | + "tokens": 2135, | ||||
| 751 | + "families": { | ||||
| 752 | + "general": { | ||||
| 753 | + "hit_rate": 0.5897013668779715, | ||||
| 754 | + "stall_ms_per_token": 16.589961965134687 | ||||
| 755 | + }, | ||||
| 756 | + "code": { | ||||
| 757 | + "hit_rate": 0.63701137039239, | ||||
| 758 | + "stall_ms_per_token": 14.764073721759823 | ||||
| 759 | + }, | ||||
| 760 | + "reasoning": { | ||||
| 761 | + "hit_rate": 0.6069188963210702, | ||||
| 762 | + "stall_ms_per_token": 15.897872909699002 | ||||
| 763 | + }, | ||||
| 764 | + "multilingual": { | ||||
| 765 | + "hit_rate": 0.6101262019230769, | ||||
| 766 | + "stall_ms_per_token": 15.742961538461541 | ||||
| 767 | + } | ||||
| 768 | + }, | ||||
| 769 | + "split": "fit" | ||||
| 770 | + }, | ||||
| 771 | + { | ||||
| 772 | + "capacity": 8, | ||||
| 773 | + "policy": "lfu", | ||||
| 774 | + "predictor": "oracle", | ||||
| 775 | + "m": 8, | ||||
| 776 | + "hit_rate": 0.6197268326417704, | ||||
| 777 | + "misses_per_token": 48.674965421853386, | ||||
| 778 | + "stall_ms_per_token": 15.412160442600275, | ||||
| 779 | + "prefetch_loads_per_token": 76.04011065006915, | ||||
| 780 | + "prefetch_precision": 0.538843516379577, | ||||
| 781 | + "loads_per_token": 124.71507607192254, | ||||
| 782 | + "pred_recall_at_k": 1.0, | ||||
| 783 | + "tokens": 1446, | ||||
| 784 | + "families": { | ||||
| 785 | + "general": { | ||||
| 786 | + "hit_rate": 0.5879987315498155, | ||||
| 787 | + "stall_ms_per_token": 16.664328413284146 | ||||
| 788 | + }, | ||||
| 789 | + "code": { | ||||
| 790 | + "hit_rate": 0.6537211799276673, | ||||
| 791 | + "stall_ms_per_token": 14.083157323688978 | ||||
| 792 | + }, | ||||
| 793 | + "reasoning": { | ||||
| 794 | + "hit_rate": 0.6153846153846154, | ||||
| 795 | + "stall_ms_per_token": 15.56964102564103 | ||||
| 796 | + }, | ||||
| 797 | + "multilingual": { | ||||
| 798 | + "hit_rate": 0.6133814102564102, | ||||
| 799 | + "stall_ms_per_token": 15.594974358974358 | ||||
| 800 | + } | ||||
| 801 | + }, | ||||
| 802 | + "split": "heldout" | ||||
| 803 | + }, | ||||
| 804 | + { | ||||
| 805 | + "capacity": 12, | ||||
| 806 | + "policy": "lru", | ||||
| 807 | + "predictor": "none", | ||||
| 808 | + "m": 8, | ||||
| 809 | + "hit_rate": 0.5040434718969555, | ||||
| 810 | + "misses_per_token": 63.48243559718969, | ||||
| 811 | + "stall_ms_per_token": 27.297447306791522, | ||||
| 812 | + "prefetch_loads_per_token": 0.0, | ||||
| 813 | + "prefetch_precision": null, | ||||
| 814 | + "loads_per_token": 63.48243559718969, | ||||
| 815 | + "pred_recall_at_k": null, | ||||
| 816 | + "tokens": 2135, | ||||
| 817 | + "families": { | ||||
| 818 | + "general": { | ||||
| 819 | + "hit_rate": 0.4448915412044374, | ||||
| 820 | + "stall_ms_per_token": 30.55316957210777 | ||||
| 821 | + }, | ||||
| 822 | + "code": { | ||||
| 823 | + "hit_rate": 0.5714179548156956, | ||||
| 824 | + "stall_ms_per_token": 23.589155766944128 | ||||
| 825 | + }, | ||||
| 826 | + "reasoning": { | ||||
| 827 | + "hit_rate": 0.47047449832775917, | ||||
| 828 | + "stall_ms_per_token": 29.145083612040132 | ||||
| 829 | + }, | ||||
| 830 | + "multilingual": { | ||||
| 831 | + "hit_rate": 0.47849416208791207, | ||||
| 832 | + "stall_ms_per_token": 28.703681318681323 | ||||
| 833 | + } | ||||
| 834 | + }, | ||||
| 835 | + "split": "fit" | ||||
| 836 | + }, | ||||
| 837 | + { | ||||
| 838 | + "capacity": 12, | ||||
| 839 | + "policy": "lru", | ||||
| 840 | + "predictor": "none", | ||||
| 841 | + "m": 8, | ||||
| 842 | + "hit_rate": 0.49955696749654216, | ||||
| 843 | + "misses_per_token": 64.0567081604426, | ||||
| 844 | + "stall_ms_per_token": 27.544384508990273, | ||||
| 845 | + "prefetch_loads_per_token": 0.0, | ||||
| 846 | + "prefetch_precision": null, | ||||
| 847 | + "loads_per_token": 64.0567081604426, | ||||
| 848 | + "pred_recall_at_k": null, | ||||
| 849 | + "tokens": 1446, | ||||
| 850 | + "families": { | ||||
| 851 | + "general": { | ||||
| 852 | + "hit_rate": 0.4276118542435424, | ||||
| 853 | + "stall_ms_per_token": 31.504243542435404 | ||||
| 854 | + }, | ||||
| 855 | + "code": { | ||||
| 856 | + "hit_rate": 0.5744659810126582, | ||||
| 857 | + "stall_ms_per_token": 23.42139240506328 | ||||
| 858 | + }, | ||||
| 859 | + "reasoning": { | ||||
| 860 | + "hit_rate": 0.4960436698717949, | ||||
| 861 | + "stall_ms_per_token": 27.7377564102564 | ||||
| 862 | + }, | ||||
| 863 | + "multilingual": { | ||||
| 864 | + "hit_rate": 0.46534455128205127, | ||||
| 865 | + "stall_ms_per_token": 29.42743589743589 | ||||
| 866 | + } | ||||
| 867 | + }, | ||||
| 868 | + "split": "heldout" | ||||
| 869 | + }, | ||||
| 870 | + { | ||||
| 871 | + "capacity": 12, | ||||
| 872 | + "policy": "lru", | ||||
| 873 | + "predictor": "prev_token", | ||||
| 874 | + "m": 8, | ||||
| 875 | + "hit_rate": 0.5040434718969555, | ||||
| 876 | + "misses_per_token": 63.48243559718969, | ||||
| 877 | + "stall_ms_per_token": 27.297447306791522, | ||||
| 878 | + "prefetch_loads_per_token": 0.0, | ||||
| 879 | + "prefetch_precision": null, | ||||
| 880 | + "loads_per_token": 63.48243559718969, | ||||
| 881 | + "pred_recall_at_k": null, | ||||
| 882 | + "tokens": 2135, | ||||
| 883 | + "families": { | ||||
| 884 | + "general": { | ||||
| 885 | + "hit_rate": 0.4448915412044374, | ||||
| 886 | + "stall_ms_per_token": 30.55316957210777 | ||||
| 887 | + }, | ||||
| 888 | + "code": { | ||||
| 889 | + "hit_rate": 0.5714179548156956, | ||||
| 890 | + "stall_ms_per_token": 23.589155766944128 | ||||
| 891 | + }, | ||||
| 892 | + "reasoning": { | ||||
| 893 | + "hit_rate": 0.47047449832775917, | ||||
| 894 | + "stall_ms_per_token": 29.145083612040132 | ||||
| 895 | + }, | ||||
| 896 | + "multilingual": { | ||||
| 897 | + "hit_rate": 0.47849416208791207, | ||||
| 898 | + "stall_ms_per_token": 28.703681318681323 | ||||
| 899 | + } | ||||
| 900 | + }, | ||||
| 901 | + "split": "fit" | ||||
| 902 | + }, | ||||
| 903 | + { | ||||
| 904 | + "capacity": 12, | ||||
| 905 | + "policy": "lru", | ||||
| 906 | + "predictor": "prev_token", | ||||
| 907 | + "m": 8, | ||||
| 908 | + "hit_rate": 0.49955696749654216, | ||||
| 909 | + "misses_per_token": 64.0567081604426, | ||||
| 910 | + "stall_ms_per_token": 27.544384508990273, | ||||
| 911 | + "prefetch_loads_per_token": 0.0, | ||||
| 912 | + "prefetch_precision": null, | ||||
| 913 | + "loads_per_token": 64.0567081604426, | ||||
| 914 | + "pred_recall_at_k": null, | ||||
| 915 | + "tokens": 1446, | ||||
| 916 | + "families": { | ||||
| 917 | + "general": { | ||||
| 918 | + "hit_rate": 0.4276118542435424, | ||||
| 919 | + "stall_ms_per_token": 31.504243542435404 | ||||
| 920 | + }, | ||||
| 921 | + "code": { | ||||
| 922 | + "hit_rate": 0.5744659810126582, | ||||
| 923 | + "stall_ms_per_token": 23.42139240506328 | ||||
| 924 | + }, | ||||
| 925 | + "reasoning": { | ||||
| 926 | + "hit_rate": 0.4960436698717949, | ||||
| 927 | + "stall_ms_per_token": 27.7377564102564 | ||||
| 928 | + }, | ||||
| 929 | + "multilingual": { | ||||
| 930 | + "hit_rate": 0.46534455128205127, | ||||
| 931 | + "stall_ms_per_token": 29.42743589743589 | ||||
| 932 | + } | ||||
| 933 | + }, | ||||
| 934 | + "split": "heldout" | ||||
| 935 | + }, | ||||
| 936 | + { | ||||
| 937 | + "capacity": 12, | ||||
| 938 | + "policy": "lru", | ||||
| 939 | + "predictor": "prev_rank", | ||||
| 940 | + "m": 8, | ||||
| 941 | + "hit_rate": 0.5040178571428572, | ||||
| 942 | + "misses_per_token": 63.48571428571429, | ||||
| 943 | + "stall_ms_per_token": 27.29885714285711, | ||||
| 944 | + "prefetch_loads_per_token": 0.03278688524590164, | ||||
| 945 | + "prefetch_precision": 0.2857142857142857, | ||||
| 946 | + "loads_per_token": 63.518501170960185, | ||||
| 947 | + "pred_recall_at_k": null, | ||||
| 948 | + "tokens": 2135, | ||||
| 949 | + "families": { | ||||
| 950 | + "general": { | ||||
| 951 | + "hit_rate": 0.4448420166402536, | ||||
| 952 | + "stall_ms_per_token": 30.555895404120445 | ||||
| 953 | + }, | ||||
| 954 | + "code": { | ||||
| 955 | + "hit_rate": 0.5714086652794292, | ||||
| 956 | + "stall_ms_per_token": 23.58966706302023 | ||||
| 957 | + }, | ||||
| 958 | + "reasoning": { | ||||
| 959 | + "hit_rate": 0.4705267558528428, | ||||
| 960 | + "stall_ms_per_token": 29.142207357859526 | ||||
| 961 | + }, | ||||
| 962 | + "multilingual": { | ||||
| 963 | + "hit_rate": 0.47840831043956045, | ||||
| 964 | + "stall_ms_per_token": 28.70840659340659 | ||||
| 965 | + } | ||||
| 966 | + }, | ||||
| 967 | + "split": "fit" | ||||
| 968 | + }, | ||||
| 969 | + { | ||||
| 970 | + "capacity": 12, | ||||
| 971 | + "policy": "lru", | ||||
| 972 | + "predictor": "prev_rank", | ||||
| 973 | + "m": 8, | ||||
| 974 | + "hit_rate": 0.4995839816735823, | ||||
| 975 | + "misses_per_token": 64.05325034578146, | ||||
| 976 | + "stall_ms_per_token": 27.54289764868599, | ||||
| 977 | + "prefetch_loads_per_token": 0.026970954356846474, | ||||
| 978 | + "prefetch_precision": 0.38461538461538464, | ||||
| 979 | + "loads_per_token": 64.08022130013832, | ||||
| 980 | + "pred_recall_at_k": null, | ||||
| 981 | + "tokens": 1446, | ||||
| 982 | + "families": { | ||||
| 983 | + "general": { | ||||
| 984 | + "hit_rate": 0.42765509686346864, | ||||
| 985 | + "stall_ms_per_token": 31.50186346863467 | ||||
| 986 | + }, | ||||
| 987 | + "code": { | ||||
| 988 | + "hit_rate": 0.5744801084990958, | ||||
| 989 | + "stall_ms_per_token": 23.420614828209757 | ||||
| 990 | + }, | ||||
| 991 | + "reasoning": { | ||||
| 992 | + "hit_rate": 0.4960436698717949, | ||||
| 993 | + "stall_ms_per_token": 27.7377564102564 | ||||
| 994 | + }, | ||||
| 995 | + "multilingual": { | ||||
| 996 | + "hit_rate": 0.4655448717948718, | ||||
| 997 | + "stall_ms_per_token": 29.416410256410245 | ||||
| 998 | + } | ||||
| 999 | + }, | ||||
| 1000 | + "split": "heldout" | ||||
| 1001 | + }, | ||||
| 1002 | + { | ||||
| 1003 | + "capacity": 12, | ||||
| 1004 | + "policy": "lru", | ||||
| 1005 | + "predictor": "transition", | ||||
| 1006 | + "m": 8, | ||||
| 1007 | + "hit_rate": 0.5989461358313818, | ||||
| 1008 | + "misses_per_token": 51.33489461358314, | ||||
| 1009 | + "stall_ms_per_token": 16.138042154566726, | ||||
| 1010 | + "prefetch_loads_per_token": 57.231381733021074, | ||||
| 1011 | + "prefetch_precision": 0.45320773555721056, | ||||
| 1012 | + "loads_per_token": 108.56627634660421, | ||||
| 1013 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 1014 | + "tokens": 2135, | ||||
| 1015 | + "families": { | ||||
| 1016 | + "general": { | ||||
| 1017 | + "hit_rate": 0.5529169968304279, | ||||
| 1018 | + "stall_ms_per_token": 17.930554675118852 | ||||
| 1019 | + }, | ||||
| 1020 | + "code": { | ||||
| 1021 | + "hit_rate": 0.652078998216409, | ||||
| 1022 | + "stall_ms_per_token": 14.098670630202145 | ||||
| 1023 | + }, | ||||
| 1024 | + "reasoning": { | ||||
| 1025 | + "hit_rate": 0.5733434364548495, | ||||
| 1026 | + "stall_ms_per_token": 17.100301003344484 | ||||
| 1027 | + }, | ||||
| 1028 | + "multilingual": { | ||||
| 1029 | + "hit_rate": 0.5770089285714286, | ||||
| 1030 | + "stall_ms_per_token": 16.952109890109877 | ||||
| 1031 | + } | ||||
| 1032 | + }, | ||||
| 1033 | + "split": "fit" | ||||
| 1034 | + }, | ||||
| 1035 | + { | ||||
| 1036 | + "capacity": 12, | ||||
| 1037 | + "policy": "lru", | ||||
| 1038 | + "predictor": "transition", | ||||
| 1039 | + "m": 8, | ||||
| 1040 | + "hit_rate": 0.5868289678423236, | ||||
| 1041 | + "misses_per_token": 52.885892116182575, | ||||
| 1042 | + "stall_ms_per_token": 16.602687413554605, | ||||
| 1043 | + "prefetch_loads_per_token": 60.677731673582294, | ||||
| 1044 | + "prefetch_precision": 0.4113175290631411, | ||||
| 1045 | + "loads_per_token": 113.56362378976488, | ||||
| 1046 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 1047 | + "tokens": 1446, | ||||
| 1048 | + "families": { | ||||
| 1049 | + "general": { | ||||
| 1050 | + "hit_rate": 0.5323598939114391, | ||||
| 1051 | + "stall_ms_per_token": 18.755118081180793 | ||||
| 1052 | + }, | ||||
| 1053 | + "code": { | ||||
| 1054 | + "hit_rate": 0.6459651898734177, | ||||
| 1055 | + "stall_ms_per_token": 14.299645569620262 | ||||
| 1056 | + }, | ||||
| 1057 | + "reasoning": { | ||||
| 1058 | + "hit_rate": 0.5811298076923077, | ||||
| 1059 | + "stall_ms_per_token": 16.779743589743596 | ||||
| 1060 | + }, | ||||
| 1061 | + "multilingual": { | ||||
| 1062 | + "hit_rate": 0.5508814102564102, | ||||
| 1063 | + "stall_ms_per_token": 17.928923076923077 | ||||
| 1064 | + } | ||||
| 1065 | + }, | ||||
| 1066 | + "split": "heldout" | ||||
| 1067 | + }, | ||||
| 1068 | + { | ||||
| 1069 | + "capacity": 12, | ||||
| 1070 | + "policy": "lru", | ||||
| 1071 | + "predictor": "probe", | ||||
| 1072 | + "m": 8, | ||||
| 1073 | + "hit_rate": 0.35070623536299766, | ||||
| 1074 | + "misses_per_token": 83.1096018735363, | ||||
| 1075 | + "stall_ms_per_token": 25.73400374707258, | ||||
| 1076 | + "prefetch_loads_per_token": 96.98548009367681, | ||||
| 1077 | + "prefetch_precision": 0.1183209056137233, | ||||
| 1078 | + "loads_per_token": 180.0950819672131, | ||||
| 1079 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 1080 | + "tokens": 2135, | ||||
| 1081 | + "families": { | ||||
| 1082 | + "general": { | ||||
| 1083 | + "hit_rate": 0.35776545166402535, | ||||
| 1084 | + "stall_ms_per_token": 25.474332805071313 | ||||
| 1085 | + }, | ||||
| 1086 | + "code": { | ||||
| 1087 | + "hit_rate": 0.3418735136741974, | ||||
| 1088 | + "stall_ms_per_token": 26.089973840665888 | ||||
| 1089 | + }, | ||||
| 1090 | + "reasoning": { | ||||
| 1091 | + "hit_rate": 0.34871446488294316, | ||||
| 1092 | + "stall_ms_per_token": 25.78355852842809 | ||||
| 1093 | + }, | ||||
| 1094 | + "multilingual": { | ||||
| 1095 | + "hit_rate": 0.36051253434065933, | ||||
| 1096 | + "stall_ms_per_token": 25.320994505494507 | ||||
| 1097 | + } | ||||
| 1098 | + }, | ||||
| 1099 | + "split": "fit" | ||||
| 1100 | + }, | ||||
| 1101 | + { | ||||
| 1102 | + "capacity": 12, | ||||
| 1103 | + "policy": "lru", | ||||
| 1104 | + "predictor": "probe", | ||||
| 1105 | + "m": 8, | ||||
| 1106 | + "hit_rate": 0.35182183609958506, | ||||
| 1107 | + "misses_per_token": 82.96680497925311, | ||||
| 1108 | + "stall_ms_per_token": 25.68712309820195, | ||||
| 1109 | + "prefetch_loads_per_token": 97.50414937759336, | ||||
| 1110 | + "prefetch_precision": 0.113078139739416, | ||||
| 1111 | + "loads_per_token": 180.47095435684648, | ||||
| 1112 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 1113 | + "tokens": 1446, | ||||
| 1114 | + "families": { | ||||
| 1115 | + "general": { | ||||
| 1116 | + "hit_rate": 0.33451049354243545, | ||||
| 1117 | + "stall_ms_per_token": 26.403184501845004 | ||||
| 1118 | + }, | ||||
| 1119 | + "code": { | ||||
| 1120 | + "hit_rate": 0.3661985759493671, | ||||
| 1121 | + "stall_ms_per_token": 25.114303797468363 | ||||
| 1122 | + }, | ||||
| 1123 | + "reasoning": { | ||||
| 1124 | + "hit_rate": 0.3515875400641026, | ||||
| 1125 | + "stall_ms_per_token": 25.652929487179488 | ||||
| 1126 | + }, | ||||
| 1127 | + "multilingual": { | ||||
| 1128 | + "hit_rate": 0.39042467948717946, | ||||
| 1129 | + "stall_ms_per_token": 24.13153846153847 | ||||
| 1130 | + } | ||||
| 1131 | + }, | ||||
| 1132 | + "split": "heldout" | ||||
| 1133 | + }, | ||||
| 1134 | + { | ||||
| 1135 | + "capacity": 12, | ||||
| 1136 | + "policy": "lru", | ||||
| 1137 | + "predictor": "oracle", | ||||
| 1138 | + "m": 8, | ||||
| 1139 | + "hit_rate": 0.9075709894613583, | ||||
| 1140 | + "misses_per_token": 11.830913348946137, | ||||
| 1141 | + "stall_ms_per_token": 4.20783981264638, | ||||
| 1142 | + "prefetch_loads_per_token": 63.51662763466042, | ||||
| 1143 | + "prefetch_precision": 1.0, | ||||
| 1144 | + "loads_per_token": 75.34754098360656, | ||||
| 1145 | + "pred_recall_at_k": 1.0, | ||||
| 1146 | + "tokens": 2135, | ||||
| 1147 | + "families": { | ||||
| 1148 | + "general": { | ||||
| 1149 | + "hit_rate": 0.9118958003169572, | ||||
| 1150 | + "stall_ms_per_token": 4.053870047543583 | ||||
| 1151 | + }, | ||||
| 1152 | + "code": { | ||||
| 1153 | + "hit_rate": 0.9049773335315101, | ||||
| 1154 | + "stall_ms_per_token": 4.32263258026159 | ||||
| 1155 | + }, | ||||
| 1156 | + "reasoning": { | ||||
| 1157 | + "hit_rate": 0.9072167642140468, | ||||
| 1158 | + "stall_ms_per_token": 4.194093645484952 | ||||
| 1159 | + }, | ||||
| 1160 | + "multilingual": { | ||||
| 1161 | + "hit_rate": 0.9063573145604396, | ||||
| 1162 | + "stall_ms_per_token": 4.220818681318682 | ||||
| 1163 | + } | ||||
| 1164 | + }, | ||||
| 1165 | + "split": "fit" | ||||
| 1166 | + }, | ||||
| 1167 | + { | ||||
| 1168 | + "capacity": 12, | ||||
| 1169 | + "policy": "lru", | ||||
| 1170 | + "predictor": "oracle", | ||||
| 1171 | + "m": 8, | ||||
| 1172 | + "hit_rate": 0.9126955826417704, | ||||
| 1173 | + "misses_per_token": 11.174965421853388, | ||||
| 1174 | + "stall_ms_per_token": 4.0059875518672134, | ||||
| 1175 | + "prefetch_loads_per_token": 63.494467496542185, | ||||
| 1176 | + "prefetch_precision": 1.0, | ||||
| 1177 | + "loads_per_token": 74.66943291839557, | ||||
| 1178 | + "pred_recall_at_k": 1.0, | ||||
| 1179 | + "tokens": 1446, | ||||
| 1180 | + "families": { | ||||
| 1181 | + "general": { | ||||
| 1182 | + "hit_rate": 0.9178101937269373, | ||||
| 1183 | + "stall_ms_per_token": 3.8551512915129145 | ||||
| 1184 | + }, | ||||
| 1185 | + "code": { | ||||
| 1186 | + "hit_rate": 0.9123672016274864, | ||||
| 1187 | + "stall_ms_per_token": 4.001609403254976 | ||||
| 1188 | + }, | ||||
| 1189 | + "reasoning": { | ||||
| 1190 | + "hit_rate": 0.904472155448718, | ||||
| 1191 | + "stall_ms_per_token": 4.280621794871795 | ||||
| 1192 | + }, | ||||
| 1193 | + "multilingual": { | ||||
| 1194 | + "hit_rate": 0.9120592948717948, | ||||
| 1195 | + "stall_ms_per_token": 3.9672307692307696 | ||||
| 1196 | + } | ||||
| 1197 | + }, | ||||
| 1198 | + "split": "heldout" | ||||
| 1199 | + }, | ||||
| 1200 | + { | ||||
| 1201 | + "capacity": 12, | ||||
| 1202 | + "policy": "lfu", | ||||
| 1203 | + "predictor": "none", | ||||
| 1204 | + "m": 8, | ||||
| 1205 | + "hit_rate": 0.5191525175644028, | ||||
| 1206 | + "misses_per_token": 61.54847775175644, | ||||
| 1207 | + "stall_ms_per_token": 26.46584543325528, | ||||
| 1208 | + "prefetch_loads_per_token": 0.0, | ||||
| 1209 | + "prefetch_precision": null, | ||||
| 1210 | + "loads_per_token": 61.54847775175644, | ||||
| 1211 | + "pred_recall_at_k": null, | ||||
| 1212 | + "tokens": 2135, | ||||
| 1213 | + "families": { | ||||
| 1214 | + "general": { | ||||
| 1215 | + "hit_rate": 0.4492497028526149, | ||||
| 1216 | + "stall_ms_per_token": 30.313296354992115 | ||||
| 1217 | + }, | ||||
| 1218 | + "code": { | ||||
| 1219 | + "hit_rate": 0.5909910077288941, | ||||
| 1220 | + "stall_ms_per_token": 22.511854934601704 | ||||
| 1221 | + }, | ||||
| 1222 | + "reasoning": { | ||||
| 1223 | + "hit_rate": 0.47752926421404684, | ||||
| 1224 | + "stall_ms_per_token": 28.756789297658827 | ||||
| 1225 | + }, | ||||
| 1226 | + "multilingual": { | ||||
| 1227 | + "hit_rate": 0.508542239010989, | ||||
| 1228 | + "stall_ms_per_token": 27.049835164835173 | ||||
| 1229 | + } | ||||
| 1230 | + }, | ||||
| 1231 | + "split": "fit" | ||||
| 1232 | + }, | ||||
| 1233 | + { | ||||
| 1234 | + "capacity": 12, | ||||
| 1235 | + "policy": "lfu", | ||||
| 1236 | + "predictor": "none", | ||||
| 1237 | + "m": 8, | ||||
| 1238 | + "hit_rate": 0.514414764868603, | ||||
| 1239 | + "misses_per_token": 62.15491009681881, | ||||
| 1240 | + "stall_ms_per_token": 26.726611341632154, | ||||
| 1241 | + "prefetch_loads_per_token": 0.0, | ||||
| 1242 | + "prefetch_precision": null, | ||||
| 1243 | + "loads_per_token": 62.15491009681881, | ||||
| 1244 | + "pred_recall_at_k": null, | ||||
| 1245 | + "tokens": 1446, | ||||
| 1246 | + "families": { | ||||
| 1247 | + "general": { | ||||
| 1248 | + "hit_rate": 0.4477340867158672, | ||||
| 1249 | + "stall_ms_per_token": 30.396715867158672 | ||||
| 1250 | + }, | ||||
| 1251 | + "code": { | ||||
| 1252 | + "hit_rate": 0.5885228300180831, | ||||
| 1253 | + "stall_ms_per_token": 22.647703435804694 | ||||
| 1254 | + }, | ||||
| 1255 | + "reasoning": { | ||||
| 1256 | + "hit_rate": 0.5044320913461539, | ||||
| 1257 | + "stall_ms_per_token": 27.276057692307702 | ||||
| 1258 | + }, | ||||
| 1259 | + "multilingual": { | ||||
| 1260 | + "hit_rate": 0.4701522435897436, | ||||
| 1261 | + "stall_ms_per_token": 29.162820512820506 | ||||
| 1262 | + } | ||||
| 1263 | + }, | ||||
| 1264 | + "split": "heldout" | ||||
| 1265 | + }, | ||||
| 1266 | + { | ||||
| 1267 | + "capacity": 12, | ||||
| 1268 | + "policy": "lfu", | ||||
| 1269 | + "predictor": "prev_token", | ||||
| 1270 | + "m": 8, | ||||
| 1271 | + "hit_rate": 0.5191525175644028, | ||||
| 1272 | + "misses_per_token": 61.54847775175644, | ||||
| 1273 | + "stall_ms_per_token": 26.46584543325528, | ||||
| 1274 | + "prefetch_loads_per_token": 0.0, | ||||
| 1275 | + "prefetch_precision": null, | ||||
| 1276 | + "loads_per_token": 61.54847775175644, | ||||
| 1277 | + "pred_recall_at_k": null, | ||||
| 1278 | + "tokens": 2135, | ||||
| 1279 | + "families": { | ||||
| 1280 | + "general": { | ||||
| 1281 | + "hit_rate": 0.4492497028526149, | ||||
| 1282 | + "stall_ms_per_token": 30.313296354992115 | ||||
| 1283 | + }, | ||||
| 1284 | + "code": { | ||||
| 1285 | + "hit_rate": 0.5909910077288941, | ||||
| 1286 | + "stall_ms_per_token": 22.511854934601704 | ||||
| 1287 | + }, | ||||
| 1288 | + "reasoning": { | ||||
| 1289 | + "hit_rate": 0.47752926421404684, | ||||
| 1290 | + "stall_ms_per_token": 28.756789297658827 | ||||
| 1291 | + }, | ||||
| 1292 | + "multilingual": { | ||||
| 1293 | + "hit_rate": 0.508542239010989, | ||||
| 1294 | + "stall_ms_per_token": 27.049835164835173 | ||||
| 1295 | + } | ||||
| 1296 | + }, | ||||
| 1297 | + "split": "fit" | ||||
| 1298 | + }, | ||||
| 1299 | + { | ||||
| 1300 | + "capacity": 12, | ||||
| 1301 | + "policy": "lfu", | ||||
| 1302 | + "predictor": "prev_token", | ||||
| 1303 | + "m": 8, | ||||
| 1304 | + "hit_rate": 0.514414764868603, | ||||
| 1305 | + "misses_per_token": 62.15491009681881, | ||||
| 1306 | + "stall_ms_per_token": 26.726611341632154, | ||||
| 1307 | + "prefetch_loads_per_token": 0.0, | ||||
| 1308 | + "prefetch_precision": null, | ||||
| 1309 | + "loads_per_token": 62.15491009681881, | ||||
| 1310 | + "pred_recall_at_k": null, | ||||
| 1311 | + "tokens": 1446, | ||||
| 1312 | + "families": { | ||||
| 1313 | + "general": { | ||||
| 1314 | + "hit_rate": 0.4477340867158672, | ||||
| 1315 | + "stall_ms_per_token": 30.396715867158672 | ||||
| 1316 | + }, | ||||
| 1317 | + "code": { | ||||
| 1318 | + "hit_rate": 0.5885228300180831, | ||||
| 1319 | + "stall_ms_per_token": 22.647703435804694 | ||||
| 1320 | + }, | ||||
| 1321 | + "reasoning": { | ||||
| 1322 | + "hit_rate": 0.5044320913461539, | ||||
| 1323 | + "stall_ms_per_token": 27.276057692307702 | ||||
| 1324 | + }, | ||||
| 1325 | + "multilingual": { | ||||
| 1326 | + "hit_rate": 0.4701522435897436, | ||||
| 1327 | + "stall_ms_per_token": 29.162820512820506 | ||||
| 1328 | + } | ||||
| 1329 | + }, | ||||
| 1330 | + "split": "heldout" | ||||
| 1331 | + }, | ||||
| 1332 | + { | ||||
| 1333 | + "capacity": 12, | ||||
| 1334 | + "policy": "lfu", | ||||
| 1335 | + "predictor": "prev_rank", | ||||
| 1336 | + "m": 8, | ||||
| 1337 | + "hit_rate": 0.5190903103044496, | ||||
| 1338 | + "misses_per_token": 61.55644028103045, | ||||
| 1339 | + "stall_ms_per_token": 26.469269320843097, | ||||
| 1340 | + "prefetch_loads_per_token": 0.03372365339578454, | ||||
| 1341 | + "prefetch_precision": 0.1527777777777778, | ||||
| 1342 | + "loads_per_token": 61.59016393442623, | ||||
| 1343 | + "pred_recall_at_k": null, | ||||
| 1344 | + "tokens": 2135, | ||||
| 1345 | + "families": { | ||||
| 1346 | + "general": { | ||||
| 1347 | + "hit_rate": 0.4491877971473851, | ||||
| 1348 | + "stall_ms_per_token": 30.31670364500796 | ||||
| 1349 | + }, | ||||
| 1350 | + "code": { | ||||
| 1351 | + "hit_rate": 0.5909259809750297, | ||||
| 1352 | + "stall_ms_per_token": 22.515434007134402 | ||||
| 1353 | + }, | ||||
| 1354 | + "reasoning": { | ||||
| 1355 | + "hit_rate": 0.47752926421404684, | ||||
| 1356 | + "stall_ms_per_token": 28.756789297658834 | ||||
| 1357 | + }, | ||||
| 1358 | + "multilingual": { | ||||
| 1359 | + "hit_rate": 0.5084349244505495, | ||||
| 1360 | + "stall_ms_per_token": 27.05574175824177 | ||||
| 1361 | + } | ||||
| 1362 | + }, | ||||
| 1363 | + "split": "fit" | ||||
| 1364 | + }, | ||||
| 1365 | + { | ||||
| 1366 | + "capacity": 12, | ||||
| 1367 | + "policy": "lfu", | ||||
| 1368 | + "predictor": "prev_rank", | ||||
| 1369 | + "m": 8, | ||||
| 1370 | + "hit_rate": 0.5143931535269709, | ||||
| 1371 | + "misses_per_token": 62.15767634854772, | ||||
| 1372 | + "stall_ms_per_token": 26.727800829875584, | ||||
| 1373 | + "prefetch_loads_per_token": 0.03319502074688797, | ||||
| 1374 | + "prefetch_precision": 0.3333333333333333, | ||||
| 1375 | + "loads_per_token": 62.190871369294605, | ||||
| 1376 | + "pred_recall_at_k": null, | ||||
| 1377 | + "tokens": 1446, | ||||
| 1378 | + "families": { | ||||
| 1379 | + "general": { | ||||
| 1380 | + "hit_rate": 0.44769084409594095, | ||||
| 1381 | + "stall_ms_per_token": 30.399095940959413 | ||||
| 1382 | + }, | ||||
| 1383 | + "code": { | ||||
| 1384 | + "hit_rate": 0.5885087025316456, | ||||
| 1385 | + "stall_ms_per_token": 22.648481012658216 | ||||
| 1386 | + }, | ||||
| 1387 | + "reasoning": { | ||||
| 1388 | + "hit_rate": 0.5044320913461539, | ||||
| 1389 | + "stall_ms_per_token": 27.276057692307695 | ||||
| 1390 | + }, | ||||
| 1391 | + "multilingual": { | ||||
| 1392 | + "hit_rate": 0.4701522435897436, | ||||
| 1393 | + "stall_ms_per_token": 29.162820512820506 | ||||
| 1394 | + } | ||||
| 1395 | + }, | ||||
| 1396 | + "split": "heldout" | ||||
| 1397 | + }, | ||||
| 1398 | + { | ||||
| 1399 | + "capacity": 12, | ||||
| 1400 | + "policy": "lfu", | ||||
| 1401 | + "predictor": "transition", | ||||
| 1402 | + "m": 8, | ||||
| 1403 | + "hit_rate": 0.5544972189695551, | ||||
| 1404 | + "misses_per_token": 57.02435597189695, | ||||
| 1405 | + "stall_ms_per_token": 17.838453395784544, | ||||
| 1406 | + "prefetch_loads_per_token": 55.41545667447307, | ||||
| 1407 | + "prefetch_precision": 0.28176347285144365, | ||||
| 1408 | + "loads_per_token": 112.43981264637003, | ||||
| 1409 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 1410 | + "tokens": 2135, | ||||
| 1411 | + "families": { | ||||
| 1412 | + "general": { | ||||
| 1413 | + "hit_rate": 0.46577852614896986, | ||||
| 1414 | + "stall_ms_per_token": 21.2801141045959 | ||||
| 1415 | + }, | ||||
| 1416 | + "code": { | ||||
| 1417 | + "hit_rate": 0.6392315695600476, | ||||
| 1418 | + "stall_ms_per_token": 14.583581450653984 | ||||
| 1419 | + }, | ||||
| 1420 | + "reasoning": { | ||||
| 1421 | + "hit_rate": 0.5280361622073578, | ||||
| 1422 | + "stall_ms_per_token": 18.85084280936453 | ||||
| 1423 | + }, | ||||
| 1424 | + "multilingual": { | ||||
| 1425 | + "hit_rate": 0.5342548076923077, | ||||
| 1426 | + "stall_ms_per_token": 18.56085714285714 | ||||
| 1427 | + } | ||||
| 1428 | + }, | ||||
| 1429 | + "split": "fit" | ||||
| 1430 | + }, | ||||
| 1431 | + { | ||||
| 1432 | + "capacity": 12, | ||||
| 1433 | + "policy": "lfu", | ||||
| 1434 | + "predictor": "transition", | ||||
| 1435 | + "m": 8, | ||||
| 1436 | + "hit_rate": 0.5264036566390041, | ||||
| 1437 | + "misses_per_token": 60.62033195020747, | ||||
| 1438 | + "stall_ms_per_token": 18.922997233748315, | ||||
| 1439 | + "prefetch_loads_per_token": 59.40387275242047, | ||||
| 1440 | + "prefetch_precision": 0.26202007031595614, | ||||
| 1441 | + "loads_per_token": 120.02420470262794, | ||||
| 1442 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 1443 | + "tokens": 1446, | ||||
| 1444 | + "families": { | ||||
| 1445 | + "general": { | ||||
| 1446 | + "hit_rate": 0.4203903367158672, | ||||
| 1447 | + "stall_ms_per_token": 23.073022140221415 | ||||
| 1448 | + }, | ||||
| 1449 | + "code": { | ||||
| 1450 | + "hit_rate": 0.6239828209764918, | ||||
| 1451 | + "stall_ms_per_token": 15.122777576853533 | ||||
| 1452 | + }, | ||||
| 1453 | + "reasoning": { | ||||
| 1454 | + "hit_rate": 0.5442958733974359, | ||||
| 1455 | + "stall_ms_per_token": 18.19703205128204 | ||||
| 1456 | + }, | ||||
| 1457 | + "multilingual": { | ||||
| 1458 | + "hit_rate": 0.4729567307692308, | ||||
| 1459 | + "stall_ms_per_token": 20.94117948717948 | ||||
| 1460 | + } | ||||
| 1461 | + }, | ||||
| 1462 | + "split": "heldout" | ||||
| 1463 | + }, | ||||
| 1464 | + { | ||||
| 1465 | + "capacity": 12, | ||||
| 1466 | + "policy": "lfu", | ||||
| 1467 | + "predictor": "probe", | ||||
| 1468 | + "m": 8, | ||||
| 1469 | + "hit_rate": 0.3988985655737705, | ||||
| 1470 | + "misses_per_token": 76.94098360655738, | ||||
| 1471 | + "stall_ms_per_token": 23.853274941451996, | ||||
| 1472 | + "prefetch_loads_per_token": 98.13770491803278, | ||||
| 1473 | + "prefetch_precision": 0.09016628166701667, | ||||
| 1474 | + "loads_per_token": 175.07868852459018, | ||||
| 1475 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 1476 | + "tokens": 2135, | ||||
| 1477 | + "families": { | ||||
| 1478 | + "general": { | ||||
| 1479 | + "hit_rate": 0.3470929080824089, | ||||
| 1480 | + "stall_ms_per_token": 25.86802535657687 | ||||
| 1481 | + }, | ||||
| 1482 | + "code": { | ||||
| 1483 | + "hit_rate": 0.4414387633769322, | ||||
| 1484 | + "stall_ms_per_token": 22.229460166468503 | ||||
| 1485 | + }, | ||||
| 1486 | + "reasoning": { | ||||
| 1487 | + "hit_rate": 0.3731709866220736, | ||||
| 1488 | + "stall_ms_per_token": 24.837311036789284 | ||||
| 1489 | + }, | ||||
| 1490 | + "multilingual": { | ||||
| 1491 | + "hit_rate": 0.4115513392857143, | ||||
| 1492 | + "stall_ms_per_token": 23.30408241758242 | ||||
| 1493 | + } | ||||
| 1494 | + }, | ||||
| 1495 | + "split": "fit" | ||||
| 1496 | + }, | ||||
| 1497 | + { | ||||
| 1498 | + "capacity": 12, | ||||
| 1499 | + "policy": "lfu", | ||||
| 1500 | + "predictor": "probe", | ||||
| 1501 | + "m": 8, | ||||
| 1502 | + "hit_rate": 0.38072700553250344, | ||||
| 1503 | + "misses_per_token": 79.26694329183955, | ||||
| 1504 | + "stall_ms_per_token": 24.554273858921196, | ||||
| 1505 | + "prefetch_loads_per_token": 98.54564315352697, | ||||
| 1506 | + "prefetch_precision": 0.08690007508930013, | ||||
| 1507 | + "loads_per_token": 177.81258644536652, | ||||
| 1508 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 1509 | + "tokens": 1446, | ||||
| 1510 | + "families": { | ||||
| 1511 | + "general": { | ||||
| 1512 | + "hit_rate": 0.30225149907749077, | ||||
| 1513 | + "stall_ms_per_token": 27.639797047970482 | ||||
| 1514 | + }, | ||||
| 1515 | + "code": { | ||||
| 1516 | + "hit_rate": 0.45597875226039786, | ||||
| 1517 | + "stall_ms_per_token": 21.617142857142877 | ||||
| 1518 | + }, | ||||
| 1519 | + "reasoning": { | ||||
| 1520 | + "hit_rate": 0.3870693108974359, | ||||
| 1521 | + "stall_ms_per_token": 24.27478205128205 | ||||
| 1522 | + }, | ||||
| 1523 | + "multilingual": { | ||||
| 1524 | + "hit_rate": 0.3535657051282051, | ||||
| 1525 | + "stall_ms_per_token": 25.556358974358975 | ||||
| 1526 | + } | ||||
| 1527 | + }, | ||||
| 1528 | + "split": "heldout" | ||||
| 1529 | + }, | ||||
| 1530 | + { | ||||
| 1531 | + "capacity": 12, | ||||
| 1532 | + "policy": "lfu", | ||||
| 1533 | + "predictor": "oracle", | ||||
| 1534 | + "m": 8, | ||||
| 1535 | + "hit_rate": 0.7024736533957845, | ||||
| 1536 | + "misses_per_token": 38.08337236533958, | ||||
| 1537 | + "stall_ms_per_token": 12.118276346604212, | ||||
| 1538 | + "prefetch_loads_per_token": 61.144262295081965, | ||||
| 1539 | + "prefetch_precision": 0.534099875136928, | ||||
| 1540 | + "loads_per_token": 99.22763466042154, | ||||
| 1541 | + "pred_recall_at_k": 1.0, | ||||
| 1542 | + "tokens": 2135, | ||||
| 1543 | + "families": { | ||||
| 1544 | + "general": { | ||||
| 1545 | + "hit_rate": 0.6589119453248812, | ||||
| 1546 | + "stall_ms_per_token": 13.814348652931859 | ||||
| 1547 | + }, | ||||
| 1548 | + "code": { | ||||
| 1549 | + "hit_rate": 0.7429027942925089, | ||||
| 1550 | + "stall_ms_per_token": 10.576066587395966 | ||||
| 1551 | + }, | ||||
| 1552 | + "reasoning": { | ||||
| 1553 | + "hit_rate": 0.6835284280936454, | ||||
| 1554 | + "stall_ms_per_token": 12.84013377926422 | ||||
| 1555 | + }, | ||||
| 1556 | + "multilingual": { | ||||
| 1557 | + "hit_rate": 0.7001416552197802, | ||||
| 1558 | + "stall_ms_per_token": 12.148335164835158 | ||||
| 1559 | + } | ||||
| 1560 | + }, | ||||
| 1561 | + "split": "fit" | ||||
| 1562 | + }, | ||||
| 1563 | + { | ||||
| 1564 | + "capacity": 12, | ||||
| 1565 | + "policy": "lfu", | ||||
| 1566 | + "predictor": "oracle", | ||||
| 1567 | + "m": 8, | ||||
| 1568 | + "hit_rate": 0.699229555670816, | ||||
| 1569 | + "misses_per_token": 38.49861687413554, | ||||
| 1570 | + "stall_ms_per_token": 12.242239280774557, | ||||
| 1571 | + "prefetch_loads_per_token": 61.906639004149376, | ||||
| 1572 | + "prefetch_precision": 0.5330049040964286, | ||||
| 1573 | + "loads_per_token": 100.40525587828492, | ||||
| 1574 | + "pred_recall_at_k": 1.0, | ||||
| 1575 | + "tokens": 1446, | ||||
| 1576 | + "families": { | ||||
| 1577 | + "general": { | ||||
| 1578 | + "hit_rate": 0.6502969326568265, | ||||
| 1579 | + "stall_ms_per_token": 14.185752767527676 | ||||
| 1580 | + }, | ||||
| 1581 | + "code": { | ||||
| 1582 | + "hit_rate": 0.7454792043399638, | ||||
| 1583 | + "stall_ms_per_token": 10.426213381555154 | ||||
| 1584 | + }, | ||||
| 1585 | + "reasoning": { | ||||
| 1586 | + "hit_rate": 0.7046023637820513, | ||||
| 1587 | + "stall_ms_per_token": 12.000224358974366 | ||||
| 1588 | + }, | ||||
| 1589 | + "multilingual": { | ||||
| 1590 | + "hit_rate": 0.680488782051282, | ||||
| 1591 | + "stall_ms_per_token": 12.918820512820515 | ||||
| 1592 | + } | ||||
| 1593 | + }, | ||||
| 1594 | + "split": "heldout" | ||||
| 1595 | + }, | ||||
| 1596 | + { | ||||
| 1597 | + "capacity": 16, | ||||
| 1598 | + "policy": "lru", | ||||
| 1599 | + "predictor": "none", | ||||
| 1600 | + "m": 8, | ||||
| 1601 | + "hit_rate": 0.5847189695550351, | ||||
| 1602 | + "misses_per_token": 53.155971896955506, | ||||
| 1603 | + "stall_ms_per_token": 22.85706791569087, | ||||
| 1604 | + "prefetch_loads_per_token": 0.0, | ||||
| 1605 | + "prefetch_precision": null, | ||||
| 1606 | + "loads_per_token": 53.155971896955506, | ||||
| 1607 | + "pred_recall_at_k": null, | ||||
| 1608 | + "tokens": 2135, | ||||
| 1609 | + "families": { | ||||
| 1610 | + "general": { | ||||
| 1611 | + "hit_rate": 0.5302099841521395, | ||||
| 1612 | + "stall_ms_per_token": 25.857242472266257 | ||||
| 1613 | + }, | ||||
| 1614 | + "code": { | ||||
| 1615 | + "hit_rate": 0.6472205707491082, | ||||
| 1616 | + "stall_ms_per_token": 19.4169797859691 | ||||
| 1617 | + }, | ||||
| 1618 | + "reasoning": { | ||||
| 1619 | + "hit_rate": 0.5454640468227425, | ||||
| 1620 | + "stall_ms_per_token": 25.01765886287625 | ||||
| 1621 | + }, | ||||
| 1622 | + "multilingual": { | ||||
| 1623 | + "hit_rate": 0.5670501373626373, | ||||
| 1624 | + "stall_ms_per_token": 23.829560439560428 | ||||
| 1625 | + } | ||||
| 1626 | + }, | ||||
| 1627 | + "split": "fit" | ||||
| 1628 | + }, | ||||
| 1629 | + { | ||||
| 1630 | + "capacity": 16, | ||||
| 1631 | + "policy": "lru", | ||||
| 1632 | + "predictor": "none", | ||||
| 1633 | + "m": 8, | ||||
| 1634 | + "hit_rate": 0.5735001728907331, | ||||
| 1635 | + "misses_per_token": 54.59197786998617, | ||||
| 1636 | + "stall_ms_per_token": 23.47455048409405, | ||||
| 1637 | + "prefetch_loads_per_token": 0.0, | ||||
| 1638 | + "prefetch_precision": null, | ||||
| 1639 | + "loads_per_token": 54.59197786998617, | ||||
| 1640 | + "pred_recall_at_k": null, | ||||
| 1641 | + "tokens": 1446, | ||||
| 1642 | + "families": { | ||||
| 1643 | + "general": { | ||||
| 1644 | + "hit_rate": 0.498270295202952, | ||||
| 1645 | + "stall_ms_per_token": 27.61520295202951 | ||||
| 1646 | + }, | ||||
| 1647 | + "code": { | ||||
| 1648 | + "hit_rate": 0.6487624321880651, | ||||
| 1649 | + "stall_ms_per_token": 19.33211573236891 | ||||
| 1650 | + }, | ||||
| 1651 | + "reasoning": { | ||||
| 1652 | + "hit_rate": 0.5767227564102564, | ||||
| 1653 | + "stall_ms_per_token": 23.29717948717948 | ||||
| 1654 | + }, | ||||
| 1655 | + "multilingual": { | ||||
| 1656 | + "hit_rate": 0.5260416666666666, | ||||
| 1657 | + "stall_ms_per_token": 26.086666666666666 | ||||
| 1658 | + } | ||||
| 1659 | + }, | ||||
| 1660 | + "split": "heldout" | ||||
| 1661 | + }, | ||||
| 1662 | + { | ||||
| 1663 | + "capacity": 16, | ||||
| 1664 | + "policy": "lru", | ||||
| 1665 | + "predictor": "prev_token", | ||||
| 1666 | + "m": 8, | ||||
| 1667 | + "hit_rate": 0.5847189695550351, | ||||
| 1668 | + "misses_per_token": 53.155971896955506, | ||||
| 1669 | + "stall_ms_per_token": 22.85706791569087, | ||||
| 1670 | + "prefetch_loads_per_token": 0.0, | ||||
| 1671 | + "prefetch_precision": null, | ||||
| 1672 | + "loads_per_token": 53.155971896955506, | ||||
| 1673 | + "pred_recall_at_k": null, | ||||
| 1674 | + "tokens": 2135, | ||||
| 1675 | + "families": { | ||||
| 1676 | + "general": { | ||||
| 1677 | + "hit_rate": 0.5302099841521395, | ||||
| 1678 | + "stall_ms_per_token": 25.857242472266257 | ||||
| 1679 | + }, | ||||
| 1680 | + "code": { | ||||
| 1681 | + "hit_rate": 0.6472205707491082, | ||||
| 1682 | + "stall_ms_per_token": 19.4169797859691 | ||||
| 1683 | + }, | ||||
| 1684 | + "reasoning": { | ||||
| 1685 | + "hit_rate": 0.5454640468227425, | ||||
| 1686 | + "stall_ms_per_token": 25.01765886287625 | ||||
| 1687 | + }, | ||||
| 1688 | + "multilingual": { | ||||
| 1689 | + "hit_rate": 0.5670501373626373, | ||||
| 1690 | + "stall_ms_per_token": 23.829560439560428 | ||||
| 1691 | + } | ||||
| 1692 | + }, | ||||
| 1693 | + "split": "fit" | ||||
| 1694 | + }, | ||||
| 1695 | + { | ||||
| 1696 | + "capacity": 16, | ||||
| 1697 | + "policy": "lru", | ||||
| 1698 | + "predictor": "prev_token", | ||||
| 1699 | + "m": 8, | ||||
| 1700 | + "hit_rate": 0.5735001728907331, | ||||
| 1701 | + "misses_per_token": 54.59197786998617, | ||||
| 1702 | + "stall_ms_per_token": 23.47455048409405, | ||||
| 1703 | + "prefetch_loads_per_token": 0.0, | ||||
| 1704 | + "prefetch_precision": null, | ||||
| 1705 | + "loads_per_token": 54.59197786998617, | ||||
| 1706 | + "pred_recall_at_k": null, | ||||
| 1707 | + "tokens": 1446, | ||||
| 1708 | + "families": { | ||||
| 1709 | + "general": { | ||||
| 1710 | + "hit_rate": 0.498270295202952, | ||||
| 1711 | + "stall_ms_per_token": 27.61520295202951 | ||||
| 1712 | + }, | ||||
| 1713 | + "code": { | ||||
| 1714 | + "hit_rate": 0.6487624321880651, | ||||
| 1715 | + "stall_ms_per_token": 19.33211573236891 | ||||
| 1716 | + }, | ||||
| 1717 | + "reasoning": { | ||||
| 1718 | + "hit_rate": 0.5767227564102564, | ||||
| 1719 | + "stall_ms_per_token": 23.29717948717948 | ||||
| 1720 | + }, | ||||
| 1721 | + "multilingual": { | ||||
| 1722 | + "hit_rate": 0.5260416666666666, | ||||
| 1723 | + "stall_ms_per_token": 26.086666666666666 | ||||
| 1724 | + } | ||||
| 1725 | + }, | ||||
| 1726 | + "split": "heldout" | ||||
| 1727 | + }, | ||||
| 1728 | + { | ||||
| 1729 | + "capacity": 16, | ||||
| 1730 | + "policy": "lru", | ||||
| 1731 | + "predictor": "prev_rank", | ||||
| 1732 | + "m": 8, | ||||
| 1733 | + "hit_rate": 0.5847226288056206, | ||||
| 1734 | + "misses_per_token": 53.155503512880564, | ||||
| 1735 | + "stall_ms_per_token": 22.856866510538644, | ||||
| 1736 | + "prefetch_loads_per_token": 0.02857142857142857, | ||||
| 1737 | + "prefetch_precision": 0.3770491803278688, | ||||
| 1738 | + "loads_per_token": 53.18407494145199, | ||||
| 1739 | + "pred_recall_at_k": null, | ||||
| 1740 | + "tokens": 2135, | ||||
| 1741 | + "families": { | ||||
| 1742 | + "general": { | ||||
| 1743 | + "hit_rate": 0.5301852218700476, | ||||
| 1744 | + "stall_ms_per_token": 25.858605388272597 | ||||
| 1745 | + }, | ||||
| 1746 | + "code": { | ||||
| 1747 | + "hit_rate": 0.6472763079667063, | ||||
| 1748 | + "stall_ms_per_token": 19.413912009512508 | ||||
| 1749 | + }, | ||||
| 1750 | + "reasoning": { | ||||
| 1751 | + "hit_rate": 0.545516304347826, | ||||
| 1752 | + "stall_ms_per_token": 25.014782608695647 | ||||
| 1753 | + }, | ||||
| 1754 | + "multilingual": { | ||||
| 1755 | + "hit_rate": 0.5669428228021978, | ||||
| 1756 | + "stall_ms_per_token": 23.835467032967014 | ||||
| 1757 | + } | ||||
| 1758 | + }, | ||||
| 1759 | + "split": "fit" | ||||
| 1760 | + }, | ||||
| 1761 | + { | ||||
| 1762 | + "capacity": 16, | ||||
| 1763 | + "policy": "lru", | ||||
| 1764 | + "predictor": "prev_rank", | ||||
| 1765 | + "m": 8, | ||||
| 1766 | + "hit_rate": 0.573505575726141, | ||||
| 1767 | + "misses_per_token": 54.59128630705394, | ||||
| 1768 | + "stall_ms_per_token": 23.474253112033196, | ||||
| 1769 | + "prefetch_loads_per_token": 0.02074688796680498, | ||||
| 1770 | + "prefetch_precision": 0.4, | ||||
| 1771 | + "loads_per_token": 54.61203319502075, | ||||
| 1772 | + "pred_recall_at_k": null, | ||||
| 1773 | + "tokens": 1446, | ||||
| 1774 | + "families": { | ||||
| 1775 | + "general": { | ||||
| 1776 | + "hit_rate": 0.4982991236162362, | ||||
| 1777 | + "stall_ms_per_token": 27.61361623616235 | ||||
| 1778 | + }, | ||||
| 1779 | + "code": { | ||||
| 1780 | + "hit_rate": 0.6487624321880651, | ||||
| 1781 | + "stall_ms_per_token": 19.332115732368905 | ||||
| 1782 | + }, | ||||
| 1783 | + "reasoning": { | ||||
| 1784 | + "hit_rate": 0.5766977163461539, | ||||
| 1785 | + "stall_ms_per_token": 23.298557692307682 | ||||
| 1786 | + }, | ||||
| 1787 | + "multilingual": { | ||||
| 1788 | + "hit_rate": 0.5260416666666666, | ||||
| 1789 | + "stall_ms_per_token": 26.086666666666666 | ||||
| 1790 | + } | ||||
| 1791 | + }, | ||||
| 1792 | + "split": "heldout" | ||||
| 1793 | + }, | ||||
| 1794 | + { | ||||
| 1795 | + "capacity": 16, | ||||
| 1796 | + "policy": "lru", | ||||
| 1797 | + "predictor": "transition", | ||||
| 1798 | + "m": 8, | ||||
| 1799 | + "hit_rate": 0.6708028395784543, | ||||
| 1800 | + "misses_per_token": 42.13723653395785, | ||||
| 1801 | + "stall_ms_per_token": 13.278813114754097, | ||||
| 1802 | + "prefetch_loads_per_token": 41.81967213114754, | ||||
| 1803 | + "prefetch_precision": 0.526045808366467, | ||||
| 1804 | + "loads_per_token": 83.95690866510539, | ||||
| 1805 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 1806 | + "tokens": 2135, | ||||
| 1807 | + "families": { | ||||
| 1808 | + "general": { | ||||
| 1809 | + "hit_rate": 0.6250247622820919, | ||||
| 1810 | + "stall_ms_per_token": 15.060393026941366 | ||||
| 1811 | + }, | ||||
| 1812 | + "code": { | ||||
| 1813 | + "hit_rate": 0.7201712990487514, | ||||
| 1814 | + "stall_ms_per_token": 11.381871581450664 | ||||
| 1815 | + }, | ||||
| 1816 | + "reasoning": { | ||||
| 1817 | + "hit_rate": 0.6466607441471572, | ||||
| 1818 | + "stall_ms_per_token": 14.196795986622066 | ||||
| 1819 | + }, | ||||
| 1820 | + "multilingual": { | ||||
| 1821 | + "hit_rate": 0.6559280563186813, | ||||
| 1822 | + "stall_ms_per_token": 13.819126373626382 | ||||
| 1823 | + } | ||||
| 1824 | + }, | ||||
| 1825 | + "split": "fit" | ||||
| 1826 | + }, | ||||
| 1827 | + { | ||||
| 1828 | + "capacity": 16, | ||||
| 1829 | + "policy": "lru", | ||||
| 1830 | + "predictor": "transition", | ||||
| 1831 | + "m": 8, | ||||
| 1832 | + "hit_rate": 0.663327714384509, | ||||
| 1833 | + "misses_per_token": 43.09405255878285, | ||||
| 1834 | + "stall_ms_per_token": 13.57057538035961, | ||||
| 1835 | + "prefetch_loads_per_token": 44.85615491009682, | ||||
| 1836 | + "prefetch_precision": 0.4896241250655237, | ||||
| 1837 | + "loads_per_token": 87.95020746887967, | ||||
| 1838 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 1839 | + "tokens": 1446, | ||||
| 1840 | + "families": { | ||||
| 1841 | + "general": { | ||||
| 1842 | + "hit_rate": 0.6166541743542435, | ||||
| 1843 | + "stall_ms_per_token": 15.432874538745384 | ||||
| 1844 | + }, | ||||
| 1845 | + "code": { | ||||
| 1846 | + "hit_rate": 0.7129718580470162, | ||||
| 1847 | + "stall_ms_per_token": 11.627497287522608 | ||||
| 1848 | + }, | ||||
| 1849 | + "reasoning": { | ||||
| 1850 | + "hit_rate": 0.660331530448718, | ||||
| 1851 | + "stall_ms_per_token": 13.632788461538459 | ||||
| 1852 | + }, | ||||
| 1853 | + "multilingual": { | ||||
| 1854 | + "hit_rate": 0.632011217948718, | ||||
| 1855 | + "stall_ms_per_token": 14.743538461538463 | ||||
| 1856 | + } | ||||
| 1857 | + }, | ||||
| 1858 | + "split": "heldout" | ||||
| 1859 | + }, | ||||
| 1860 | + { | ||||
| 1861 | + "capacity": 16, | ||||
| 1862 | + "policy": "lru", | ||||
| 1863 | + "predictor": "probe", | ||||
| 1864 | + "m": 8, | ||||
| 1865 | + "hit_rate": 0.5208321135831382, | ||||
| 1866 | + "misses_per_token": 61.33348946135831, | ||||
| 1867 | + "stall_ms_per_token": 19.076081498829023, | ||||
| 1868 | + "prefetch_loads_per_token": 80.38220140515223, | ||||
| 1869 | + "prefetch_precision": 0.1531500559388402, | ||||
| 1870 | + "loads_per_token": 141.71569086651053, | ||||
| 1871 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 1872 | + "tokens": 2135, | ||||
| 1873 | + "families": { | ||||
| 1874 | + "general": { | ||||
| 1875 | + "hit_rate": 0.48129209587955624, | ||||
| 1876 | + "stall_ms_per_token": 20.616522979397757 | ||||
| 1877 | + }, | ||||
| 1878 | + "code": { | ||||
| 1879 | + "hit_rate": 0.5574186236623068, | ||||
| 1880 | + "stall_ms_per_token": 17.67323900118906 | ||||
| 1881 | + }, | ||||
| 1882 | + "reasoning": { | ||||
| 1883 | + "hit_rate": 0.5044680183946488, | ||||
| 1884 | + "stall_ms_per_token": 19.693397993311034 | ||||
| 1885 | + }, | ||||
| 1886 | + "multilingual": { | ||||
| 1887 | + "hit_rate": 0.5182864010989011, | ||||
| 1888 | + "stall_ms_per_token": 19.1398021978022 | ||||
| 1889 | + } | ||||
| 1890 | + }, | ||||
| 1891 | + "split": "fit" | ||||
| 1892 | + }, | ||||
| 1893 | + { | ||||
| 1894 | + "capacity": 16, | ||||
| 1895 | + "policy": "lru", | ||||
| 1896 | + "predictor": "probe", | ||||
| 1897 | + "m": 8, | ||||
| 1898 | + "hit_rate": 0.521000821230982, | ||||
| 1899 | + "misses_per_token": 61.3118948824343, | ||||
| 1900 | + "stall_ms_per_token": 19.07236376210236, | ||||
| 1901 | + "prefetch_loads_per_token": 79.27178423236515, | ||||
| 1902 | + "prefetch_precision": 0.14992977221771486, | ||||
| 1903 | + "loads_per_token": 140.58367911479945, | ||||
| 1904 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 1905 | + "tokens": 1446, | ||||
| 1906 | + "families": { | ||||
| 1907 | + "general": { | ||||
| 1908 | + "hit_rate": 0.47108510147601473, | ||||
| 1909 | + "stall_ms_per_token": 21.059992619926195 | ||||
| 1910 | + }, | ||||
| 1911 | + "code": { | ||||
| 1912 | + "hit_rate": 0.5767828887884268, | ||||
| 1913 | + "stall_ms_per_token": 16.892018083182652 | ||||
| 1914 | + }, | ||||
| 1915 | + "reasoning": { | ||||
| 1916 | + "hit_rate": 0.5087389823717948, | ||||
| 1917 | + "stall_ms_per_token": 19.492749999999997 | ||||
| 1918 | + }, | ||||
| 1919 | + "multilingual": { | ||||
| 1920 | + "hit_rate": 0.5218349358974359, | ||||
| 1921 | + "stall_ms_per_token": 19.002512820512827 | ||||
| 1922 | + } | ||||
| 1923 | + }, | ||||
| 1924 | + "split": "heldout" | ||||
| 1925 | + }, | ||||
| 1926 | + { | ||||
| 1927 | + "capacity": 16, | ||||
| 1928 | + "policy": "lru", | ||||
| 1929 | + "predictor": "oracle", | ||||
| 1930 | + "m": 8, | ||||
| 1931 | + "hit_rate": 0.9387917154566745, | ||||
| 1932 | + "misses_per_token": 7.834660421545667, | ||||
| 1933 | + "stall_ms_per_token": 2.9194351288056275, | ||||
| 1934 | + "prefetch_loads_per_token": 51.83044496487119, | ||||
| 1935 | + "prefetch_precision": 1.0, | ||||
| 1936 | + "loads_per_token": 59.66510538641686, | ||||
| 1937 | + "pred_recall_at_k": 1.0, | ||||
| 1938 | + "tokens": 2135, | ||||
| 1939 | + "families": { | ||||
| 1940 | + "general": { | ||||
| 1941 | + "hit_rate": 0.9340951862123613, | ||||
| 1942 | + "stall_ms_per_token": 3.1129667194928694 | ||||
| 1943 | + }, | ||||
| 1944 | + "code": { | ||||
| 1945 | + "hit_rate": 0.9424791914387634, | ||||
| 1946 | + "stall_ms_per_token": 2.788337693222353 | ||||
| 1947 | + }, | ||||
| 1948 | + "reasoning": { | ||||
| 1949 | + "hit_rate": 0.9400083612040134, | ||||
| 1950 | + "stall_ms_per_token": 2.8571505016722414 | ||||
| 1951 | + }, | ||||
| 1952 | + "multilingual": { | ||||
| 1953 | + "hit_rate": 0.9374141483516484, | ||||
| 1954 | + "stall_ms_per_token": 2.9380000000000006 | ||||
| 1955 | + } | ||||
| 1956 | + }, | ||||
| 1957 | + "split": "fit" | ||||
| 1958 | + }, | ||||
| 1959 | + { | ||||
| 1960 | + "capacity": 16, | ||||
| 1961 | + "policy": "lru", | ||||
| 1962 | + "predictor": "oracle", | ||||
| 1963 | + "m": 8, | ||||
| 1964 | + "hit_rate": 0.9417412257952974, | ||||
| 1965 | + "misses_per_token": 7.4571230982019365, | ||||
| 1966 | + "stall_ms_per_token": 2.808222683264183, | ||||
| 1967 | + "prefetch_loads_per_token": 53.25449515905947, | ||||
| 1968 | + "prefetch_precision": 1.0, | ||||
| 1969 | + "loads_per_token": 60.711618257261414, | ||||
| 1970 | + "pred_recall_at_k": 1.0, | ||||
| 1971 | + "tokens": 1446, | ||||
| 1972 | + "families": { | ||||
| 1973 | + "general": { | ||||
| 1974 | + "hit_rate": 0.9358711946494465, | ||||
| 1975 | + "stall_ms_per_token": 3.0932214022140254 | ||||
| 1976 | + }, | ||||
| 1977 | + "code": { | ||||
| 1978 | + "hit_rate": 0.9478271925858951, | ||||
| 1979 | + "stall_ms_per_token": 2.5489294755877037 | ||||
| 1980 | + }, | ||||
| 1981 | + "reasoning": { | ||||
| 1982 | + "hit_rate": 0.9409304887820513, | ||||
| 1983 | + "stall_ms_per_token": 2.785955128205128 | ||||
| 1984 | + }, | ||||
| 1985 | + "multilingual": { | ||||
| 1986 | + "hit_rate": 0.9435096153846154, | ||||
| 1987 | + "stall_ms_per_token": 2.702256410256411 | ||||
| 1988 | + } | ||||
| 1989 | + }, | ||||
| 1990 | + "split": "heldout" | ||||
| 1991 | + }, | ||||
| 1992 | + { | ||||
| 1993 | + "capacity": 16, | ||||
| 1994 | + "policy": "lfu", | ||||
| 1995 | + "predictor": "none", | ||||
| 1996 | + "m": 8, | ||||
| 1997 | + "hit_rate": 0.5952393149882904, | ||||
| 1998 | + "misses_per_token": 51.80936768149883, | ||||
| 1999 | + "stall_ms_per_token": 22.278028103044548, | ||||
| 2000 | + "prefetch_loads_per_token": 0.0, | ||||
| 2001 | + "prefetch_precision": null, | ||||
| 2002 | + "loads_per_token": 51.80936768149883, | ||||
| 2003 | + "pred_recall_at_k": null, | ||||
| 2004 | + "tokens": 2135, | ||||
| 2005 | + "families": { | ||||
| 2006 | + "general": { | ||||
| 2007 | + "hit_rate": 0.5144611727416799, | ||||
| 2008 | + "stall_ms_per_token": 26.72405705229791 | ||||
| 2009 | + }, | ||||
| 2010 | + "code": { | ||||
| 2011 | + "hit_rate": 0.6684285820451843, | ||||
| 2012 | + "stall_ms_per_token": 18.249690844233054 | ||||
| 2013 | + }, | ||||
| 2014 | + "reasoning": { | ||||
| 2015 | + "hit_rate": 0.5496969063545151, | ||||
| 2016 | + "stall_ms_per_token": 24.784682274247473 | ||||
| 2017 | + }, | ||||
| 2018 | + "multilingual": { | ||||
| 2019 | + "hit_rate": 0.6035800137362637, | ||||
| 2020 | + "stall_ms_per_token": 21.818956043956014 | ||||
| 2021 | + } | ||||
| 2022 | + }, | ||||
| 2023 | + "split": "fit" | ||||
| 2024 | + }, | ||||
| 2025 | + { | ||||
| 2026 | + "capacity": 16, | ||||
| 2027 | + "policy": "lfu", | ||||
| 2028 | + "predictor": "none", | ||||
| 2029 | + "m": 8, | ||||
| 2030 | + "hit_rate": 0.5910377766251729, | ||||
| 2031 | + "misses_per_token": 52.34716459197787, | ||||
| 2032 | + "stall_ms_per_token": 22.509280774550543, | ||||
| 2033 | + "prefetch_loads_per_token": 0.0, | ||||
| 2034 | + "prefetch_precision": null, | ||||
| 2035 | + "loads_per_token": 52.34716459197787, | ||||
| 2036 | + "pred_recall_at_k": null, | ||||
| 2037 | + "tokens": 1446, | ||||
| 2038 | + "families": { | ||||
| 2039 | + "general": { | ||||
| 2040 | + "hit_rate": 0.5278050046125461, | ||||
| 2041 | + "stall_ms_per_token": 25.98961254612546 | ||||
| 2042 | + }, | ||||
| 2043 | + "code": { | ||||
| 2044 | + "hit_rate": 0.6605871383363472, | ||||
| 2045 | + "stall_ms_per_token": 18.68128390596748 | ||||
| 2046 | + }, | ||||
| 2047 | + "reasoning": { | ||||
| 2048 | + "hit_rate": 0.5844100560897436, | ||||
| 2049 | + "stall_ms_per_token": 22.874070512820506 | ||||
| 2050 | + }, | ||||
| 2051 | + "multilingual": { | ||||
| 2052 | + "hit_rate": 0.5366586538461539, | ||||
| 2053 | + "stall_ms_per_token": 25.50230769230769 | ||||
| 2054 | + } | ||||
| 2055 | + }, | ||||
| 2056 | + "split": "heldout" | ||||
| 2057 | + }, | ||||
| 2058 | + { | ||||
| 2059 | + "capacity": 16, | ||||
| 2060 | + "policy": "lfu", | ||||
| 2061 | + "predictor": "prev_token", | ||||
| 2062 | + "m": 8, | ||||
| 2063 | + "hit_rate": 0.5952393149882904, | ||||
| 2064 | + "misses_per_token": 51.80936768149883, | ||||
| 2065 | + "stall_ms_per_token": 22.278028103044548, | ||||
| 2066 | + "prefetch_loads_per_token": 0.0, | ||||
| 2067 | + "prefetch_precision": null, | ||||
| 2068 | + "loads_per_token": 51.80936768149883, | ||||
| 2069 | + "pred_recall_at_k": null, | ||||
| 2070 | + "tokens": 2135, | ||||
| 2071 | + "families": { | ||||
| 2072 | + "general": { | ||||
| 2073 | + "hit_rate": 0.5144611727416799, | ||||
| 2074 | + "stall_ms_per_token": 26.72405705229791 | ||||
| 2075 | + }, | ||||
| 2076 | + "code": { | ||||
| 2077 | + "hit_rate": 0.6684285820451843, | ||||
| 2078 | + "stall_ms_per_token": 18.249690844233054 | ||||
| 2079 | + }, | ||||
| 2080 | + "reasoning": { | ||||
| 2081 | + "hit_rate": 0.5496969063545151, | ||||
| 2082 | + "stall_ms_per_token": 24.784682274247473 | ||||
| 2083 | + }, | ||||
| 2084 | + "multilingual": { | ||||
| 2085 | + "hit_rate": 0.6035800137362637, | ||||
| 2086 | + "stall_ms_per_token": 21.818956043956014 | ||||
| 2087 | + } | ||||
| 2088 | + }, | ||||
| 2089 | + "split": "fit" | ||||
| 2090 | + }, | ||||
| 2091 | + { | ||||
| 2092 | + "capacity": 16, | ||||
| 2093 | + "policy": "lfu", | ||||
| 2094 | + "predictor": "prev_token", | ||||
| 2095 | + "m": 8, | ||||
| 2096 | + "hit_rate": 0.5910377766251729, | ||||
| 2097 | + "misses_per_token": 52.34716459197787, | ||||
| 2098 | + "stall_ms_per_token": 22.509280774550543, | ||||
| 2099 | + "prefetch_loads_per_token": 0.0, | ||||
| 2100 | + "prefetch_precision": null, | ||||
| 2101 | + "loads_per_token": 52.34716459197787, | ||||
| 2102 | + "pred_recall_at_k": null, | ||||
| 2103 | + "tokens": 1446, | ||||
| 2104 | + "families": { | ||||
| 2105 | + "general": { | ||||
| 2106 | + "hit_rate": 0.5278050046125461, | ||||
| 2107 | + "stall_ms_per_token": 25.98961254612546 | ||||
| 2108 | + }, | ||||
| 2109 | + "code": { | ||||
| 2110 | + "hit_rate": 0.6605871383363472, | ||||
| 2111 | + "stall_ms_per_token": 18.68128390596748 | ||||
| 2112 | + }, | ||||
| 2113 | + "reasoning": { | ||||
| 2114 | + "hit_rate": 0.5844100560897436, | ||||
| 2115 | + "stall_ms_per_token": 22.874070512820506 | ||||
| 2116 | + }, | ||||
| 2117 | + "multilingual": { | ||||
| 2118 | + "hit_rate": 0.5366586538461539, | ||||
| 2119 | + "stall_ms_per_token": 25.50230769230769 | ||||
| 2120 | + } | ||||
| 2121 | + }, | ||||
| 2122 | + "split": "heldout" | ||||
| 2123 | + }, | ||||
| 2124 | + { | ||||
| 2125 | + "capacity": 16, | ||||
| 2126 | + "policy": "lfu", | ||||
| 2127 | + "predictor": "prev_rank", | ||||
| 2128 | + "m": 8, | ||||
| 2129 | + "hit_rate": 0.5951990632318501, | ||||
| 2130 | + "misses_per_token": 51.814519906323184, | ||||
| 2131 | + "stall_ms_per_token": 22.280243559719025, | ||||
| 2132 | + "prefetch_loads_per_token": 0.027166276346604217, | ||||
| 2133 | + "prefetch_precision": 0.15517241379310345, | ||||
| 2134 | + "loads_per_token": 51.84168618266979, | ||||
| 2135 | + "pred_recall_at_k": null, | ||||
| 2136 | + "tokens": 2135, | ||||
| 2137 | + "families": { | ||||
| 2138 | + "general": { | ||||
| 2139 | + "hit_rate": 0.5143992670364501, | ||||
| 2140 | + "stall_ms_per_token": 26.727464342313755 | ||||
| 2141 | + }, | ||||
| 2142 | + "code": { | ||||
| 2143 | + "hit_rate": 0.6684100029726516, | ||||
| 2144 | + "stall_ms_per_token": 18.250713436385254 | ||||
| 2145 | + }, | ||||
| 2146 | + "reasoning": { | ||||
| 2147 | + "hit_rate": 0.5496969063545151, | ||||
| 2148 | + "stall_ms_per_token": 24.784682274247476 | ||||
| 2149 | + }, | ||||
| 2150 | + "multilingual": { | ||||
| 2151 | + "hit_rate": 0.6034941620879121, | ||||
| 2152 | + "stall_ms_per_token": 21.823681318681288 | ||||
| 2153 | + } | ||||
| 2154 | + }, | ||||
| 2155 | + "split": "fit" | ||||
| 2156 | + }, | ||||
| 2157 | + { | ||||
| 2158 | + "capacity": 16, | ||||
| 2159 | + "policy": "lfu", | ||||
| 2160 | + "predictor": "prev_rank", | ||||
| 2161 | + "m": 8, | ||||
| 2162 | + "hit_rate": 0.5910377766251729, | ||||
| 2163 | + "misses_per_token": 52.34716459197787, | ||||
| 2164 | + "stall_ms_per_token": 22.509280774550557, | ||||
| 2165 | + "prefetch_loads_per_token": 0.025587828492392807, | ||||
| 2166 | + "prefetch_precision": 0.2972972972972973, | ||||
| 2167 | + "loads_per_token": 52.37275242047026, | ||||
| 2168 | + "pred_recall_at_k": null, | ||||
| 2169 | + "tokens": 1446, | ||||
| 2170 | + "families": { | ||||
| 2171 | + "general": { | ||||
| 2172 | + "hit_rate": 0.527790590405904, | ||||
| 2173 | + "stall_ms_per_token": 25.990405904059042 | ||||
| 2174 | + }, | ||||
| 2175 | + "code": { | ||||
| 2176 | + "hit_rate": 0.6606012658227848, | ||||
| 2177 | + "stall_ms_per_token": 18.68050632911395 | ||||
| 2178 | + }, | ||||
| 2179 | + "reasoning": { | ||||
| 2180 | + "hit_rate": 0.5844100560897436, | ||||
| 2181 | + "stall_ms_per_token": 22.874070512820502 | ||||
| 2182 | + }, | ||||
| 2183 | + "multilingual": { | ||||
| 2184 | + "hit_rate": 0.5366586538461539, | ||||
| 2185 | + "stall_ms_per_token": 25.50230769230769 | ||||
| 2186 | + } | ||||
| 2187 | + }, | ||||
| 2188 | + "split": "heldout" | ||||
| 2189 | + }, | ||||
| 2190 | + { | ||||
| 2191 | + "capacity": 16, | ||||
| 2192 | + "policy": "lfu", | ||||
| 2193 | + "predictor": "transition", | ||||
| 2194 | + "m": 8, | ||||
| 2195 | + "hit_rate": 0.6237558548009368, | ||||
| 2196 | + "misses_per_token": 48.159250585480095, | ||||
| 2197 | + "stall_ms_per_token": 15.091765807962553, | ||||
| 2198 | + "prefetch_loads_per_token": 42.2327868852459, | ||||
| 2199 | + "prefetch_precision": 0.26741490789313166, | ||||
| 2200 | + "loads_per_token": 90.392037470726, | ||||
| 2201 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 2202 | + "tokens": 2135, | ||||
| 2203 | + "families": { | ||||
| 2204 | + "general": { | ||||
| 2205 | + "hit_rate": 0.5346548137876387, | ||||
| 2206 | + "stall_ms_per_token": 18.54663391442157 | ||||
| 2207 | + }, | ||||
| 2208 | + "code": { | ||||
| 2209 | + "hit_rate": 0.7047785374554102, | ||||
| 2210 | + "stall_ms_per_token": 11.99363614744351 | ||||
| 2211 | + }, | ||||
| 2212 | + "reasoning": { | ||||
| 2213 | + "hit_rate": 0.5937761287625418, | ||||
| 2214 | + "stall_ms_per_token": 16.246240802675587 | ||||
| 2215 | + }, | ||||
| 2216 | + "multilingual": { | ||||
| 2217 | + "hit_rate": 0.6156421703296703, | ||||
| 2218 | + "stall_ms_per_token": 15.31241758241758 | ||||
| 2219 | + } | ||||
| 2220 | + }, | ||||
| 2221 | + "split": "fit" | ||||
| 2222 | + }, | ||||
| 2223 | + { | ||||
| 2224 | + "capacity": 16, | ||||
| 2225 | + "policy": "lfu", | ||||
| 2226 | + "predictor": "transition", | ||||
| 2227 | + "m": 8, | ||||
| 2228 | + "hit_rate": 0.6016543482019364, | ||||
| 2229 | + "misses_per_token": 50.988243430152146, | ||||
| 2230 | + "stall_ms_per_token": 15.921426002766262, | ||||
| 2231 | + "prefetch_loads_per_token": 47.10857538035961, | ||||
| 2232 | + "prefetch_precision": 0.24404351208913813, | ||||
| 2233 | + "loads_per_token": 98.09681881051176, | ||||
| 2234 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 2235 | + "tokens": 1446, | ||||
| 2236 | + "families": { | ||||
| 2237 | + "general": { | ||||
| 2238 | + "hit_rate": 0.5040503920664207, | ||||
| 2239 | + "stall_ms_per_token": 19.725937269372704 | ||||
| 2240 | + }, | ||||
| 2241 | + "code": { | ||||
| 2242 | + "hit_rate": 0.6924587477396021, | ||||
| 2243 | + "stall_ms_per_token": 12.391518987341772 | ||||
| 2244 | + }, | ||||
| 2245 | + "reasoning": { | ||||
| 2246 | + "hit_rate": 0.6154847756410257, | ||||
| 2247 | + "stall_ms_per_token": 15.369666666666689 | ||||
| 2248 | + }, | ||||
| 2249 | + "multilingual": { | ||||
| 2250 | + "hit_rate": 0.5598958333333334, | ||||
| 2251 | + "stall_ms_per_token": 17.514820512820513 | ||||
| 2252 | + } | ||||
| 2253 | + }, | ||||
| 2254 | + "split": "heldout" | ||||
| 2255 | + }, | ||||
| 2256 | + { | ||||
| 2257 | + "capacity": 16, | ||||
| 2258 | + "policy": "lfu", | ||||
| 2259 | + "predictor": "probe", | ||||
| 2260 | + "m": 8, | ||||
| 2261 | + "hit_rate": 0.4996450526932084, | ||||
| 2262 | + "misses_per_token": 64.04543325526932, | ||||
| 2263 | + "stall_ms_per_token": 19.889392974238874, | ||||
| 2264 | + "prefetch_loads_per_token": 88.52412177985948, | ||||
| 2265 | + "prefetch_precision": 0.08048719834496479, | ||||
| 2266 | + "loads_per_token": 152.56955503512881, | ||||
| 2267 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 2268 | + "tokens": 2135, | ||||
| 2269 | + "families": { | ||||
| 2270 | + "general": { | ||||
| 2271 | + "hit_rate": 0.43546949286846276, | ||||
| 2272 | + "stall_ms_per_token": 22.38074167987323 | ||||
| 2273 | + }, | ||||
| 2274 | + "code": { | ||||
| 2275 | + "hit_rate": 0.5495039387633769, | ||||
| 2276 | + "stall_ms_per_token": 17.995931034482762 | ||||
| 2277 | + }, | ||||
| 2278 | + "reasoning": { | ||||
| 2279 | + "hit_rate": 0.4644126254180602, | ||||
| 2280 | + "stall_ms_per_token": 21.24691638795987 | ||||
| 2281 | + }, | ||||
| 2282 | + "multilingual": { | ||||
| 2283 | + "hit_rate": 0.5246394230769231, | ||||
| 2284 | + "stall_ms_per_token": 18.830219780219814 | ||||
| 2285 | + } | ||||
| 2286 | + }, | ||||
| 2287 | + "split": "fit" | ||||
| 2288 | + }, | ||||
| 2289 | + { | ||||
| 2290 | + "capacity": 16, | ||||
| 2291 | + "policy": "lfu", | ||||
| 2292 | + "predictor": "probe", | ||||
| 2293 | + "m": 8, | ||||
| 2294 | + "hit_rate": 0.48206798928077454, | ||||
| 2295 | + "misses_per_token": 66.29529737206086, | ||||
| 2296 | + "stall_ms_per_token": 20.544156293222706, | ||||
| 2297 | + "prefetch_loads_per_token": 89.36721991701245, | ||||
| 2298 | + "prefetch_precision": 0.07805765138324627, | ||||
| 2299 | + "loads_per_token": 155.6625172890733, | ||||
| 2300 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 2301 | + "tokens": 1446, | ||||
| 2302 | + "families": { | ||||
| 2303 | + "general": { | ||||
| 2304 | + "hit_rate": 0.4055581180811808, | ||||
| 2305 | + "stall_ms_per_token": 23.533254612546116 | ||||
| 2306 | + }, | ||||
| 2307 | + "code": { | ||||
| 2308 | + "hit_rate": 0.557753164556962, | ||||
| 2309 | + "stall_ms_per_token": 17.598698010849922 | ||||
| 2310 | + }, | ||||
| 2311 | + "reasoning": { | ||||
| 2312 | + "hit_rate": 0.48389923878205127, | ||||
| 2313 | + "stall_ms_per_token": 20.45623717948717 | ||||
| 2314 | + }, | ||||
| 2315 | + "multilingual": { | ||||
| 2316 | + "hit_rate": 0.45753205128205127, | ||||
| 2317 | + "stall_ms_per_token": 21.471794871794867 | ||||
| 2318 | + } | ||||
| 2319 | + }, | ||||
| 2320 | + "split": "heldout" | ||||
| 2321 | + }, | ||||
| 2322 | + { | ||||
| 2323 | + "capacity": 16, | ||||
| 2324 | + "policy": "lfu", | ||||
| 2325 | + "predictor": "oracle", | ||||
| 2326 | + "m": 8, | ||||
| 2327 | + "hit_rate": 0.7585077576112412, | ||||
| 2328 | + "misses_per_token": 30.911007025761123, | ||||
| 2329 | + "stall_ms_per_token": 9.882796252927411, | ||||
| 2330 | + "prefetch_loads_per_token": 50.71288056206089, | ||||
| 2331 | + "prefetch_precision": 0.5401950642825477, | ||||
| 2332 | + "loads_per_token": 81.62388758782201, | ||||
| 2333 | + "pred_recall_at_k": 1.0, | ||||
| 2334 | + "tokens": 2135, | ||||
| 2335 | + "families": { | ||||
| 2336 | + "general": { | ||||
| 2337 | + "hit_rate": 0.7085850832012678, | ||||
| 2338 | + "stall_ms_per_token": 11.823185419968304 | ||||
| 2339 | + }, | ||||
| 2340 | + "code": { | ||||
| 2341 | + "hit_rate": 0.7996247027348394, | ||||
| 2342 | + "stall_ms_per_token": 8.32726278240191 | ||||
| 2343 | + }, | ||||
| 2344 | + "reasoning": { | ||||
| 2345 | + "hit_rate": 0.7361778846153846, | ||||
| 2346 | + "stall_ms_per_token": 10.74155852842809 | ||||
| 2347 | + }, | ||||
| 2348 | + "multilingual": { | ||||
| 2349 | + "hit_rate": 0.7683937156593407, | ||||
| 2350 | + "stall_ms_per_token": 9.407653846153847 | ||||
| 2351 | + } | ||||
| 2352 | + }, | ||||
| 2353 | + "split": "fit" | ||||
| 2354 | + }, | ||||
| 2355 | + { | ||||
| 2356 | + "capacity": 16, | ||||
| 2357 | + "policy": "lfu", | ||||
| 2358 | + "predictor": "oracle", | ||||
| 2359 | + "m": 8, | ||||
| 2360 | + "hit_rate": 0.7510049273858921, | ||||
| 2361 | + "misses_per_token": 31.87136929460581, | ||||
| 2362 | + "stall_ms_per_token": 10.148130013831263, | ||||
| 2363 | + "prefetch_loads_per_token": 52.30843706777317, | ||||
| 2364 | + "prefetch_precision": 0.537348951585182, | ||||
| 2365 | + "loads_per_token": 84.17980636237898, | ||||
| 2366 | + "pred_recall_at_k": 1.0, | ||||
| 2367 | + "tokens": 1446, | ||||
| 2368 | + "families": { | ||||
| 2369 | + "general": { | ||||
| 2370 | + "hit_rate": 0.7049411900369004, | ||||
| 2371 | + "stall_ms_per_token": 11.960302583025829 | ||||
| 2372 | + }, | ||||
| 2373 | + "code": { | ||||
| 2374 | + "hit_rate": 0.7956882911392406, | ||||
| 2375 | + "stall_ms_per_token": 8.401077757685355 | ||||
| 2376 | + }, | ||||
| 2377 | + "reasoning": { | ||||
| 2378 | + "hit_rate": 0.754081530448718, | ||||
| 2379 | + "stall_ms_per_token": 10.012070512820515 | ||||
| 2380 | + }, | ||||
| 2381 | + "multilingual": { | ||||
| 2382 | + "hit_rate": 0.7329727564102564, | ||||
| 2383 | + "stall_ms_per_token": 10.824358974358976 | ||||
| 2384 | + } | ||||
| 2385 | + }, | ||||
| 2386 | + "split": "heldout" | ||||
| 2387 | + }, | ||||
| 2388 | + { | ||||
| 2389 | + "capacity": 24, | ||||
| 2390 | + "policy": "lru", | ||||
| 2391 | + "predictor": "none", | ||||
| 2392 | + "m": 8, | ||||
| 2393 | + "hit_rate": 0.7070294203747073, | ||||
| 2394 | + "misses_per_token": 37.50023419203747, | ||||
| 2395 | + "stall_ms_per_token": 16.12510070257611, | ||||
| 2396 | + "prefetch_loads_per_token": 0.0, | ||||
| 2397 | + "prefetch_precision": null, | ||||
| 2398 | + "loads_per_token": 37.50023419203747, | ||||
| 2399 | + "pred_recall_at_k": null, | ||||
| 2400 | + "tokens": 2135, | ||||
| 2401 | + "families": { | ||||
| 2402 | + "general": { | ||||
| 2403 | + "hit_rate": 0.6611776941362916, | ||||
| 2404 | + "stall_ms_per_token": 18.648779714738513 | ||||
| 2405 | + }, | ||||
| 2406 | + "code": { | ||||
| 2407 | + "hit_rate": 0.760868757431629, | ||||
| 2408 | + "stall_ms_per_token": 13.16178359096315 | ||||
| 2409 | + }, | ||||
| 2410 | + "reasoning": { | ||||
| 2411 | + "hit_rate": 0.6581835284280937, | ||||
| 2412 | + "stall_ms_per_token": 18.813578595317725 | ||||
| 2413 | + }, | ||||
| 2414 | + "multilingual": { | ||||
| 2415 | + "hit_rate": 0.7022450206043956, | ||||
| 2416 | + "stall_ms_per_token": 16.38843406593407 | ||||
| 2417 | + } | ||||
| 2418 | + }, | ||||
| 2419 | + "split": "fit" | ||||
| 2420 | + }, | ||||
| 2421 | + { | ||||
| 2422 | + "capacity": 24, | ||||
| 2423 | + "policy": "lru", | ||||
| 2424 | + "predictor": "none", | ||||
| 2425 | + "m": 8, | ||||
| 2426 | + "hit_rate": 0.6954961964038727, | ||||
| 2427 | + "misses_per_token": 38.976486860304284, | ||||
| 2428 | + "stall_ms_per_token": 16.759889349930848, | ||||
| 2429 | + "prefetch_loads_per_token": 0.0, | ||||
| 2430 | + "prefetch_precision": null, | ||||
| 2431 | + "loads_per_token": 38.976486860304284, | ||||
| 2432 | + "pred_recall_at_k": null, | ||||
| 2433 | + "tokens": 1446, | ||||
| 2434 | + "families": { | ||||
| 2435 | + "general": { | ||||
| 2436 | + "hit_rate": 0.650830258302583, | ||||
| 2437 | + "stall_ms_per_token": 19.218302583025828 | ||||
| 2438 | + }, | ||||
| 2439 | + "code": { | ||||
| 2440 | + "hit_rate": 0.7484177215189873, | ||||
| 2441 | + "stall_ms_per_token": 13.847088607594944 | ||||
| 2442 | + }, | ||||
| 2443 | + "reasoning": { | ||||
| 2444 | + "hit_rate": 0.6880508814102564, | ||||
| 2445 | + "stall_ms_per_token": 17.1696794871795 | ||||
| 2446 | + }, | ||||
| 2447 | + "multilingual": { | ||||
| 2448 | + "hit_rate": 0.6254006410256411, | ||||
| 2449 | + "stall_ms_per_token": 20.617948717948714 | ||||
| 2450 | + } | ||||
| 2451 | + }, | ||||
| 2452 | + "split": "heldout" | ||||
| 2453 | + }, | ||||
| 2454 | + { | ||||
| 2455 | + "capacity": 24, | ||||
| 2456 | + "policy": "lru", | ||||
| 2457 | + "predictor": "prev_token", | ||||
| 2458 | + "m": 8, | ||||
| 2459 | + "hit_rate": 0.7070294203747073, | ||||
| 2460 | + "misses_per_token": 37.50023419203747, | ||||
| 2461 | + "stall_ms_per_token": 16.12510070257611, | ||||
| 2462 | + "prefetch_loads_per_token": 0.0, | ||||
| 2463 | + "prefetch_precision": null, | ||||
| 2464 | + "loads_per_token": 37.50023419203747, | ||||
| 2465 | + "pred_recall_at_k": null, | ||||
| 2466 | + "tokens": 2135, | ||||
| 2467 | + "families": { | ||||
| 2468 | + "general": { | ||||
| 2469 | + "hit_rate": 0.6611776941362916, | ||||
| 2470 | + "stall_ms_per_token": 18.648779714738513 | ||||
| 2471 | + }, | ||||
| 2472 | + "code": { | ||||
| 2473 | + "hit_rate": 0.760868757431629, | ||||
| 2474 | + "stall_ms_per_token": 13.16178359096315 | ||||
| 2475 | + }, | ||||
| 2476 | + "reasoning": { | ||||
| 2477 | + "hit_rate": 0.6581835284280937, | ||||
| 2478 | + "stall_ms_per_token": 18.813578595317725 | ||||
| 2479 | + }, | ||||
| 2480 | + "multilingual": { | ||||
| 2481 | + "hit_rate": 0.7022450206043956, | ||||
| 2482 | + "stall_ms_per_token": 16.38843406593407 | ||||
| 2483 | + } | ||||
| 2484 | + }, | ||||
| 2485 | + "split": "fit" | ||||
| 2486 | + }, | ||||
| 2487 | + { | ||||
| 2488 | + "capacity": 24, | ||||
| 2489 | + "policy": "lru", | ||||
| 2490 | + "predictor": "prev_token", | ||||
| 2491 | + "m": 8, | ||||
| 2492 | + "hit_rate": 0.6954961964038727, | ||||
| 2493 | + "misses_per_token": 38.976486860304284, | ||||
| 2494 | + "stall_ms_per_token": 16.759889349930848, | ||||
| 2495 | + "prefetch_loads_per_token": 0.0, | ||||
| 2496 | + "prefetch_precision": null, | ||||
| 2497 | + "loads_per_token": 38.976486860304284, | ||||
| 2498 | + "pred_recall_at_k": null, | ||||
| 2499 | + "tokens": 1446, | ||||
| 2500 | + "families": { | ||||
| 2501 | + "general": { | ||||
| 2502 | + "hit_rate": 0.650830258302583, | ||||
| 2503 | + "stall_ms_per_token": 19.218302583025828 | ||||
| 2504 | + }, | ||||
| 2505 | + "code": { | ||||
| 2506 | + "hit_rate": 0.7484177215189873, | ||||
| 2507 | + "stall_ms_per_token": 13.847088607594944 | ||||
| 2508 | + }, | ||||
| 2509 | + "reasoning": { | ||||
| 2510 | + "hit_rate": 0.6880508814102564, | ||||
| 2511 | + "stall_ms_per_token": 17.1696794871795 | ||||
| 2512 | + }, | ||||
| 2513 | + "multilingual": { | ||||
| 2514 | + "hit_rate": 0.6254006410256411, | ||||
| 2515 | + "stall_ms_per_token": 20.617948717948714 | ||||
| 2516 | + } | ||||
| 2517 | + }, | ||||
| 2518 | + "split": "heldout" | ||||
| 2519 | + }, | ||||
| 2520 | + { | ||||
| 2521 | + "capacity": 24, | ||||
| 2522 | + "policy": "lru", | ||||
| 2523 | + "predictor": "prev_rank", | ||||
| 2524 | + "m": 8, | ||||
| 2525 | + "hit_rate": 0.7070221018735363, | ||||
| 2526 | + "misses_per_token": 37.50117096018735, | ||||
| 2527 | + "stall_ms_per_token": 16.12550351288056, | ||||
| 2528 | + "prefetch_loads_per_token": 0.022950819672131147, | ||||
| 2529 | + "prefetch_precision": 0.5102040816326531, | ||||
| 2530 | + "loads_per_token": 37.524121779859485, | ||||
| 2531 | + "pred_recall_at_k": null, | ||||
| 2532 | + "tokens": 2135, | ||||
| 2533 | + "families": { | ||||
| 2534 | + "general": { | ||||
| 2535 | + "hit_rate": 0.6611281695721077, | ||||
| 2536 | + "stall_ms_per_token": 18.65150554675119 | ||||
| 2537 | + }, | ||||
| 2538 | + "code": { | ||||
| 2539 | + "hit_rate": 0.7608966260404281, | ||||
| 2540 | + "stall_ms_per_token": 13.160249702734847 | ||||
| 2541 | + }, | ||||
| 2542 | + "reasoning": { | ||||
| 2543 | + "hit_rate": 0.6582357859531772, | ||||
| 2544 | + "stall_ms_per_token": 18.810702341137123 | ||||
| 2545 | + }, | ||||
| 2546 | + "multilingual": { | ||||
| 2547 | + "hit_rate": 0.7021806318681318, | ||||
| 2548 | + "stall_ms_per_token": 16.391978021978026 | ||||
| 2549 | + } | ||||
| 2550 | + }, | ||||
| 2551 | + "split": "fit" | ||||
| 2552 | + }, | ||||
| 2553 | + { | ||||
| 2554 | + "capacity": 24, | ||||
| 2555 | + "policy": "lru", | ||||
| 2556 | + "predictor": "prev_rank", | ||||
| 2557 | + "m": 8, | ||||
| 2558 | + "hit_rate": 0.6955015992392808, | ||||
| 2559 | + "misses_per_token": 38.97579529737206, | ||||
| 2560 | + "stall_ms_per_token": 16.759591977869988, | ||||
| 2561 | + "prefetch_loads_per_token": 0.01590594744121715, | ||||
| 2562 | + "prefetch_precision": 0.43478260869565216, | ||||
| 2563 | + "loads_per_token": 38.99170124481328, | ||||
| 2564 | + "pred_recall_at_k": null, | ||||
| 2565 | + "tokens": 1446, | ||||
| 2566 | + "families": { | ||||
| 2567 | + "general": { | ||||
| 2568 | + "hit_rate": 0.650830258302583, | ||||
| 2569 | + "stall_ms_per_token": 19.218302583025828 | ||||
| 2570 | + }, | ||||
| 2571 | + "code": { | ||||
| 2572 | + "hit_rate": 0.7484459764918626, | ||||
| 2573 | + "stall_ms_per_token": 13.845533453887894 | ||||
| 2574 | + }, | ||||
| 2575 | + "reasoning": { | ||||
| 2576 | + "hit_rate": 0.6880258413461539, | ||||
| 2577 | + "stall_ms_per_token": 17.171057692307702 | ||||
| 2578 | + }, | ||||
| 2579 | + "multilingual": { | ||||
| 2580 | + "hit_rate": 0.6254006410256411, | ||||
| 2581 | + "stall_ms_per_token": 20.617948717948714 | ||||
| 2582 | + } | ||||
| 2583 | + }, | ||||
| 2584 | + "split": "heldout" | ||||
| 2585 | + }, | ||||
| 2586 | + { | ||||
| 2587 | + "capacity": 24, | ||||
| 2588 | + "policy": "lru", | ||||
| 2589 | + "predictor": "transition", | ||||
| 2590 | + "m": 8, | ||||
| 2591 | + "hit_rate": 0.7639234484777517, | ||||
| 2592 | + "misses_per_token": 30.217798594847775, | ||||
| 2593 | + "stall_ms_per_token": 9.54910444964871, | ||||
| 2594 | + "prefetch_loads_per_token": 23.893208430913347, | ||||
| 2595 | + "prefetch_precision": 0.6019760056457304, | ||||
| 2596 | + "loads_per_token": 54.111007025761126, | ||||
| 2597 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 2598 | + "tokens": 2135, | ||||
| 2599 | + "families": { | ||||
| 2600 | + "general": { | ||||
| 2601 | + "hit_rate": 0.7315892432646592, | ||||
| 2602 | + "stall_ms_per_token": 10.808776545166417 | ||||
| 2603 | + }, | ||||
| 2604 | + "code": { | ||||
| 2605 | + "hit_rate": 0.801231792508918, | ||||
| 2606 | + "stall_ms_per_token": 8.121005945303212 | ||||
| 2607 | + }, | ||||
| 2608 | + "reasoning": { | ||||
| 2609 | + "hit_rate": 0.7362040133779264, | ||||
| 2610 | + "stall_ms_per_token": 10.62282274247492 | ||||
| 2611 | + }, | ||||
| 2612 | + "multilingual": { | ||||
| 2613 | + "hit_rate": 0.7565461881868132, | ||||
| 2614 | + "stall_ms_per_token": 9.782994505494505 | ||||
| 2615 | + } | ||||
| 2616 | + }, | ||||
| 2617 | + "split": "fit" | ||||
| 2618 | + }, | ||||
| 2619 | + { | ||||
| 2620 | + "capacity": 24, | ||||
| 2621 | + "policy": "lru", | ||||
| 2622 | + "predictor": "transition", | ||||
| 2623 | + "m": 8, | ||||
| 2624 | + "hit_rate": 0.750232321922545, | ||||
| 2625 | + "misses_per_token": 31.970262793914245, | ||||
| 2626 | + "stall_ms_per_token": 10.086200553250338, | ||||
| 2627 | + "prefetch_loads_per_token": 27.760027662517288, | ||||
| 2628 | + "prefetch_precision": 0.5727560349767071, | ||||
| 2629 | + "loads_per_token": 59.73029045643153, | ||||
| 2630 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 2631 | + "tokens": 1446, | ||||
| 2632 | + "families": { | ||||
| 2633 | + "general": { | ||||
| 2634 | + "hit_rate": 0.704206065498155, | ||||
| 2635 | + "stall_ms_per_token": 11.910077490774912 | ||||
| 2636 | + }, | ||||
| 2637 | + "code": { | ||||
| 2638 | + "hit_rate": 0.7957306735985533, | ||||
| 2639 | + "stall_ms_per_token": 8.295974683544312 | ||||
| 2640 | + }, | ||||
| 2641 | + "reasoning": { | ||||
| 2642 | + "hit_rate": 0.7528044871794872, | ||||
| 2643 | + "stall_ms_per_token": 9.966666666666677 | ||||
| 2644 | + }, | ||||
| 2645 | + "multilingual": { | ||||
| 2646 | + "hit_rate": 0.7241586538461539, | ||||
| 2647 | + "stall_ms_per_token": 11.079743589743588 | ||||
| 2648 | + } | ||||
| 2649 | + }, | ||||
| 2650 | + "split": "heldout" | ||||
| 2651 | + }, | ||||
| 2652 | + { | ||||
| 2653 | + "capacity": 24, | ||||
| 2654 | + "policy": "lru", | ||||
| 2655 | + "predictor": "probe", | ||||
| 2656 | + "m": 8, | ||||
| 2657 | + "hit_rate": 0.6538934426229508, | ||||
| 2658 | + "misses_per_token": 44.3016393442623, | ||||
| 2659 | + "stall_ms_per_token": 13.802424355971885, | ||||
| 2660 | + "prefetch_loads_per_token": 60.157377049180326, | ||||
| 2661 | + "prefetch_precision": 0.21040051076022298, | ||||
| 2662 | + "loads_per_token": 104.45901639344262, | ||||
| 2663 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 2664 | + "tokens": 2135, | ||||
| 2665 | + "families": { | ||||
| 2666 | + "general": { | ||||
| 2667 | + "hit_rate": 0.6240218898573693, | ||||
| 2668 | + "stall_ms_per_token": 14.966900158478596 | ||||
| 2669 | + }, | ||||
| 2670 | + "code": { | ||||
| 2671 | + "hit_rate": 0.6896551724137931, | ||||
| 2672 | + "stall_ms_per_token": 12.434111771700357 | ||||
| 2673 | + }, | ||||
| 2674 | + "reasoning": { | ||||
| 2675 | + "hit_rate": 0.6333612040133779, | ||||
| 2676 | + "stall_ms_per_token": 14.598314381270912 | ||||
| 2677 | + }, | ||||
| 2678 | + "multilingual": { | ||||
| 2679 | + "hit_rate": 0.6399167239010989, | ||||
| 2680 | + "stall_ms_per_token": 14.291423076923081 | ||||
| 2681 | + } | ||||
| 2682 | + }, | ||||
| 2683 | + "split": "fit" | ||||
| 2684 | + }, | ||||
| 2685 | + { | ||||
| 2686 | + "capacity": 24, | ||||
| 2687 | + "policy": "lru", | ||||
| 2688 | + "predictor": "probe", | ||||
| 2689 | + "m": 8, | ||||
| 2690 | + "hit_rate": 0.6433912517289073, | ||||
| 2691 | + "misses_per_token": 45.64591977869986, | ||||
| 2692 | + "stall_ms_per_token": 14.216248962655612, | ||||
| 2693 | + "prefetch_loads_per_token": 58.57192254495159, | ||||
| 2694 | + "prefetch_precision": 0.2115945451325344, | ||||
| 2695 | + "loads_per_token": 104.21784232365145, | ||||
| 2696 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 2697 | + "tokens": 1446, | ||||
| 2698 | + "families": { | ||||
| 2699 | + "general": { | ||||
| 2700 | + "hit_rate": 0.5802727167896679, | ||||
| 2701 | + "stall_ms_per_token": 16.700845018450195 | ||||
| 2702 | + }, | ||||
| 2703 | + "code": { | ||||
| 2704 | + "hit_rate": 0.701260171790235, | ||||
| 2705 | + "stall_ms_per_token": 11.947826401446653 | ||||
| 2706 | + }, | ||||
| 2707 | + "reasoning": { | ||||
| 2708 | + "hit_rate": 0.6516175881410257, | ||||
| 2709 | + "stall_ms_per_token": 13.878147435897441 | ||||
| 2710 | + }, | ||||
| 2711 | + "multilingual": { | ||||
| 2712 | + "hit_rate": 0.6342147435897436, | ||||
| 2713 | + "stall_ms_per_token": 14.556615384615387 | ||||
| 2714 | + } | ||||
| 2715 | + }, | ||||
| 2716 | + "split": "heldout" | ||||
| 2717 | + }, | ||||
| 2718 | + { | ||||
| 2719 | + "capacity": 24, | ||||
| 2720 | + "policy": "lru", | ||||
| 2721 | + "predictor": "oracle", | ||||
| 2722 | + "m": 8, | ||||
| 2723 | + "hit_rate": 0.9607362412177985, | ||||
| 2724 | + "misses_per_token": 5.02576112412178, | ||||
| 2725 | + "stall_ms_per_token": 1.9411091334894721, | ||||
| 2726 | + "prefetch_loads_per_token": 35.89086651053864, | ||||
| 2727 | + "prefetch_precision": 1.0, | ||||
| 2728 | + "loads_per_token": 40.91662763466042, | ||||
| 2729 | + "pred_recall_at_k": 1.0, | ||||
| 2730 | + "tokens": 2135, | ||||
| 2731 | + "families": { | ||||
| 2732 | + "general": { | ||||
| 2733 | + "hit_rate": 0.9572603011093502, | ||||
| 2734 | + "stall_ms_per_token": 2.0852361331220313 | ||||
| 2735 | + }, | ||||
| 2736 | + "code": { | ||||
| 2737 | + "hit_rate": 0.963408516646849, | ||||
| 2738 | + "stall_ms_per_token": 1.8519024970273514 | ||||
| 2739 | + }, | ||||
| 2740 | + "reasoning": { | ||||
| 2741 | + "hit_rate": 0.9593959030100334, | ||||
| 2742 | + "stall_ms_per_token": 1.9951170568561907 | ||||
| 2743 | + }, | ||||
| 2744 | + "multilingual": { | ||||
| 2745 | + "hit_rate": 0.9616887019230769, | ||||
| 2746 | + "stall_ms_per_token": 1.8530054945054975 | ||||
| 2747 | + } | ||||
| 2748 | + }, | ||||
| 2749 | + "split": "fit" | ||||
| 2750 | + }, | ||||
| 2751 | + { | ||||
| 2752 | + "capacity": 24, | ||||
| 2753 | + "policy": "lru", | ||||
| 2754 | + "predictor": "oracle", | ||||
| 2755 | + "m": 8, | ||||
| 2756 | + "hit_rate": 0.9588520055325035, | ||||
| 2757 | + "misses_per_token": 5.266943291839557, | ||||
| 2758 | + "stall_ms_per_token": 2.021798063623802, | ||||
| 2759 | + "prefetch_loads_per_token": 37.44882434301521, | ||||
| 2760 | + "prefetch_precision": 1.0, | ||||
| 2761 | + "loads_per_token": 42.71576763485477, | ||||
| 2762 | + "pred_recall_at_k": 1.0, | ||||
| 2763 | + "tokens": 1446, | ||||
| 2764 | + "families": { | ||||
| 2765 | + "general": { | ||||
| 2766 | + "hit_rate": 0.9509196263837638, | ||||
| 2767 | + "stall_ms_per_token": 2.3731180811808175 | ||||
| 2768 | + }, | ||||
| 2769 | + "code": { | ||||
| 2770 | + "hit_rate": 0.9655148056057866, | ||||
| 2771 | + "stall_ms_per_token": 1.732799276672697 | ||||
| 2772 | + }, | ||||
| 2773 | + "reasoning": { | ||||
| 2774 | + "hit_rate": 0.9602363782051282, | ||||
| 2775 | + "stall_ms_per_token": 1.9481794871794909 | ||||
| 2776 | + }, | ||||
| 2777 | + "multilingual": { | ||||
| 2778 | + "hit_rate": 0.9635416666666666, | ||||
| 2779 | + "stall_ms_per_token": 1.826153846153846 | ||||
| 2780 | + } | ||||
| 2781 | + }, | ||||
| 2782 | + "split": "heldout" | ||||
| 2783 | + }, | ||||
| 2784 | + { | ||||
| 2785 | + "capacity": 24, | ||||
| 2786 | + "policy": "lfu", | ||||
| 2787 | + "predictor": "none", | ||||
| 2788 | + "m": 8, | ||||
| 2789 | + "hit_rate": 0.7154786299765808, | ||||
| 2790 | + "misses_per_token": 36.41873536299766, | ||||
| 2791 | + "stall_ms_per_token": 15.66005620608898, | ||||
| 2792 | + "prefetch_loads_per_token": 0.0, | ||||
| 2793 | + "prefetch_precision": null, | ||||
| 2794 | + "loads_per_token": 36.41873536299766, | ||||
| 2795 | + "pred_recall_at_k": null, | ||||
| 2796 | + "tokens": 2135, | ||||
| 2797 | + "families": { | ||||
| 2798 | + "general": { | ||||
| 2799 | + "hit_rate": 0.6496879952456418, | ||||
| 2800 | + "stall_ms_per_token": 19.28117274167986 | ||||
| 2801 | + }, | ||||
| 2802 | + "code": { | ||||
| 2803 | + "hit_rate": 0.776280098097503, | ||||
| 2804 | + "stall_ms_per_token": 12.313543400713456 | ||||
| 2805 | + }, | ||||
| 2806 | + "reasoning": { | ||||
| 2807 | + "hit_rate": 0.6796352424749164, | ||||
| 2808 | + "stall_ms_per_token": 17.632876254180605 | ||||
| 2809 | + }, | ||||
| 2810 | + "multilingual": { | ||||
| 2811 | + "hit_rate": 0.718492445054945, | ||||
| 2812 | + "stall_ms_per_token": 15.494175824175837 | ||||
| 2813 | + } | ||||
| 2814 | + }, | ||||
| 2815 | + "split": "fit" | ||||
| 2816 | + }, | ||||
| 2817 | + { | ||||
| 2818 | + "capacity": 24, | ||||
| 2819 | + "policy": "lfu", | ||||
| 2820 | + "predictor": "none", | ||||
| 2821 | + "m": 8, | ||||
| 2822 | + "hit_rate": 0.713606500691563, | ||||
| 2823 | + "misses_per_token": 36.65836791147994, | ||||
| 2824 | + "stall_ms_per_token": 15.76309820193638, | ||||
| 2825 | + "prefetch_loads_per_token": 0.0, | ||||
| 2826 | + "prefetch_precision": null, | ||||
| 2827 | + "loads_per_token": 36.65836791147994, | ||||
| 2828 | + "pred_recall_at_k": null, | ||||
| 2829 | + "tokens": 1446, | ||||
| 2830 | + "families": { | ||||
| 2831 | + "general": { | ||||
| 2832 | + "hit_rate": 0.6669453413284133, | ||||
| 2833 | + "stall_ms_per_token": 18.331328413284137 | ||||
| 2834 | + }, | ||||
| 2835 | + "code": { | ||||
| 2836 | + "hit_rate": 0.766500904159132, | ||||
| 2837 | + "stall_ms_per_token": 12.85179023508138 | ||||
| 2838 | + }, | ||||
| 2839 | + "reasoning": { | ||||
| 2840 | + "hit_rate": 0.7100861378205128, | ||||
| 2841 | + "stall_ms_per_token": 15.956858974358962 | ||||
| 2842 | + }, | ||||
| 2843 | + "multilingual": { | ||||
| 2844 | + "hit_rate": 0.6402243589743589, | ||||
| 2845 | + "stall_ms_per_token": 19.802051282051277 | ||||
| 2846 | + } | ||||
| 2847 | + }, | ||||
| 2848 | + "split": "heldout" | ||||
| 2849 | + }, | ||||
| 2850 | + { | ||||
| 2851 | + "capacity": 24, | ||||
| 2852 | + "policy": "lfu", | ||||
| 2853 | + "predictor": "prev_token", | ||||
| 2854 | + "m": 8, | ||||
| 2855 | + "hit_rate": 0.7154786299765808, | ||||
| 2856 | + "misses_per_token": 36.41873536299766, | ||||
| 2857 | + "stall_ms_per_token": 15.66005620608898, | ||||
| 2858 | + "prefetch_loads_per_token": 0.0, | ||||
| 2859 | + "prefetch_precision": null, | ||||
| 2860 | + "loads_per_token": 36.41873536299766, | ||||
| 2861 | + "pred_recall_at_k": null, | ||||
| 2862 | + "tokens": 2135, | ||||
| 2863 | + "families": { | ||||
| 2864 | + "general": { | ||||
| 2865 | + "hit_rate": 0.6496879952456418, | ||||
| 2866 | + "stall_ms_per_token": 19.28117274167986 | ||||
| 2867 | + }, | ||||
| 2868 | + "code": { | ||||
| 2869 | + "hit_rate": 0.776280098097503, | ||||
| 2870 | + "stall_ms_per_token": 12.313543400713456 | ||||
| 2871 | + }, | ||||
| 2872 | + "reasoning": { | ||||
| 2873 | + "hit_rate": 0.6796352424749164, | ||||
| 2874 | + "stall_ms_per_token": 17.632876254180605 | ||||
| 2875 | + }, | ||||
| 2876 | + "multilingual": { | ||||
| 2877 | + "hit_rate": 0.718492445054945, | ||||
| 2878 | + "stall_ms_per_token": 15.494175824175837 | ||||
| 2879 | + } | ||||
| 2880 | + }, | ||||
| 2881 | + "split": "fit" | ||||
| 2882 | + }, | ||||
| 2883 | + { | ||||
| 2884 | + "capacity": 24, | ||||
| 2885 | + "policy": "lfu", | ||||
| 2886 | + "predictor": "prev_token", | ||||
| 2887 | + "m": 8, | ||||
| 2888 | + "hit_rate": 0.713606500691563, | ||||
| 2889 | + "misses_per_token": 36.65836791147994, | ||||
| 2890 | + "stall_ms_per_token": 15.76309820193638, | ||||
| 2891 | + "prefetch_loads_per_token": 0.0, | ||||
| 2892 | + "prefetch_precision": null, | ||||
| 2893 | + "loads_per_token": 36.65836791147994, | ||||
| 2894 | + "pred_recall_at_k": null, | ||||
| 2895 | + "tokens": 1446, | ||||
| 2896 | + "families": { | ||||
| 2897 | + "general": { | ||||
| 2898 | + "hit_rate": 0.6669453413284133, | ||||
| 2899 | + "stall_ms_per_token": 18.331328413284137 | ||||
| 2900 | + }, | ||||
| 2901 | + "code": { | ||||
| 2902 | + "hit_rate": 0.766500904159132, | ||||
| 2903 | + "stall_ms_per_token": 12.85179023508138 | ||||
| 2904 | + }, | ||||
| 2905 | + "reasoning": { | ||||
| 2906 | + "hit_rate": 0.7100861378205128, | ||||
| 2907 | + "stall_ms_per_token": 15.956858974358962 | ||||
| 2908 | + }, | ||||
| 2909 | + "multilingual": { | ||||
| 2910 | + "hit_rate": 0.6402243589743589, | ||||
| 2911 | + "stall_ms_per_token": 19.802051282051277 | ||||
| 2912 | + } | ||||
| 2913 | + }, | ||||
| 2914 | + "split": "heldout" | ||||
| 2915 | + }, | ||||
| 2916 | + { | ||||
| 2917 | + "capacity": 24, | ||||
| 2918 | + "policy": "lfu", | ||||
| 2919 | + "predictor": "prev_rank", | ||||
| 2920 | + "m": 8, | ||||
| 2921 | + "hit_rate": 0.7154530152224824, | ||||
| 2922 | + "misses_per_token": 36.42201405152225, | ||||
| 2923 | + "stall_ms_per_token": 15.661466042154554, | ||||
| 2924 | + "prefetch_loads_per_token": 0.021545667447306793, | ||||
| 2925 | + "prefetch_precision": 0.15217391304347827, | ||||
| 2926 | + "loads_per_token": 36.44355971896955, | ||||
| 2927 | + "pred_recall_at_k": null, | ||||
| 2928 | + "tokens": 2135, | ||||
| 2929 | + "families": { | ||||
| 2930 | + "general": { | ||||
| 2931 | + "hit_rate": 0.6496508518225039, | ||||
| 2932 | + "stall_ms_per_token": 19.283217115689368 | ||||
| 2933 | + }, | ||||
| 2934 | + "code": { | ||||
| 2935 | + "hit_rate": 0.7762615190249703, | ||||
| 2936 | + "stall_ms_per_token": 12.31456599286566 | ||||
| 2937 | + }, | ||||
| 2938 | + "reasoning": { | ||||
| 2939 | + "hit_rate": 0.6796352424749164, | ||||
| 2940 | + "stall_ms_per_token": 17.632876254180605 | ||||
| 2941 | + }, | ||||
| 2942 | + "multilingual": { | ||||
| 2943 | + "hit_rate": 0.7184495192307693, | ||||
| 2944 | + "stall_ms_per_token": 15.496538461538476 | ||||
| 2945 | + } | ||||
| 2946 | + }, | ||||
| 2947 | + "split": "fit" | ||||
| 2948 | + }, | ||||
| 2949 | + { | ||||
| 2950 | + "capacity": 24, | ||||
| 2951 | + "policy": "lfu", | ||||
| 2952 | + "predictor": "prev_rank", | ||||
| 2953 | + "m": 8, | ||||
| 2954 | + "hit_rate": 0.7136119035269709, | ||||
| 2955 | + "misses_per_token": 36.65767634854772, | ||||
| 2956 | + "stall_ms_per_token": 15.762800829875525, | ||||
| 2957 | + "prefetch_loads_per_token": 0.014522821576763486, | ||||
| 2958 | + "prefetch_precision": 0.23809523809523808, | ||||
| 2959 | + "loads_per_token": 36.67219917012448, | ||||
| 2960 | + "pred_recall_at_k": null, | ||||
| 2961 | + "tokens": 1446, | ||||
| 2962 | + "families": { | ||||
| 2963 | + "general": { | ||||
| 2964 | + "hit_rate": 0.6669309271217713, | ||||
| 2965 | + "stall_ms_per_token": 18.332121771217714 | ||||
| 2966 | + }, | ||||
| 2967 | + "code": { | ||||
| 2968 | + "hit_rate": 0.766500904159132, | ||||
| 2969 | + "stall_ms_per_token": 12.85179023508138 | ||||
| 2970 | + }, | ||||
| 2971 | + "reasoning": { | ||||
| 2972 | + "hit_rate": 0.710136217948718, | ||||
| 2973 | + "stall_ms_per_token": 15.95410256410255 | ||||
| 2974 | + }, | ||||
| 2975 | + "multilingual": { | ||||
| 2976 | + "hit_rate": 0.6402243589743589, | ||||
| 2977 | + "stall_ms_per_token": 19.802051282051277 | ||||
| 2978 | + } | ||||
| 2979 | + }, | ||||
| 2980 | + "split": "heldout" | ||||
| 2981 | + }, | ||||
| 2982 | + { | ||||
| 2983 | + "capacity": 24, | ||||
| 2984 | + "policy": "lfu", | ||||
| 2985 | + "predictor": "transition", | ||||
| 2986 | + "m": 8, | ||||
| 2987 | + "hit_rate": 0.7307852751756441, | ||||
| 2988 | + "misses_per_token": 34.45948477751757, | ||||
| 2989 | + "stall_ms_per_token": 10.828235128805654, | ||||
| 2990 | + "prefetch_loads_per_token": 26.777049180327868, | ||||
| 2991 | + "prefetch_precision": 0.23014220993895293, | ||||
| 2992 | + "loads_per_token": 61.23653395784543, | ||||
| 2993 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 2994 | + "tokens": 2135, | ||||
| 2995 | + "families": { | ||||
| 2996 | + "general": { | ||||
| 2997 | + "hit_rate": 0.6554452258320127, | ||||
| 2998 | + "stall_ms_per_token": 13.757879556259907 | ||||
| 2999 | + }, | ||||
| 3000 | + "code": { | ||||
| 3001 | + "hit_rate": 0.796103968489893, | ||||
| 3002 | + "stall_ms_per_token": 8.323488703923893 | ||||
| 3003 | + }, | ||||
| 3004 | + "reasoning": { | ||||
| 3005 | + "hit_rate": 0.707305602006689, | ||||
| 3006 | + "stall_ms_per_token": 11.74034782608696 | ||||
| 3007 | + }, | ||||
| 3008 | + "multilingual": { | ||||
| 3009 | + "hit_rate": 0.7297604739010989, | ||||
| 3010 | + "stall_ms_per_token": 10.787478021978023 | ||||
| 3011 | + } | ||||
| 3012 | + }, | ||||
| 3013 | + "split": "fit" | ||||
| 3014 | + }, | ||||
| 3015 | + { | ||||
| 3016 | + "capacity": 24, | ||||
| 3017 | + "policy": "lfu", | ||||
| 3018 | + "predictor": "transition", | ||||
| 3019 | + "m": 8, | ||||
| 3020 | + "hit_rate": 0.7174479166666666, | ||||
| 3021 | + "misses_per_token": 36.166666666666664, | ||||
| 3022 | + "stall_ms_per_token": 11.321116182572629, | ||||
| 3023 | + "prefetch_loads_per_token": 30.498616874135546, | ||||
| 3024 | + "prefetch_precision": 0.20303394480850775, | ||||
| 3025 | + "loads_per_token": 66.6652835408022, | ||||
| 3026 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 3027 | + "tokens": 1446, | ||||
| 3028 | + "families": { | ||||
| 3029 | + "general": { | ||||
| 3030 | + "hit_rate": 0.6422393911439115, | ||||
| 3031 | + "stall_ms_per_token": 14.27664944649446 | ||||
| 3032 | + }, | ||||
| 3033 | + "code": { | ||||
| 3034 | + "hit_rate": 0.7854882459312839, | ||||
| 3035 | + "stall_ms_per_token": 8.659037974683542 | ||||
| 3036 | + }, | ||||
| 3037 | + "reasoning": { | ||||
| 3038 | + "hit_rate": 0.7321965144230769, | ||||
| 3039 | + "stall_ms_per_token": 10.725134615384613 | ||||
| 3040 | + }, | ||||
| 3041 | + "multilingual": { | ||||
| 3042 | + "hit_rate": 0.6798878205128205, | ||||
| 3043 | + "stall_ms_per_token": 12.76153846153846 | ||||
| 3044 | + } | ||||
| 3045 | + }, | ||||
| 3046 | + "split": "heldout" | ||||
| 3047 | + }, | ||||
| 3048 | + { | ||||
| 3049 | + "capacity": 24, | ||||
| 3050 | + "policy": "lfu", | ||||
| 3051 | + "predictor": "probe", | ||||
| 3052 | + "m": 8, | ||||
| 3053 | + "hit_rate": 0.6562792740046839, | ||||
| 3054 | + "misses_per_token": 43.99625292740047, | ||||
| 3055 | + "stall_ms_per_token": 13.708339110070225, | ||||
| 3056 | + "prefetch_loads_per_token": 71.4791569086651, | ||||
| 3057 | + "prefetch_precision": 0.06976043195638498, | ||||
| 3058 | + "loads_per_token": 115.47540983606558, | ||||
| 3059 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 3060 | + "tokens": 2135, | ||||
| 3061 | + "families": { | ||||
| 3062 | + "general": { | ||||
| 3063 | + "hit_rate": 0.5887356378763867, | ||||
| 3064 | + "stall_ms_per_token": 16.33660538827258 | ||||
| 3065 | + }, | ||||
| 3066 | + "code": { | ||||
| 3067 | + "hit_rate": 0.7123495095124851, | ||||
| 3068 | + "stall_ms_per_token": 11.56110107015458 | ||||
| 3069 | + }, | ||||
| 3070 | + "reasoning": { | ||||
| 3071 | + "hit_rate": 0.6269073996655519, | ||||
| 3072 | + "stall_ms_per_token": 14.84822073578596 | ||||
| 3073 | + }, | ||||
| 3074 | + "multilingual": { | ||||
| 3075 | + "hit_rate": 0.6679472870879121, | ||||
| 3076 | + "stall_ms_per_token": 13.176928571428556 | ||||
| 3077 | + } | ||||
| 3078 | + }, | ||||
| 3079 | + "split": "fit" | ||||
| 3080 | + }, | ||||
| 3081 | + { | ||||
| 3082 | + "capacity": 24, | ||||
| 3083 | + "policy": "lfu", | ||||
| 3084 | + "predictor": "probe", | ||||
| 3085 | + "m": 8, | ||||
| 3086 | + "hit_rate": 0.6465681189488244, | ||||
| 3087 | + "misses_per_token": 45.23928077455049, | ||||
| 3088 | + "stall_ms_per_token": 14.06104564315352, | ||||
| 3089 | + "prefetch_loads_per_token": 71.41977869986168, | ||||
| 3090 | + "prefetch_precision": 0.0650896168408006, | ||||
| 3091 | + "loads_per_token": 116.65905947441217, | ||||
| 3092 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 3093 | + "tokens": 1446, | ||||
| 3094 | + "families": { | ||||
| 3095 | + "general": { | ||||
| 3096 | + "hit_rate": 0.5816997232472325, | ||||
| 3097 | + "stall_ms_per_token": 16.616870848708473 | ||||
| 3098 | + }, | ||||
| 3099 | + "code": { | ||||
| 3100 | + "hit_rate": 0.7109657549728752, | ||||
| 3101 | + "stall_ms_per_token": 11.539779385171785 | ||||
| 3102 | + }, | ||||
| 3103 | + "reasoning": { | ||||
| 3104 | + "hit_rate": 0.650215344551282, | ||||
| 3105 | + "stall_ms_per_token": 13.894198717948724 | ||||
| 3106 | + }, | ||||
| 3107 | + "multilingual": { | ||||
| 3108 | + "hit_rate": 0.6057692307692307, | ||||
| 3109 | + "stall_ms_per_token": 15.626666666666669 | ||||
| 3110 | + } | ||||
| 3111 | + }, | ||||
| 3112 | + "split": "heldout" | ||||
| 3113 | + }, | ||||
| 3114 | + { | ||||
| 3115 | + "capacity": 24, | ||||
| 3116 | + "policy": "lfu", | ||||
| 3117 | + "predictor": "oracle", | ||||
| 3118 | + "m": 8, | ||||
| 3119 | + "hit_rate": 0.84153981264637, | ||||
| 3120 | + "misses_per_token": 20.28290398126464, | ||||
| 3121 | + "stall_ms_per_token": 6.546907728337246, | ||||
| 3122 | + "prefetch_loads_per_token": 35.13255269320843, | ||||
| 3123 | + "prefetch_precision": 0.5712190699658704, | ||||
| 3124 | + "loads_per_token": 55.41545667447307, | ||||
| 3125 | + "pred_recall_at_k": 1.0, | ||||
| 3126 | + "tokens": 2135, | ||||
| 3127 | + "families": { | ||||
| 3128 | + "general": { | ||||
| 3129 | + "hit_rate": 0.7976426307448494, | ||||
| 3130 | + "stall_ms_per_token": 8.26109667194929 | ||||
| 3131 | + }, | ||||
| 3132 | + "code": { | ||||
| 3133 | + "hit_rate": 0.879013079667063, | ||||
| 3134 | + "stall_ms_per_token": 5.118554102259215 | ||||
| 3135 | + }, | ||||
| 3136 | + "reasoning": { | ||||
| 3137 | + "hit_rate": 0.8252247073578596, | ||||
| 3138 | + "stall_ms_per_token": 7.182066889632114 | ||||
| 3139 | + }, | ||||
| 3140 | + "multilingual": { | ||||
| 3141 | + "hit_rate": 0.8444582760989011, | ||||
| 3142 | + "stall_ms_per_token": 6.35371978021978 | ||||
| 3143 | + } | ||||
| 3144 | + }, | ||||
| 3145 | + "split": "fit" | ||||
| 3146 | + }, | ||||
| 3147 | + { | ||||
| 3148 | + "capacity": 24, | ||||
| 3149 | + "policy": "lfu", | ||||
| 3150 | + "predictor": "oracle", | ||||
| 3151 | + "m": 8, | ||||
| 3152 | + "hit_rate": 0.837650198824343, | ||||
| 3153 | + "misses_per_token": 20.780774550484093, | ||||
| 3154 | + "stall_ms_per_token": 6.674576763485479, | ||||
| 3155 | + "prefetch_loads_per_token": 35.98063623789765, | ||||
| 3156 | + "prefetch_precision": 0.5675021142461751, | ||||
| 3157 | + "loads_per_token": 56.761410788381745, | ||||
| 3158 | + "pred_recall_at_k": 1.0, | ||||
| 3159 | + "tokens": 1446, | ||||
| 3160 | + "families": { | ||||
| 3161 | + "general": { | ||||
| 3162 | + "hit_rate": 0.799901983394834, | ||||
| 3163 | + "stall_ms_per_token": 8.182044280442806 | ||||
| 3164 | + }, | ||||
| 3165 | + "code": { | ||||
| 3166 | + "hit_rate": 0.8739969484629295, | ||||
| 3167 | + "stall_ms_per_token": 5.23764556962026 | ||||
| 3168 | + }, | ||||
| 3169 | + "reasoning": { | ||||
| 3170 | + "hit_rate": 0.8408453525641025, | ||||
| 3171 | + "stall_ms_per_token": 6.5252051282051315 | ||||
| 3172 | + }, | ||||
| 3173 | + "multilingual": { | ||||
| 3174 | + "hit_rate": 0.8213141025641025, | ||||
| 3175 | + "stall_ms_per_token": 7.294564102564102 | ||||
| 3176 | + } | ||||
| 3177 | + }, | ||||
| 3178 | + "split": "heldout" | ||||
| 3179 | + }, | ||||
| 3180 | + { | ||||
| 3181 | + "capacity": 32, | ||||
| 3182 | + "policy": "lru", | ||||
| 3183 | + "predictor": "none", | ||||
| 3184 | + "m": 8, | ||||
| 3185 | + "hit_rate": 0.8022394613583138, | ||||
| 3186 | + "misses_per_token": 25.313348946135832, | ||||
| 3187 | + "stall_ms_per_token": 10.884740046838395, | ||||
| 3188 | + "prefetch_loads_per_token": 0.0, | ||||
| 3189 | + "prefetch_precision": null, | ||||
| 3190 | + "loads_per_token": 25.313348946135832, | ||||
| 3191 | + "pred_recall_at_k": null, | ||||
| 3192 | + "tokens": 2135, | ||||
| 3193 | + "families": { | ||||
| 3194 | + "general": { | ||||
| 3195 | + "hit_rate": 0.7655878565768621, | ||||
| 3196 | + "stall_ms_per_token": 12.90204437400952 | ||||
| 3197 | + }, | ||||
| 3198 | + "code": { | ||||
| 3199 | + "hit_rate": 0.8442516349583828, | ||||
| 3200 | + "stall_ms_per_token": 8.572390011890633 | ||||
| 3201 | + }, | ||||
| 3202 | + "reasoning": { | ||||
| 3203 | + "hit_rate": 0.767375627090301, | ||||
| 3204 | + "stall_ms_per_token": 12.80364548494984 | ||||
| 3205 | + }, | ||||
| 3206 | + "multilingual": { | ||||
| 3207 | + "hit_rate": 0.7973471840659341, | ||||
| 3208 | + "stall_ms_per_token": 11.154010989010997 | ||||
| 3209 | + } | ||||
| 3210 | + }, | ||||
| 3211 | + "split": "fit" | ||||
| 3212 | + }, | ||||
| 3213 | + { | ||||
| 3214 | + "capacity": 32, | ||||
| 3215 | + "policy": "lru", | ||||
| 3216 | + "predictor": "none", | ||||
| 3217 | + "m": 8, | ||||
| 3218 | + "hit_rate": 0.7992576504149378, | ||||
| 3219 | + "misses_per_token": 25.695020746887966, | ||||
| 3220 | + "stall_ms_per_token": 11.048858921161798, | ||||
| 3221 | + "prefetch_loads_per_token": 0.0, | ||||
| 3222 | + "prefetch_precision": null, | ||||
| 3223 | + "loads_per_token": 25.695020746887966, | ||||
| 3224 | + "pred_recall_at_k": null, | ||||
| 3225 | + "tokens": 1446, | ||||
| 3226 | + "families": { | ||||
| 3227 | + "general": { | ||||
| 3228 | + "hit_rate": 0.772803274907749, | ||||
| 3229 | + "stall_ms_per_token": 12.5049077490775 | ||||
| 3230 | + }, | ||||
| 3231 | + "code": { | ||||
| 3232 | + "hit_rate": 0.8352169981916817, | ||||
| 3233 | + "stall_ms_per_token": 9.069656419529856 | ||||
| 3234 | + }, | ||||
| 3235 | + "reasoning": { | ||||
| 3236 | + "hit_rate": 0.7933693910256411, | ||||
| 3237 | + "stall_ms_per_token": 11.372948717948718 | ||||
| 3238 | + }, | ||||
| 3239 | + "multilingual": { | ||||
| 3240 | + "hit_rate": 0.7041266025641025, | ||||
| 3241 | + "stall_ms_per_token": 16.284871794871794 | ||||
| 3242 | + } | ||||
| 3243 | + }, | ||||
| 3244 | + "split": "heldout" | ||||
| 3245 | + }, | ||||
| 3246 | + { | ||||
| 3247 | + "capacity": 32, | ||||
| 3248 | + "policy": "lru", | ||||
| 3249 | + "predictor": "prev_token", | ||||
| 3250 | + "m": 8, | ||||
| 3251 | + "hit_rate": 0.8022394613583138, | ||||
| 3252 | + "misses_per_token": 25.313348946135832, | ||||
| 3253 | + "stall_ms_per_token": 10.884740046838395, | ||||
| 3254 | + "prefetch_loads_per_token": 0.0, | ||||
| 3255 | + "prefetch_precision": null, | ||||
| 3256 | + "loads_per_token": 25.313348946135832, | ||||
| 3257 | + "pred_recall_at_k": null, | ||||
| 3258 | + "tokens": 2135, | ||||
| 3259 | + "families": { | ||||
| 3260 | + "general": { | ||||
| 3261 | + "hit_rate": 0.7655878565768621, | ||||
| 3262 | + "stall_ms_per_token": 12.90204437400952 | ||||
| 3263 | + }, | ||||
| 3264 | + "code": { | ||||
| 3265 | + "hit_rate": 0.8442516349583828, | ||||
| 3266 | + "stall_ms_per_token": 8.572390011890633 | ||||
| 3267 | + }, | ||||
| 3268 | + "reasoning": { | ||||
| 3269 | + "hit_rate": 0.767375627090301, | ||||
| 3270 | + "stall_ms_per_token": 12.80364548494984 | ||||
| 3271 | + }, | ||||
| 3272 | + "multilingual": { | ||||
| 3273 | + "hit_rate": 0.7973471840659341, | ||||
| 3274 | + "stall_ms_per_token": 11.154010989010997 | ||||
| 3275 | + } | ||||
| 3276 | + }, | ||||
| 3277 | + "split": "fit" | ||||
| 3278 | + }, | ||||
| 3279 | + { | ||||
| 3280 | + "capacity": 32, | ||||
| 3281 | + "policy": "lru", | ||||
| 3282 | + "predictor": "prev_token", | ||||
| 3283 | + "m": 8, | ||||
| 3284 | + "hit_rate": 0.7992576504149378, | ||||
| 3285 | + "misses_per_token": 25.695020746887966, | ||||
| 3286 | + "stall_ms_per_token": 11.048858921161798, | ||||
| 3287 | + "prefetch_loads_per_token": 0.0, | ||||
| 3288 | + "prefetch_precision": null, | ||||
| 3289 | + "loads_per_token": 25.695020746887966, | ||||
| 3290 | + "pred_recall_at_k": null, | ||||
| 3291 | + "tokens": 1446, | ||||
| 3292 | + "families": { | ||||
| 3293 | + "general": { | ||||
| 3294 | + "hit_rate": 0.772803274907749, | ||||
| 3295 | + "stall_ms_per_token": 12.5049077490775 | ||||
| 3296 | + }, | ||||
| 3297 | + "code": { | ||||
| 3298 | + "hit_rate": 0.8352169981916817, | ||||
| 3299 | + "stall_ms_per_token": 9.069656419529856 | ||||
| 3300 | + }, | ||||
| 3301 | + "reasoning": { | ||||
| 3302 | + "hit_rate": 0.7933693910256411, | ||||
| 3303 | + "stall_ms_per_token": 11.372948717948718 | ||||
| 3304 | + }, | ||||
| 3305 | + "multilingual": { | ||||
| 3306 | + "hit_rate": 0.7041266025641025, | ||||
| 3307 | + "stall_ms_per_token": 16.284871794871794 | ||||
| 3308 | + } | ||||
| 3309 | + }, | ||||
| 3310 | + "split": "heldout" | ||||
| 3311 | + }, | ||||
| 3312 | + { | ||||
| 3313 | + "capacity": 32, | ||||
| 3314 | + "policy": "lru", | ||||
| 3315 | + "predictor": "prev_rank", | ||||
| 3316 | + "m": 8, | ||||
| 3317 | + "hit_rate": 0.8022431206088994, | ||||
| 3318 | + "misses_per_token": 25.31288056206089, | ||||
| 3319 | + "stall_ms_per_token": 10.884538641686168, | ||||
| 3320 | + "prefetch_loads_per_token": 0.01592505854800937, | ||||
| 3321 | + "prefetch_precision": 0.5588235294117647, | ||||
| 3322 | + "loads_per_token": 25.3288056206089, | ||||
| 3323 | + "pred_recall_at_k": null, | ||||
| 3324 | + "tokens": 2135, | ||||
| 3325 | + "families": { | ||||
| 3326 | + "general": { | ||||
| 3327 | + "hit_rate": 0.7655878565768621, | ||||
| 3328 | + "stall_ms_per_token": 12.902044374009517 | ||||
| 3329 | + }, | ||||
| 3330 | + "code": { | ||||
| 3331 | + "hit_rate": 0.8442330558858502, | ||||
| 3332 | + "stall_ms_per_token": 8.573412604042831 | ||||
| 3333 | + }, | ||||
| 3334 | + "reasoning": { | ||||
| 3335 | + "hit_rate": 0.7674278846153846, | ||||
| 3336 | + "stall_ms_per_token": 12.80076923076924 | ||||
| 3337 | + }, | ||||
| 3338 | + "multilingual": { | ||||
| 3339 | + "hit_rate": 0.797368646978022, | ||||
| 3340 | + "stall_ms_per_token": 11.152829670329675 | ||||
| 3341 | + } | ||||
| 3342 | + }, | ||||
| 3343 | + "split": "fit" | ||||
| 3344 | + }, | ||||
| 3345 | + { | ||||
| 3346 | + "capacity": 32, | ||||
| 3347 | + "policy": "lru", | ||||
| 3348 | + "predictor": "prev_rank", | ||||
| 3349 | + "m": 8, | ||||
| 3350 | + "hit_rate": 0.7991982192254495, | ||||
| 3351 | + "misses_per_token": 25.702627939142463, | ||||
| 3352 | + "stall_ms_per_token": 11.052130013831231, | ||||
| 3353 | + "prefetch_loads_per_token": 0.011065006915629323, | ||||
| 3354 | + "prefetch_precision": 0.3125, | ||||
| 3355 | + "loads_per_token": 25.713692946058092, | ||||
| 3356 | + "pred_recall_at_k": null, | ||||
| 3357 | + "tokens": 1446, | ||||
| 3358 | + "families": { | ||||
| 3359 | + "general": { | ||||
| 3360 | + "hit_rate": 0.7727167896678967, | ||||
| 3361 | + "stall_ms_per_token": 12.509667896678977 | ||||
| 3362 | + }, | ||||
| 3363 | + "code": { | ||||
| 3364 | + "hit_rate": 0.8352028707052441, | ||||
| 3365 | + "stall_ms_per_token": 9.070433996383382 | ||||
| 3366 | + }, | ||||
| 3367 | + "reasoning": { | ||||
| 3368 | + "hit_rate": 0.7932692307692307, | ||||
| 3369 | + "stall_ms_per_token": 11.37846153846154 | ||||
| 3370 | + }, | ||||
| 3371 | + "multilingual": { | ||||
| 3372 | + "hit_rate": 0.7041266025641025, | ||||
| 3373 | + "stall_ms_per_token": 16.284871794871794 | ||||
| 3374 | + } | ||||
| 3375 | + }, | ||||
| 3376 | + "split": "heldout" | ||||
| 3377 | + }, | ||||
| 3378 | + { | ||||
| 3379 | + "capacity": 32, | ||||
| 3380 | + "policy": "lru", | ||||
| 3381 | + "predictor": "transition", | ||||
| 3382 | + "m": 8, | ||||
| 3383 | + "hit_rate": 0.8338334309133489, | ||||
| 3384 | + "misses_per_token": 21.269320843091336, | ||||
| 3385 | + "stall_ms_per_token": 6.738148946135845, | ||||
| 3386 | + "prefetch_loads_per_token": 13.986416861826697, | ||||
| 3387 | + "prefetch_precision": 0.656876862797629, | ||||
| 3388 | + "loads_per_token": 35.25573770491803, | ||||
| 3389 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 3390 | + "tokens": 2135, | ||||
| 3391 | + "families": { | ||||
| 3392 | + "general": { | ||||
| 3393 | + "hit_rate": 0.8059751386687797, | ||||
| 3394 | + "stall_ms_per_token": 7.82864342313786 | ||||
| 3395 | + }, | ||||
| 3396 | + "code": { | ||||
| 3397 | + "hit_rate": 0.8655618311533888, | ||||
| 3398 | + "stall_ms_per_token": 5.525897740784781 | ||||
| 3399 | + }, | ||||
| 3400 | + "reasoning": { | ||||
| 3401 | + "hit_rate": 0.8055497491638796, | ||||
| 3402 | + "stall_ms_per_token": 7.833458193979932 | ||||
| 3403 | + }, | ||||
| 3404 | + "multilingual": { | ||||
| 3405 | + "hit_rate": 0.8320527129120879, | ||||
| 3406 | + "stall_ms_per_token": 6.748873626373629 | ||||
| 3407 | + } | ||||
| 3408 | + }, | ||||
| 3409 | + "split": "fit" | ||||
| 3410 | + }, | ||||
| 3411 | + { | ||||
| 3412 | + "capacity": 32, | ||||
| 3413 | + "policy": "lru", | ||||
| 3414 | + "predictor": "transition", | ||||
| 3415 | + "m": 8, | ||||
| 3416 | + "hit_rate": 0.824953535615491, | ||||
| 3417 | + "misses_per_token": 22.40594744121715, | ||||
| 3418 | + "stall_ms_per_token": 7.086684647302896, | ||||
| 3419 | + "prefetch_loads_per_token": 16.033195020746888, | ||||
| 3420 | + "prefetch_precision": 0.6192632850241546, | ||||
| 3421 | + "loads_per_token": 38.43914246196404, | ||||
| 3422 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 3423 | + "tokens": 1446, | ||||
| 3424 | + "families": { | ||||
| 3425 | + "general": { | ||||
| 3426 | + "hit_rate": 0.7941074723247232, | ||||
| 3427 | + "stall_ms_per_token": 8.30873800738008 | ||||
| 3428 | + }, | ||||
| 3429 | + "code": { | ||||
| 3430 | + "hit_rate": 0.8585697332730561, | ||||
| 3431 | + "stall_ms_per_token": 5.757153707052442 | ||||
| 3432 | + }, | ||||
| 3433 | + "reasoning": { | ||||
| 3434 | + "hit_rate": 0.8236177884615384, | ||||
| 3435 | + "stall_ms_per_token": 7.140692307692305 | ||||
| 3436 | + }, | ||||
| 3437 | + "multilingual": { | ||||
| 3438 | + "hit_rate": 0.7876602564102564, | ||||
| 3439 | + "stall_ms_per_token": 8.523282051282052 | ||||
| 3440 | + } | ||||
| 3441 | + }, | ||||
| 3442 | + "split": "heldout" | ||||
| 3443 | + }, | ||||
| 3444 | + { | ||||
| 3445 | + "capacity": 32, | ||||
| 3446 | + "policy": "lru", | ||||
| 3447 | + "predictor": "probe", | ||||
| 3448 | + "m": 8, | ||||
| 3449 | + "hit_rate": 0.756798887587822, | ||||
| 3450 | + "misses_per_token": 31.129742388758782, | ||||
| 3451 | + "stall_ms_per_token": 9.715996252927422, | ||||
| 3452 | + "prefetch_loads_per_token": 44.34894613583138, | ||||
| 3453 | + "prefetch_precision": 0.2745735861012832, | ||||
| 3454 | + "loads_per_token": 75.47868852459017, | ||||
| 3455 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 3456 | + "tokens": 2135, | ||||
| 3457 | + "families": { | ||||
| 3458 | + "general": { | ||||
| 3459 | + "hit_rate": 0.7336568938193344, | ||||
| 3460 | + "stall_ms_per_token": 10.624177496038032 | ||||
| 3461 | + }, | ||||
| 3462 | + "code": { | ||||
| 3463 | + "hit_rate": 0.7823275862068966, | ||||
| 3464 | + "stall_ms_per_token": 8.743400713436374 | ||||
| 3465 | + }, | ||||
| 3466 | + "reasoning": { | ||||
| 3467 | + "hit_rate": 0.731814381270903, | ||||
| 3468 | + "stall_ms_per_token": 10.683772575250838 | ||||
| 3469 | + }, | ||||
| 3470 | + "multilingual": { | ||||
| 3471 | + "hit_rate": 0.7584563873626373, | ||||
| 3472 | + "stall_ms_per_token": 9.593813186813193 | ||||
| 3473 | + } | ||||
| 3474 | + }, | ||||
| 3475 | + "split": "fit" | ||||
| 3476 | + }, | ||||
| 3477 | + { | ||||
| 3478 | + "capacity": 32, | ||||
| 3479 | + "policy": "lru", | ||||
| 3480 | + "predictor": "probe", | ||||
| 3481 | + "m": 8, | ||||
| 3482 | + "hit_rate": 0.7485952627939142, | ||||
| 3483 | + "misses_per_token": 32.179806362378976, | ||||
| 3484 | + "stall_ms_per_token": 10.038390041493777, | ||||
| 3485 | + "prefetch_loads_per_token": 42.50829875518672, | ||||
| 3486 | + "prefetch_precision": 0.2789952332145704, | ||||
| 3487 | + "loads_per_token": 74.6881051175657, | ||||
| 3488 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 3489 | + "tokens": 1446, | ||||
| 3490 | + "families": { | ||||
| 3491 | + "general": { | ||||
| 3492 | + "hit_rate": 0.7069159363468634, | ||||
| 3493 | + "stall_ms_per_token": 11.679214022140215 | ||||
| 3494 | + }, | ||||
| 3495 | + "code": { | ||||
| 3496 | + "hit_rate": 0.7893450497287523, | ||||
| 3497 | + "stall_ms_per_token": 8.433103074141053 | ||||
| 3498 | + }, | ||||
| 3499 | + "reasoning": { | ||||
| 3500 | + "hit_rate": 0.7512269631410257, | ||||
| 3501 | + "stall_ms_per_token": 9.939032051282064 | ||||
| 3502 | + }, | ||||
| 3503 | + "multilingual": { | ||||
| 3504 | + "hit_rate": 0.7289663461538461, | ||||
| 3505 | + "stall_ms_per_token": 10.792153846153846 | ||||
| 3506 | + } | ||||
| 3507 | + }, | ||||
| 3508 | + "split": "heldout" | ||||
| 3509 | + }, | ||||
| 3510 | + { | ||||
| 3511 | + "capacity": 32, | ||||
| 3512 | + "policy": "lru", | ||||
| 3513 | + "predictor": "oracle", | ||||
| 3514 | + "m": 8, | ||||
| 3515 | + "hit_rate": 0.972606850117096, | ||||
| 3516 | + "misses_per_token": 3.5063231850117096, | ||||
| 3517 | + "stall_ms_per_token": 1.3737236533957926, | ||||
| 3518 | + "prefetch_loads_per_token": 23.830444964871194, | ||||
| 3519 | + "prefetch_precision": 1.0, | ||||
| 3520 | + "loads_per_token": 27.336768149882904, | ||||
| 3521 | + "pred_recall_at_k": 1.0, | ||||
| 3522 | + "tokens": 2135, | ||||
| 3523 | + "families": { | ||||
| 3524 | + "general": { | ||||
| 3525 | + "hit_rate": 0.9691338153724247, | ||||
| 3526 | + "stall_ms_per_token": 1.5215816164817764 | ||||
| 3527 | + }, | ||||
| 3528 | + "code": { | ||||
| 3529 | + "hit_rate": 0.9743794589774079, | ||||
| 3530 | + "stall_ms_per_token": 1.319443519619505 | ||||
| 3531 | + }, | ||||
| 3532 | + "reasoning": { | ||||
| 3533 | + "hit_rate": 0.9704744983277592, | ||||
| 3534 | + "stall_ms_per_token": 1.4581270903010055 | ||||
| 3535 | + }, | ||||
| 3536 | + "multilingual": { | ||||
| 3537 | + "hit_rate": 0.9762834821428571, | ||||
| 3538 | + "stall_ms_per_token": 1.1734890109890135 | ||||
| 3539 | + } | ||||
| 3540 | + }, | ||||
| 3541 | + "split": "fit" | ||||
| 3542 | + }, | ||||
| 3543 | + { | ||||
| 3544 | + "capacity": 32, | ||||
| 3545 | + "policy": "lru", | ||||
| 3546 | + "predictor": "oracle", | ||||
| 3547 | + "m": 8, | ||||
| 3548 | + "hit_rate": 0.9715000432226832, | ||||
| 3549 | + "misses_per_token": 3.647994467496542, | ||||
| 3550 | + "stall_ms_per_token": 1.4217828492392859, | ||||
| 3551 | + "prefetch_loads_per_token": 24.298063623789766, | ||||
| 3552 | + "prefetch_precision": 1.0, | ||||
| 3553 | + "loads_per_token": 27.946058091286307, | ||||
| 3554 | + "pred_recall_at_k": 1.0, | ||||
| 3555 | + "tokens": 1446, | ||||
| 3556 | + "families": { | ||||
| 3557 | + "general": { | ||||
| 3558 | + "hit_rate": 0.9664293127306273, | ||||
| 3559 | + "stall_ms_per_token": 1.647464944649449 | ||||
| 3560 | + }, | ||||
| 3561 | + "code": { | ||||
| 3562 | + "hit_rate": 0.9765766274864376, | ||||
| 3563 | + "stall_ms_per_token": 1.1954792043399678 | ||||
| 3564 | + }, | ||||
| 3565 | + "reasoning": { | ||||
| 3566 | + "hit_rate": 0.9710536858974359, | ||||
| 3567 | + "stall_ms_per_token": 1.4414102564102582 | ||||
| 3568 | + }, | ||||
| 3569 | + "multilingual": { | ||||
| 3570 | + "hit_rate": 0.9735576923076923, | ||||
| 3571 | + "stall_ms_per_token": 1.337230769230769 | ||||
| 3572 | + } | ||||
| 3573 | + }, | ||||
| 3574 | + "split": "heldout" | ||||
| 3575 | + }, | ||||
| 3576 | + { | ||||
| 3577 | + "capacity": 32, | ||||
| 3578 | + "policy": "lfu", | ||||
| 3579 | + "predictor": "none", | ||||
| 3580 | + "m": 8, | ||||
| 3581 | + "hit_rate": 0.8075819672131147, | ||||
| 3582 | + "misses_per_token": 24.62950819672131, | ||||
| 3583 | + "stall_ms_per_token": 10.590688524590124, | ||||
| 3584 | + "prefetch_loads_per_token": 0.0, | ||||
| 3585 | + "prefetch_precision": null, | ||||
| 3586 | + "loads_per_token": 24.62950819672131, | ||||
| 3587 | + "pred_recall_at_k": null, | ||||
| 3588 | + "tokens": 2135, | ||||
| 3589 | + "families": { | ||||
| 3590 | + "general": { | ||||
| 3591 | + "hit_rate": 0.7640649762282092, | ||||
| 3592 | + "stall_ms_per_token": 12.985863708399386 | ||||
| 3593 | + }, | ||||
| 3594 | + "code": { | ||||
| 3595 | + "hit_rate": 0.8513116825208086, | ||||
| 3596 | + "stall_ms_per_token": 8.183804994054725 | ||||
| 3597 | + }, | ||||
| 3598 | + "reasoning": { | ||||
| 3599 | + "hit_rate": 0.78125, | ||||
| 3600 | + "stall_ms_per_token": 12.040000000000006 | ||||
| 3601 | + }, | ||||
| 3602 | + "multilingual": { | ||||
| 3603 | + "hit_rate": 0.8036143543956044, | ||||
| 3604 | + "stall_ms_per_token": 10.809065934065947 | ||||
| 3605 | + } | ||||
| 3606 | + }, | ||||
| 3607 | + "split": "fit" | ||||
| 3608 | + }, | ||||
| 3609 | + { | ||||
| 3610 | + "capacity": 32, | ||||
| 3611 | + "policy": "lfu", | ||||
| 3612 | + "predictor": "none", | ||||
| 3613 | + "m": 8, | ||||
| 3614 | + "hit_rate": 0.812510805670816, | ||||
| 3615 | + "misses_per_token": 23.998616874135546, | ||||
| 3616 | + "stall_ms_per_token": 10.319405255878264, | ||||
| 3617 | + "prefetch_loads_per_token": 0.0, | ||||
| 3618 | + "prefetch_precision": null, | ||||
| 3619 | + "loads_per_token": 23.998616874135546, | ||||
| 3620 | + "pred_recall_at_k": null, | ||||
| 3621 | + "tokens": 1446, | ||||
| 3622 | + "families": { | ||||
| 3623 | + "general": { | ||||
| 3624 | + "hit_rate": 0.7812067573800738, | ||||
| 3625 | + "stall_ms_per_token": 12.042380073800732 | ||||
| 3626 | + }, | ||||
| 3627 | + "code": { | ||||
| 3628 | + "hit_rate": 0.8513223327305606, | ||||
| 3629 | + "stall_ms_per_token": 8.183218806509966 | ||||
| 3630 | + }, | ||||
| 3631 | + "reasoning": { | ||||
| 3632 | + "hit_rate": 0.809395032051282, | ||||
| 3633 | + "stall_ms_per_token": 10.490897435897432 | ||||
| 3634 | + }, | ||||
| 3635 | + "multilingual": { | ||||
| 3636 | + "hit_rate": 0.7221554487179487, | ||||
| 3637 | + "stall_ms_per_token": 15.292564102564102 | ||||
| 3638 | + } | ||||
| 3639 | + }, | ||||
| 3640 | + "split": "heldout" | ||||
| 3641 | + }, | ||||
| 3642 | + { | ||||
| 3643 | + "capacity": 32, | ||||
| 3644 | + "policy": "lfu", | ||||
| 3645 | + "predictor": "prev_token", | ||||
| 3646 | + "m": 8, | ||||
| 3647 | + "hit_rate": 0.8075819672131147, | ||||
| 3648 | + "misses_per_token": 24.62950819672131, | ||||
| 3649 | + "stall_ms_per_token": 10.590688524590124, | ||||
| 3650 | + "prefetch_loads_per_token": 0.0, | ||||
| 3651 | + "prefetch_precision": null, | ||||
| 3652 | + "loads_per_token": 24.62950819672131, | ||||
| 3653 | + "pred_recall_at_k": null, | ||||
| 3654 | + "tokens": 2135, | ||||
| 3655 | + "families": { | ||||
| 3656 | + "general": { | ||||
| 3657 | + "hit_rate": 0.7640649762282092, | ||||
| 3658 | + "stall_ms_per_token": 12.985863708399386 | ||||
| 3659 | + }, | ||||
| 3660 | + "code": { | ||||
| 3661 | + "hit_rate": 0.8513116825208086, | ||||
| 3662 | + "stall_ms_per_token": 8.183804994054725 | ||||
| 3663 | + }, | ||||
| 3664 | + "reasoning": { | ||||
| 3665 | + "hit_rate": 0.78125, | ||||
| 3666 | + "stall_ms_per_token": 12.040000000000006 | ||||
| 3667 | + }, | ||||
| 3668 | + "multilingual": { | ||||
| 3669 | + "hit_rate": 0.8036143543956044, | ||||
| 3670 | + "stall_ms_per_token": 10.809065934065947 | ||||
| 3671 | + } | ||||
| 3672 | + }, | ||||
| 3673 | + "split": "fit" | ||||
| 3674 | + }, | ||||
| 3675 | + { | ||||
| 3676 | + "capacity": 32, | ||||
| 3677 | + "policy": "lfu", | ||||
| 3678 | + "predictor": "prev_token", | ||||
| 3679 | + "m": 8, | ||||
| 3680 | + "hit_rate": 0.812510805670816, | ||||
| 3681 | + "misses_per_token": 23.998616874135546, | ||||
| 3682 | + "stall_ms_per_token": 10.319405255878264, | ||||
| 3683 | + "prefetch_loads_per_token": 0.0, | ||||
| 3684 | + "prefetch_precision": null, | ||||
| 3685 | + "loads_per_token": 23.998616874135546, | ||||
| 3686 | + "pred_recall_at_k": null, | ||||
| 3687 | + "tokens": 1446, | ||||
| 3688 | + "families": { | ||||
| 3689 | + "general": { | ||||
| 3690 | + "hit_rate": 0.7812067573800738, | ||||
| 3691 | + "stall_ms_per_token": 12.042380073800732 | ||||
| 3692 | + }, | ||||
| 3693 | + "code": { | ||||
| 3694 | + "hit_rate": 0.8513223327305606, | ||||
| 3695 | + "stall_ms_per_token": 8.183218806509966 | ||||
| 3696 | + }, | ||||
| 3697 | + "reasoning": { | ||||
| 3698 | + "hit_rate": 0.809395032051282, | ||||
| 3699 | + "stall_ms_per_token": 10.490897435897432 | ||||
| 3700 | + }, | ||||
| 3701 | + "multilingual": { | ||||
| 3702 | + "hit_rate": 0.7221554487179487, | ||||
| 3703 | + "stall_ms_per_token": 15.292564102564102 | ||||
| 3704 | + } | ||||
| 3705 | + }, | ||||
| 3706 | + "split": "heldout" | ||||
| 3707 | + }, | ||||
| 3708 | + { | ||||
| 3709 | + "capacity": 32, | ||||
| 3710 | + "policy": "lfu", | ||||
| 3711 | + "predictor": "prev_rank", | ||||
| 3712 | + "m": 8, | ||||
| 3713 | + "hit_rate": 0.8075929449648712, | ||||
| 3714 | + "misses_per_token": 24.628103044496488, | ||||
| 3715 | + "stall_ms_per_token": 10.59008430913345, | ||||
| 3716 | + "prefetch_loads_per_token": 0.017330210772833723, | ||||
| 3717 | + "prefetch_precision": 0.2702702702702703, | ||||
| 3718 | + "loads_per_token": 24.64543325526932, | ||||
| 3719 | + "pred_recall_at_k": null, | ||||
| 3720 | + "tokens": 2135, | ||||
| 3721 | + "families": { | ||||
| 3722 | + "general": { | ||||
| 3723 | + "hit_rate": 0.7640897385103012, | ||||
| 3724 | + "stall_ms_per_token": 12.984500792393042 | ||||
| 3725 | + }, | ||||
| 3726 | + "code": { | ||||
| 3727 | + "hit_rate": 0.8513209720570749, | ||||
| 3728 | + "stall_ms_per_token": 8.183293697978623 | ||||
| 3729 | + }, | ||||
| 3730 | + "reasoning": { | ||||
| 3731 | + "hit_rate": 0.78125, | ||||
| 3732 | + "stall_ms_per_token": 12.040000000000008 | ||||
| 3733 | + }, | ||||
| 3734 | + "multilingual": { | ||||
| 3735 | + "hit_rate": 0.8036143543956044, | ||||
| 3736 | + "stall_ms_per_token": 10.809065934065947 | ||||
| 3737 | + } | ||||
| 3738 | + }, | ||||
| 3739 | + "split": "fit" | ||||
| 3740 | + }, | ||||
| 3741 | + { | ||||
| 3742 | + "capacity": 32, | ||||
| 3743 | + "policy": "lfu", | ||||
| 3744 | + "predictor": "prev_rank", | ||||
| 3745 | + "m": 8, | ||||
| 3746 | + "hit_rate": 0.812510805670816, | ||||
| 3747 | + "misses_per_token": 23.998616874135546, | ||||
| 3748 | + "stall_ms_per_token": 10.319405255878266, | ||||
| 3749 | + "prefetch_loads_per_token": 0.011065006915629323, | ||||
| 3750 | + "prefetch_precision": 0.25, | ||||
| 3751 | + "loads_per_token": 24.009681881051176, | ||||
| 3752 | + "pred_recall_at_k": null, | ||||
| 3753 | + "tokens": 1446, | ||||
| 3754 | + "families": { | ||||
| 3755 | + "general": { | ||||
| 3756 | + "hit_rate": 0.7812067573800738, | ||||
| 3757 | + "stall_ms_per_token": 12.042380073800732 | ||||
| 3758 | + }, | ||||
| 3759 | + "code": { | ||||
| 3760 | + "hit_rate": 0.8513223327305606, | ||||
| 3761 | + "stall_ms_per_token": 8.183218806509972 | ||||
| 3762 | + }, | ||||
| 3763 | + "reasoning": { | ||||
| 3764 | + "hit_rate": 0.809395032051282, | ||||
| 3765 | + "stall_ms_per_token": 10.49089743589743 | ||||
| 3766 | + }, | ||||
| 3767 | + "multilingual": { | ||||
| 3768 | + "hit_rate": 0.7221554487179487, | ||||
| 3769 | + "stall_ms_per_token": 15.292564102564102 | ||||
| 3770 | + } | ||||
| 3771 | + }, | ||||
| 3772 | + "split": "heldout" | ||||
| 3773 | + }, | ||||
| 3774 | + { | ||||
| 3775 | + "capacity": 32, | ||||
| 3776 | + "policy": "lfu", | ||||
| 3777 | + "predictor": "transition", | ||||
| 3778 | + "m": 8, | ||||
| 3779 | + "hit_rate": 0.8152480971896956, | ||||
| 3780 | + "misses_per_token": 23.64824355971897, | ||||
| 3781 | + "stall_ms_per_token": 7.440096487119452, | ||||
| 3782 | + "prefetch_loads_per_token": 17.589695550351287, | ||||
| 3783 | + "prefetch_precision": 0.20679554774458114, | ||||
| 3784 | + "loads_per_token": 41.23793911007026, | ||||
| 3785 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 3786 | + "tokens": 2135, | ||||
| 3787 | + "families": { | ||||
| 3788 | + "general": { | ||||
| 3789 | + "hit_rate": 0.7600163431061807, | ||||
| 3790 | + "stall_ms_per_token": 9.602792393026952 | ||||
| 3791 | + }, | ||||
| 3792 | + "code": { | ||||
| 3793 | + "hit_rate": 0.8646235879904876, | ||||
| 3794 | + "stall_ms_per_token": 5.541315101070156 | ||||
| 3795 | + }, | ||||
| 3796 | + "reasoning": { | ||||
| 3797 | + "hit_rate": 0.7980769230769231, | ||||
| 3798 | + "stall_ms_per_token": 8.123183946488295 | ||||
| 3799 | + }, | ||||
| 3800 | + "multilingual": { | ||||
| 3801 | + "hit_rate": 0.8110190590659341, | ||||
| 3802 | + "stall_ms_per_token": 7.516939560439553 | ||||
| 3803 | + } | ||||
| 3804 | + }, | ||||
| 3805 | + "split": "fit" | ||||
| 3806 | + }, | ||||
| 3807 | + { | ||||
| 3808 | + "capacity": 32, | ||||
| 3809 | + "policy": "lfu", | ||||
| 3810 | + "predictor": "transition", | ||||
| 3811 | + "m": 8, | ||||
| 3812 | + "hit_rate": 0.8117814228907331, | ||||
| 3813 | + "misses_per_token": 24.09197786998617, | ||||
| 3814 | + "stall_ms_per_token": 7.562228215767629, | ||||
| 3815 | + "prefetch_loads_per_token": 19.682572614107883, | ||||
| 3816 | + "prefetch_precision": 0.17557359193282035, | ||||
| 3817 | + "loads_per_token": 43.77455048409405, | ||||
| 3818 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 3819 | + "tokens": 1446, | ||||
| 3820 | + "families": { | ||||
| 3821 | + "general": { | ||||
| 3822 | + "hit_rate": 0.7562557656826568, | ||||
| 3823 | + "stall_ms_per_token": 9.73391143911438 | ||||
| 3824 | + }, | ||||
| 3825 | + "code": { | ||||
| 3826 | + "hit_rate": 0.8617201627486437, | ||||
| 3827 | + "stall_ms_per_token": 5.616853526220617 | ||||
| 3828 | + }, | ||||
| 3829 | + "reasoning": { | ||||
| 3830 | + "hit_rate": 0.8238181089743589, | ||||
| 3831 | + "stall_ms_per_token": 7.077564102564106 | ||||
| 3832 | + }, | ||||
| 3833 | + "multilingual": { | ||||
| 3834 | + "hit_rate": 0.7790464743589743, | ||||
| 3835 | + "stall_ms_per_token": 8.843128205128203 | ||||
| 3836 | + } | ||||
| 3837 | + }, | ||||
| 3838 | + "split": "heldout" | ||||
| 3839 | + }, | ||||
| 3840 | + { | ||||
| 3841 | + "capacity": 32, | ||||
| 3842 | + "policy": "lfu", | ||||
| 3843 | + "predictor": "probe", | ||||
| 3844 | + "m": 8, | ||||
| 3845 | + "hit_rate": 0.7727422423887588, | ||||
| 3846 | + "misses_per_token": 29.088992974238877, | ||||
| 3847 | + "stall_ms_per_token": 9.083202810304448, | ||||
| 3848 | + "prefetch_loads_per_token": 55.67259953161592, | ||||
| 3849 | + "prefetch_precision": 0.06647260245160314, | ||||
| 3850 | + "loads_per_token": 84.76159250585481, | ||||
| 3851 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 3852 | + "tokens": 2135, | ||||
| 3853 | + "families": { | ||||
| 3854 | + "general": { | ||||
| 3855 | + "hit_rate": 0.7179947503961965, | ||||
| 3856 | + "stall_ms_per_token": 11.227179080824094 | ||||
| 3857 | + }, | ||||
| 3858 | + "code": { | ||||
| 3859 | + "hit_rate": 0.821640903686088, | ||||
| 3860 | + "stall_ms_per_token": 7.202853745541018 | ||||
| 3861 | + }, | ||||
| 3862 | + "reasoning": { | ||||
| 3863 | + "hit_rate": 0.7537364130434783, | ||||
| 3864 | + "stall_ms_per_token": 9.837210702341142 | ||||
| 3865 | + }, | ||||
| 3866 | + "multilingual": { | ||||
| 3867 | + "hit_rate": 0.7702824519230769, | ||||
| 3868 | + "stall_ms_per_token": 9.091653846153847 | ||||
| 3869 | + } | ||||
| 3870 | + }, | ||||
| 3871 | + "split": "fit" | ||||
| 3872 | + }, | ||||
| 3873 | + { | ||||
| 3874 | + "capacity": 32, | ||||
| 3875 | + "policy": "lfu", | ||||
| 3876 | + "predictor": "probe", | ||||
| 3877 | + "m": 8, | ||||
| 3878 | + "hit_rate": 0.7718706777316736, | ||||
| 3879 | + "misses_per_token": 29.20055325034578, | ||||
| 3880 | + "stall_ms_per_token": 9.105017980636239, | ||||
| 3881 | + "prefetch_loads_per_token": 54.932918395574, | ||||
| 3882 | + "prefetch_precision": 0.06007578714136442, | ||||
| 3883 | + "loads_per_token": 84.13347164591978, | ||||
| 3884 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 3885 | + "tokens": 1446, | ||||
| 3886 | + "families": { | ||||
| 3887 | + "general": { | ||||
| 3888 | + "hit_rate": 0.7233193035055351, | ||||
| 3889 | + "stall_ms_per_token": 11.007103321033217 | ||||
| 3890 | + }, | ||||
| 3891 | + "code": { | ||||
| 3892 | + "hit_rate": 0.817755424954792, | ||||
| 3893 | + "stall_ms_per_token": 7.316354430379746 | ||||
| 3894 | + }, | ||||
| 3895 | + "reasoning": { | ||||
| 3896 | + "hit_rate": 0.7807742387820513, | ||||
| 3897 | + "stall_ms_per_token": 8.741467948717956 | ||||
| 3898 | + }, | ||||
| 3899 | + "multilingual": { | ||||
| 3900 | + "hit_rate": 0.7247596153846154, | ||||
| 3901 | + "stall_ms_per_token": 10.941641025641028 | ||||
| 3902 | + } | ||||
| 3903 | + }, | ||||
| 3904 | + "split": "heldout" | ||||
| 3905 | + }, | ||||
| 3906 | + { | ||||
| 3907 | + "capacity": 32, | ||||
| 3908 | + "policy": "lfu", | ||||
| 3909 | + "predictor": "oracle", | ||||
| 3910 | + "m": 8, | ||||
| 3911 | + "hit_rate": 0.9044496487119438, | ||||
| 3912 | + "misses_per_token": 12.230444964871195, | ||||
| 3913 | + "stall_ms_per_token": 3.9919213114753997, | ||||
| 3914 | + "prefetch_loads_per_token": 23.498829039812648, | ||||
| 3915 | + "prefetch_precision": 0.6249750847119793, | ||||
| 3916 | + "loads_per_token": 35.72927400468384, | ||||
| 3917 | + "pred_recall_at_k": 1.0, | ||||
| 3918 | + "tokens": 2135, | ||||
| 3919 | + "families": { | ||||
| 3920 | + "general": { | ||||
| 3921 | + "hit_rate": 0.8748142828843106, | ||||
| 3922 | + "stall_ms_per_token": 5.165163232963544 | ||||
| 3923 | + }, | ||||
| 3924 | + "code": { | ||||
| 3925 | + "hit_rate": 0.9297246581450654, | ||||
| 3926 | + "stall_ms_per_token": 3.024768133174794 | ||||
| 3927 | + }, | ||||
| 3928 | + "reasoning": { | ||||
| 3929 | + "hit_rate": 0.8963733277591973, | ||||
| 3930 | + "stall_ms_per_token": 4.323438127090303 | ||||
| 3931 | + }, | ||||
| 3932 | + "multilingual": { | ||||
| 3933 | + "hit_rate": 0.904060782967033, | ||||
| 3934 | + "stall_ms_per_token": 3.9203186813186828 | ||||
| 3935 | + } | ||||
| 3936 | + }, | ||||
| 3937 | + "split": "fit" | ||||
| 3938 | + }, | ||||
| 3939 | + { | ||||
| 3940 | + "capacity": 32, | ||||
| 3941 | + "policy": "lfu", | ||||
| 3942 | + "predictor": "oracle", | ||||
| 3943 | + "m": 8, | ||||
| 3944 | + "hit_rate": 0.9066065871369294, | ||||
| 3945 | + "misses_per_token": 11.95435684647303, | ||||
| 3946 | + "stall_ms_per_token": 3.896666666666663, | ||||
| 3947 | + "prefetch_loads_per_token": 23.068464730290458, | ||||
| 3948 | + "prefetch_precision": 0.6297328896483497, | ||||
| 3949 | + "loads_per_token": 35.022821576763484, | ||||
| 3950 | + "pred_recall_at_k": 1.0, | ||||
| 3951 | + "tokens": 1446, | ||||
| 3952 | + "families": { | ||||
| 3953 | + "general": { | ||||
| 3954 | + "hit_rate": 0.8815728782287823, | ||||
| 3955 | + "stall_ms_per_token": 4.889653136531366 | ||||
| 3956 | + }, | ||||
| 3957 | + "code": { | ||||
| 3958 | + "hit_rate": 0.9305916591320073, | ||||
| 3959 | + "stall_ms_per_token": 2.9545569620253174 | ||||
| 3960 | + }, | ||||
| 3961 | + "reasoning": { | ||||
| 3962 | + "hit_rate": 0.9098056891025641, | ||||
| 3963 | + "stall_ms_per_token": 3.753628205128207 | ||||
| 3964 | + }, | ||||
| 3965 | + "multilingual": { | ||||
| 3966 | + "hit_rate": 0.8888221153846154, | ||||
| 3967 | + "stall_ms_per_token": 4.599641025641027 | ||||
| 3968 | + } | ||||
| 3969 | + }, | ||||
| 3970 | + "split": "heldout" | ||||
| 3971 | + }, | ||||
| 3972 | + { | ||||
| 3973 | + "capacity": 48, | ||||
| 3974 | + "policy": "lru", | ||||
| 3975 | + "predictor": "none", | ||||
| 3976 | + "m": 8, | ||||
| 3977 | + "hit_rate": 0.924092505854801, | ||||
| 3978 | + "misses_per_token": 9.71615925058548, | ||||
| 3979 | + "stall_ms_per_token": 4.177948477751752, | ||||
| 3980 | + "prefetch_loads_per_token": 0.0, | ||||
| 3981 | + "prefetch_precision": null, | ||||
| 3982 | + "loads_per_token": 9.71615925058548, | ||||
| 3983 | + "pred_recall_at_k": null, | ||||
| 3984 | + "tokens": 2135, | ||||
| 3985 | + "families": { | ||||
| 3986 | + "general": { | ||||
| 3987 | + "hit_rate": 0.9084414619651348, | ||||
| 3988 | + "stall_ms_per_token": 5.039381933439005 | ||||
| 3989 | + }, | ||||
| 3990 | + "code": { | ||||
| 3991 | + "hit_rate": 0.9473654875148633, | ||||
| 3992 | + "stall_ms_per_token": 2.8970035671819394 | ||||
| 3993 | + }, | ||||
| 3994 | + "reasoning": { | ||||
| 3995 | + "hit_rate": 0.9013116638795987, | ||||
| 3996 | + "stall_ms_per_token": 5.431806020066899 | ||||
| 3997 | + }, | ||||
| 3998 | + "multilingual": { | ||||
| 3999 | + "hit_rate": 0.9161658653846154, | ||||
| 4000 | + "stall_ms_per_token": 4.6142307692307805 | ||||
| 4001 | + } | ||||
| 4002 | + }, | ||||
| 4003 | + "split": "fit" | ||||
| 4004 | + }, | ||||
| 4005 | + { | ||||
| 4006 | + "capacity": 48, | ||||
| 4007 | + "policy": "lru", | ||||
| 4008 | + "predictor": "none", | ||||
| 4009 | + "m": 8, | ||||
| 4010 | + "hit_rate": 0.9295848461272476, | ||||
| 4011 | + "misses_per_token": 9.01313969571231, | ||||
| 4012 | + "stall_ms_per_token": 3.875650069156311, | ||||
| 4013 | + "prefetch_loads_per_token": 0.0, | ||||
| 4014 | + "prefetch_precision": null, | ||||
| 4015 | + "loads_per_token": 9.01313969571231, | ||||
| 4016 | + "pred_recall_at_k": null, | ||||
| 4017 | + "tokens": 1446, | ||||
| 4018 | + "families": { | ||||
| 4019 | + "general": { | ||||
| 4020 | + "hit_rate": 0.9205056503690037, | ||||
| 4021 | + "stall_ms_per_token": 4.375369003690051 | ||||
| 4022 | + }, | ||||
| 4023 | + "code": { | ||||
| 4024 | + "hit_rate": 0.947685917721519, | ||||
| 4025 | + "stall_ms_per_token": 2.8793670886076024 | ||||
| 4026 | + }, | ||||
| 4027 | + "reasoning": { | ||||
| 4028 | + "hit_rate": 0.9283102964743589, | ||||
| 4029 | + "stall_ms_per_token": 3.9458012820512898 | ||||
| 4030 | + }, | ||||
| 4031 | + "multilingual": { | ||||
| 4032 | + "hit_rate": 0.8092948717948718, | ||||
| 4033 | + "stall_ms_per_token": 10.496410256410265 | ||||
| 4034 | + } | ||||
| 4035 | + }, | ||||
| 4036 | + "split": "heldout" | ||||
| 4037 | + }, | ||||
| 4038 | + { | ||||
| 4039 | + "capacity": 48, | ||||
| 4040 | + "policy": "lru", | ||||
| 4041 | + "predictor": "prev_token", | ||||
| 4042 | + "m": 8, | ||||
| 4043 | + "hit_rate": 0.924092505854801, | ||||
| 4044 | + "misses_per_token": 9.71615925058548, | ||||
| 4045 | + "stall_ms_per_token": 4.177948477751752, | ||||
| 4046 | + "prefetch_loads_per_token": 0.0, | ||||
| 4047 | + "prefetch_precision": null, | ||||
| 4048 | + "loads_per_token": 9.71615925058548, | ||||
| 4049 | + "pred_recall_at_k": null, | ||||
| 4050 | + "tokens": 2135, | ||||
| 4051 | + "families": { | ||||
| 4052 | + "general": { | ||||
| 4053 | + "hit_rate": 0.9084414619651348, | ||||
| 4054 | + "stall_ms_per_token": 5.039381933439005 | ||||
| 4055 | + }, | ||||
| 4056 | + "code": { | ||||
| 4057 | + "hit_rate": 0.9473654875148633, | ||||
| 4058 | + "stall_ms_per_token": 2.8970035671819394 | ||||
| 4059 | + }, | ||||
| 4060 | + "reasoning": { | ||||
| 4061 | + "hit_rate": 0.9013116638795987, | ||||
| 4062 | + "stall_ms_per_token": 5.431806020066899 | ||||
| 4063 | + }, | ||||
| 4064 | + "multilingual": { | ||||
| 4065 | + "hit_rate": 0.9161658653846154, | ||||
| 4066 | + "stall_ms_per_token": 4.6142307692307805 | ||||
| 4067 | + } | ||||
| 4068 | + }, | ||||
| 4069 | + "split": "fit" | ||||
| 4070 | + }, | ||||
| 4071 | + { | ||||
| 4072 | + "capacity": 48, | ||||
| 4073 | + "policy": "lru", | ||||
| 4074 | + "predictor": "prev_token", | ||||
| 4075 | + "m": 8, | ||||
| 4076 | + "hit_rate": 0.9295848461272476, | ||||
| 4077 | + "misses_per_token": 9.01313969571231, | ||||
| 4078 | + "stall_ms_per_token": 3.875650069156311, | ||||
| 4079 | + "prefetch_loads_per_token": 0.0, | ||||
| 4080 | + "prefetch_precision": null, | ||||
| 4081 | + "loads_per_token": 9.01313969571231, | ||||
| 4082 | + "pred_recall_at_k": null, | ||||
| 4083 | + "tokens": 1446, | ||||
| 4084 | + "families": { | ||||
| 4085 | + "general": { | ||||
| 4086 | + "hit_rate": 0.9205056503690037, | ||||
| 4087 | + "stall_ms_per_token": 4.375369003690051 | ||||
| 4088 | + }, | ||||
| 4089 | + "code": { | ||||
| 4090 | + "hit_rate": 0.947685917721519, | ||||
| 4091 | + "stall_ms_per_token": 2.8793670886076024 | ||||
| 4092 | + }, | ||||
| 4093 | + "reasoning": { | ||||
| 4094 | + "hit_rate": 0.9283102964743589, | ||||
| 4095 | + "stall_ms_per_token": 3.9458012820512898 | ||||
| 4096 | + }, | ||||
| 4097 | + "multilingual": { | ||||
| 4098 | + "hit_rate": 0.8092948717948718, | ||||
| 4099 | + "stall_ms_per_token": 10.496410256410265 | ||||
| 4100 | + } | ||||
| 4101 | + }, | ||||
| 4102 | + "split": "heldout" | ||||
| 4103 | + }, | ||||
| 4104 | + { | ||||
| 4105 | + "capacity": 48, | ||||
| 4106 | + "policy": "lru", | ||||
| 4107 | + "predictor": "prev_rank", | ||||
| 4108 | + "m": 8, | ||||
| 4109 | + "hit_rate": 0.9240961651053864, | ||||
| 4110 | + "misses_per_token": 9.715690866510538, | ||||
| 4111 | + "stall_ms_per_token": 4.1777470725995265, | ||||
| 4112 | + "prefetch_loads_per_token": 0.00702576112412178, | ||||
| 4113 | + "prefetch_precision": 0.6666666666666666, | ||||
| 4114 | + "loads_per_token": 9.72271662763466, | ||||
| 4115 | + "pred_recall_at_k": null, | ||||
| 4116 | + "tokens": 2135, | ||||
| 4117 | + "families": { | ||||
| 4118 | + "general": { | ||||
| 4119 | + "hit_rate": 0.9084538431061807, | ||||
| 4120 | + "stall_ms_per_token": 5.038700475435836 | ||||
| 4121 | + }, | ||||
| 4122 | + "code": { | ||||
| 4123 | + "hit_rate": 0.9473376189060642, | ||||
| 4124 | + "stall_ms_per_token": 2.8985374554102386 | ||||
| 4125 | + }, | ||||
| 4126 | + "reasoning": { | ||||
| 4127 | + "hit_rate": 0.9013377926421404, | ||||
| 4128 | + "stall_ms_per_token": 5.430367892976597 | ||||
| 4129 | + }, | ||||
| 4130 | + "multilingual": { | ||||
| 4131 | + "hit_rate": 0.9162087912087912, | ||||
| 4132 | + "stall_ms_per_token": 4.611868131868143 | ||||
| 4133 | + } | ||||
| 4134 | + }, | ||||
| 4135 | + "split": "fit" | ||||
| 4136 | + }, | ||||
| 4137 | + { | ||||
| 4138 | + "capacity": 48, | ||||
| 4139 | + "policy": "lru", | ||||
| 4140 | + "predictor": "prev_rank", | ||||
| 4141 | + "m": 8, | ||||
| 4142 | + "hit_rate": 0.9295632347856155, | ||||
| 4143 | + "misses_per_token": 9.015905947441217, | ||||
| 4144 | + "stall_ms_per_token": 3.87683955739974, | ||||
| 4145 | + "prefetch_loads_per_token": 0.004149377593360996, | ||||
| 4146 | + "prefetch_precision": 0.6666666666666666, | ||||
| 4147 | + "loads_per_token": 9.020055325034578, | ||||
| 4148 | + "pred_recall_at_k": null, | ||||
| 4149 | + "tokens": 1446, | ||||
| 4150 | + "families": { | ||||
| 4151 | + "general": { | ||||
| 4152 | + "hit_rate": 0.9204912361623616, | ||||
| 4153 | + "stall_ms_per_token": 4.37616236162363 | ||||
| 4154 | + }, | ||||
| 4155 | + "code": { | ||||
| 4156 | + "hit_rate": 0.9476576627486437, | ||||
| 4157 | + "stall_ms_per_token": 2.8809222423146545 | ||||
| 4158 | + }, | ||||
| 4159 | + "reasoning": { | ||||
| 4160 | + "hit_rate": 0.9282852564102564, | ||||
| 4161 | + "stall_ms_per_token": 3.947179487179496 | ||||
| 4162 | + }, | ||||
| 4163 | + "multilingual": { | ||||
| 4164 | + "hit_rate": 0.8092948717948718, | ||||
| 4165 | + "stall_ms_per_token": 10.496410256410265 | ||||
| 4166 | + } | ||||
| 4167 | + }, | ||||
| 4168 | + "split": "heldout" | ||||
| 4169 | + }, | ||||
| 4170 | + { | ||||
| 4171 | + "capacity": 48, | ||||
| 4172 | + "policy": "lru", | ||||
| 4173 | + "predictor": "transition", | ||||
| 4174 | + "m": 8, | ||||
| 4175 | + "hit_rate": 0.9361460772833724, | ||||
| 4176 | + "misses_per_token": 8.173302107728338, | ||||
| 4177 | + "stall_ms_per_token": 2.5986754098360607, | ||||
| 4178 | + "prefetch_loads_per_token": 3.9531615925058547, | ||||
| 4179 | + "prefetch_precision": 0.7580568720379147, | ||||
| 4180 | + "loads_per_token": 12.126463700234192, | ||||
| 4181 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 4182 | + "tokens": 2135, | ||||
| 4183 | + "families": { | ||||
| 4184 | + "general": { | ||||
| 4185 | + "hit_rate": 0.9205378367670365, | ||||
| 4186 | + "stall_ms_per_token": 3.2211917591125214 | ||||
| 4187 | + }, | ||||
| 4188 | + "code": { | ||||
| 4189 | + "hit_rate": 0.9553266200951248, | ||||
| 4190 | + "stall_ms_per_token": 1.850480380499408 | ||||
| 4191 | + }, | ||||
| 4192 | + "reasoning": { | ||||
| 4193 | + "hit_rate": 0.9226327341137124, | ||||
| 4194 | + "stall_ms_per_token": 3.1336923076923076 | ||||
| 4195 | + }, | ||||
| 4196 | + "multilingual": { | ||||
| 4197 | + "hit_rate": 0.9299879807692307, | ||||
| 4198 | + "stall_ms_per_token": 2.8087142857142866 | ||||
| 4199 | + } | ||||
| 4200 | + }, | ||||
| 4201 | + "split": "fit" | ||||
| 4202 | + }, | ||||
| 4203 | + { | ||||
| 4204 | + "capacity": 48, | ||||
| 4205 | + "policy": "lru", | ||||
| 4206 | + "predictor": "transition", | ||||
| 4207 | + "m": 8, | ||||
| 4208 | + "hit_rate": 0.9392667271784232, | ||||
| 4209 | + "misses_per_token": 7.773858921161826, | ||||
| 4210 | + "stall_ms_per_token": 2.4720760719225554, | ||||
| 4211 | + "prefetch_loads_per_token": 4.271784232365145, | ||||
| 4212 | + "prefetch_precision": 0.704225352112676, | ||||
| 4213 | + "loads_per_token": 12.04564315352697, | ||||
| 4214 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 4215 | + "tokens": 1446, | ||||
| 4216 | + "families": { | ||||
| 4217 | + "general": { | ||||
| 4218 | + "hit_rate": 0.9258965636531366, | ||||
| 4219 | + "stall_ms_per_token": 3.0031697416974183 | ||||
| 4220 | + }, | ||||
| 4221 | + "code": { | ||||
| 4222 | + "hit_rate": 0.9563178119349005, | ||||
| 4223 | + "stall_ms_per_token": 1.7911175406871627 | ||||
| 4224 | + }, | ||||
| 4225 | + "reasoning": { | ||||
| 4226 | + "hit_rate": 0.9410306490384616, | ||||
| 4227 | + "stall_ms_per_token": 2.40423717948718 | ||||
| 4228 | + }, | ||||
| 4229 | + "multilingual": { | ||||
| 4230 | + "hit_rate": 0.8691907051282052, | ||||
| 4231 | + "stall_ms_per_token": 5.289589743589742 | ||||
| 4232 | + } | ||||
| 4233 | + }, | ||||
| 4234 | + "split": "heldout" | ||||
| 4235 | + }, | ||||
| 4236 | + { | ||||
| 4237 | + "capacity": 48, | ||||
| 4238 | + "policy": "lru", | ||||
| 4239 | + "predictor": "probe", | ||||
| 4240 | + "m": 8, | ||||
| 4241 | + "hit_rate": 0.9094189110070258, | ||||
| 4242 | + "misses_per_token": 11.594379391100702, | ||||
| 4243 | + "stall_ms_per_token": 3.631840749414515, | ||||
| 4244 | + "prefetch_loads_per_token": 19.468852459016393, | ||||
| 4245 | + "prefetch_precision": 0.4080017321849589, | ||||
| 4246 | + "loads_per_token": 31.063231850117095, | ||||
| 4247 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 4248 | + "tokens": 2135, | ||||
| 4249 | + "families": { | ||||
| 4250 | + "general": { | ||||
| 4251 | + "hit_rate": 0.8993537044374009, | ||||
| 4252 | + "stall_ms_per_token": 4.040085578446911 | ||||
| 4253 | + }, | ||||
| 4254 | + "code": { | ||||
| 4255 | + "hit_rate": 0.9229897443519619, | ||||
| 4256 | + "stall_ms_per_token": 3.1004946492271186 | ||||
| 4257 | + }, | ||||
| 4258 | + "reasoning": { | ||||
| 4259 | + "hit_rate": 0.892636914715719, | ||||
| 4260 | + "stall_ms_per_token": 4.293210702341141 | ||||
| 4261 | + }, | ||||
| 4262 | + "multilingual": { | ||||
| 4263 | + "hit_rate": 0.9092977335164835, | ||||
| 4264 | + "stall_ms_per_token": 3.608516483516485 | ||||
| 4265 | + } | ||||
| 4266 | + }, | ||||
| 4267 | + "split": "fit" | ||||
| 4268 | + }, | ||||
| 4269 | + { | ||||
| 4270 | + "capacity": 48, | ||||
| 4271 | + "policy": "lru", | ||||
| 4272 | + "predictor": "probe", | ||||
| 4273 | + "m": 8, | ||||
| 4274 | + "hit_rate": 0.910404780428769, | ||||
| 4275 | + "misses_per_token": 11.468188105117566, | ||||
| 4276 | + "stall_ms_per_token": 3.5877634854771885, | ||||
| 4277 | + "prefetch_loads_per_token": 17.79875518672199, | ||||
| 4278 | + "prefetch_precision": 0.4108481952053464, | ||||
| 4279 | + "loads_per_token": 29.266943291839556, | ||||
| 4280 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 4281 | + "tokens": 1446, | ||||
| 4282 | + "families": { | ||||
| 4283 | + "general": { | ||||
| 4284 | + "hit_rate": 0.9016086254612546, | ||||
| 4285 | + "stall_ms_per_token": 3.9420442804428033 | ||||
| 4286 | + }, | ||||
| 4287 | + "code": { | ||||
| 4288 | + "hit_rate": 0.9229769439421338, | ||||
| 4289 | + "stall_ms_per_token": 3.0799421338155537 | ||||
| 4290 | + }, | ||||
| 4291 | + "reasoning": { | ||||
| 4292 | + "hit_rate": 0.9113581730769231, | ||||
| 4293 | + "stall_ms_per_token": 3.5512564102564124 | ||||
| 4294 | + }, | ||||
| 4295 | + "multilingual": { | ||||
| 4296 | + "hit_rate": 0.8467548076923077, | ||||
| 4297 | + "stall_ms_per_token": 6.156871794871796 | ||||
| 4298 | + } | ||||
| 4299 | + }, | ||||
| 4300 | + "split": "heldout" | ||||
| 4301 | + }, | ||||
| 4302 | + { | ||||
| 4303 | + "capacity": 48, | ||||
| 4304 | + "policy": "lru", | ||||
| 4305 | + "predictor": "oracle", | ||||
| 4306 | + "m": 8, | ||||
| 4307 | + "hit_rate": 0.990350556206089, | ||||
| 4308 | + "misses_per_token": 1.235128805620609, | ||||
| 4309 | + "stall_ms_per_token": 0.5033470725995347, | ||||
| 4310 | + "prefetch_loads_per_token": 8.902576112412177, | ||||
| 4311 | + "prefetch_precision": 1.0, | ||||
| 4312 | + "loads_per_token": 10.137704918032787, | ||||
| 4313 | + "pred_recall_at_k": 1.0, | ||||
| 4314 | + "tokens": 2135, | ||||
| 4315 | + "families": { | ||||
| 4316 | + "general": { | ||||
| 4317 | + "hit_rate": 0.9882379160063391, | ||||
| 4318 | + "stall_ms_per_token": 0.604177496038037 | ||||
| 4319 | + }, | ||||
| 4320 | + "code": { | ||||
| 4321 | + "hit_rate": 0.9916208382877527, | ||||
| 4322 | + "stall_ms_per_token": 0.4474910820451855 | ||||
| 4323 | + }, | ||||
| 4324 | + "reasoning": { | ||||
| 4325 | + "hit_rate": 0.9895484949832776, | ||||
| 4326 | + "stall_ms_per_token": 0.5469966555183955 | ||||
| 4327 | + }, | ||||
| 4328 | + "multilingual": { | ||||
| 4329 | + "hit_rate": 0.9917367788461539, | ||||
| 4330 | + "stall_ms_per_token": 0.42175274725274803 | ||||
| 4331 | + } | ||||
| 4332 | + }, | ||||
| 4333 | + "split": "fit" | ||||
| 4334 | + }, | ||||
| 4335 | + { | ||||
| 4336 | + "capacity": 48, | ||||
| 4337 | + "policy": "lru", | ||||
| 4338 | + "predictor": "oracle", | ||||
| 4339 | + "m": 8, | ||||
| 4340 | + "hit_rate": 0.9910961272475796, | ||||
| 4341 | + "misses_per_token": 1.1396957123098201, | ||||
| 4342 | + "stall_ms_per_token": 0.4685587828492426, | ||||
| 4343 | + "prefetch_loads_per_token": 8.230290456431534, | ||||
| 4344 | + "prefetch_precision": 1.0, | ||||
| 4345 | + "loads_per_token": 9.369986168741356, | ||||
| 4346 | + "pred_recall_at_k": 1.0, | ||||
| 4347 | + "tokens": 1446, | ||||
| 4348 | + "families": { | ||||
| 4349 | + "general": { | ||||
| 4350 | + "hit_rate": 0.9897659132841329, | ||||
| 4351 | + "stall_ms_per_token": 0.5342361623616255 | ||||
| 4352 | + }, | ||||
| 4353 | + "code": { | ||||
| 4354 | + "hit_rate": 0.9927525994575045, | ||||
| 4355 | + "stall_ms_per_token": 0.3826943942133832 | ||||
| 4356 | + }, | ||||
| 4357 | + "reasoning": { | ||||
| 4358 | + "hit_rate": 0.9913361378205128, | ||||
| 4359 | + "stall_ms_per_token": 0.45962820512820546 | ||||
| 4360 | + }, | ||||
| 4361 | + "multilingual": { | ||||
| 4362 | + "hit_rate": 0.9841746794871795, | ||||
| 4363 | + "stall_ms_per_token": 0.8447692307692305 | ||||
| 4364 | + } | ||||
| 4365 | + }, | ||||
| 4366 | + "split": "heldout" | ||||
| 4367 | + }, | ||||
| 4368 | + { | ||||
| 4369 | + "capacity": 48, | ||||
| 4370 | + "policy": "lfu", | ||||
| 4371 | + "predictor": "none", | ||||
| 4372 | + "m": 8, | ||||
| 4373 | + "hit_rate": 0.9246999414519906, | ||||
| 4374 | + "misses_per_token": 9.638407494145198, | ||||
| 4375 | + "stall_ms_per_token": 4.144515222482432, | ||||
| 4376 | + "prefetch_loads_per_token": 0.0, | ||||
| 4377 | + "prefetch_precision": null, | ||||
| 4378 | + "loads_per_token": 9.638407494145198, | ||||
| 4379 | + "pred_recall_at_k": null, | ||||
| 4380 | + "tokens": 2135, | ||||
| 4381 | + "families": { | ||||
| 4382 | + "general": { | ||||
| 4383 | + "hit_rate": 0.9113015055467512, | ||||
| 4384 | + "stall_ms_per_token": 4.881965134706829 | ||||
| 4385 | + }, | ||||
| 4386 | + "code": { | ||||
| 4387 | + "hit_rate": 0.945470422116528, | ||||
| 4388 | + "stall_ms_per_token": 3.0013079667063116 | ||||
| 4389 | + }, | ||||
| 4390 | + "reasoning": { | ||||
| 4391 | + "hit_rate": 0.9042642140468228, | ||||
| 4392 | + "stall_ms_per_token": 5.269297658862889 | ||||
| 4393 | + }, | ||||
| 4394 | + "multilingual": { | ||||
| 4395 | + "hit_rate": 0.9167239010989011, | ||||
| 4396 | + "stall_ms_per_token": 4.5835164835164885 | ||||
| 4397 | + } | ||||
| 4398 | + }, | ||||
| 4399 | + "split": "fit" | ||||
| 4400 | + }, | ||||
| 4401 | + { | ||||
| 4402 | + "capacity": 48, | ||||
| 4403 | + "policy": "lfu", | ||||
| 4404 | + "predictor": "none", | ||||
| 4405 | + "m": 8, | ||||
| 4406 | + "hit_rate": 0.9320269277316736, | ||||
| 4407 | + "misses_per_token": 8.70055325034578, | ||||
| 4408 | + "stall_ms_per_token": 3.7412378976487006, | ||||
| 4409 | + "prefetch_loads_per_token": 0.0, | ||||
| 4410 | + "prefetch_precision": null, | ||||
| 4411 | + "loads_per_token": 8.70055325034578, | ||||
| 4412 | + "pred_recall_at_k": null, | ||||
| 4413 | + "tokens": 1446, | ||||
| 4414 | + "families": { | ||||
| 4415 | + "general": { | ||||
| 4416 | + "hit_rate": 0.9220191420664207, | ||||
| 4417 | + "stall_ms_per_token": 4.292066420664221 | ||||
| 4418 | + }, | ||||
| 4419 | + "code": { | ||||
| 4420 | + "hit_rate": 0.9504125226039783, | ||||
| 4421 | + "stall_ms_per_token": 2.7292947558770426 | ||||
| 4422 | + }, | ||||
| 4423 | + "reasoning": { | ||||
| 4424 | + "hit_rate": 0.9318409455128205, | ||||
| 4425 | + "stall_ms_per_token": 3.7514743589743684 | ||||
| 4426 | + }, | ||||
| 4427 | + "multilingual": { | ||||
| 4428 | + "hit_rate": 0.8118990384615384, | ||||
| 4429 | + "stall_ms_per_token": 10.353076923076927 | ||||
| 4430 | + } | ||||
| 4431 | + }, | ||||
| 4432 | + "split": "heldout" | ||||
| 4433 | + }, | ||||
| 4434 | + { | ||||
| 4435 | + "capacity": 48, | ||||
| 4436 | + "policy": "lfu", | ||||
| 4437 | + "predictor": "prev_token", | ||||
| 4438 | + "m": 8, | ||||
| 4439 | + "hit_rate": 0.9246999414519906, | ||||
| 4440 | + "misses_per_token": 9.638407494145198, | ||||
| 4441 | + "stall_ms_per_token": 4.144515222482432, | ||||
| 4442 | + "prefetch_loads_per_token": 0.0, | ||||
| 4443 | + "prefetch_precision": null, | ||||
| 4444 | + "loads_per_token": 9.638407494145198, | ||||
| 4445 | + "pred_recall_at_k": null, | ||||
| 4446 | + "tokens": 2135, | ||||
| 4447 | + "families": { | ||||
| 4448 | + "general": { | ||||
| 4449 | + "hit_rate": 0.9113015055467512, | ||||
| 4450 | + "stall_ms_per_token": 4.881965134706829 | ||||
| 4451 | + }, | ||||
| 4452 | + "code": { | ||||
| 4453 | + "hit_rate": 0.945470422116528, | ||||
| 4454 | + "stall_ms_per_token": 3.0013079667063116 | ||||
| 4455 | + }, | ||||
| 4456 | + "reasoning": { | ||||
| 4457 | + "hit_rate": 0.9042642140468228, | ||||
| 4458 | + "stall_ms_per_token": 5.269297658862889 | ||||
| 4459 | + }, | ||||
| 4460 | + "multilingual": { | ||||
| 4461 | + "hit_rate": 0.9167239010989011, | ||||
| 4462 | + "stall_ms_per_token": 4.5835164835164885 | ||||
| 4463 | + } | ||||
| 4464 | + }, | ||||
| 4465 | + "split": "fit" | ||||
| 4466 | + }, | ||||
| 4467 | + { | ||||
| 4468 | + "capacity": 48, | ||||
| 4469 | + "policy": "lfu", | ||||
| 4470 | + "predictor": "prev_token", | ||||
| 4471 | + "m": 8, | ||||
| 4472 | + "hit_rate": 0.9320269277316736, | ||||
| 4473 | + "misses_per_token": 8.70055325034578, | ||||
| 4474 | + "stall_ms_per_token": 3.7412378976487006, | ||||
| 4475 | + "prefetch_loads_per_token": 0.0, | ||||
| 4476 | + "prefetch_precision": null, | ||||
| 4477 | + "loads_per_token": 8.70055325034578, | ||||
| 4478 | + "pred_recall_at_k": null, | ||||
| 4479 | + "tokens": 1446, | ||||
| 4480 | + "families": { | ||||
| 4481 | + "general": { | ||||
| 4482 | + "hit_rate": 0.9220191420664207, | ||||
| 4483 | + "stall_ms_per_token": 4.292066420664221 | ||||
| 4484 | + }, | ||||
| 4485 | + "code": { | ||||
| 4486 | + "hit_rate": 0.9504125226039783, | ||||
| 4487 | + "stall_ms_per_token": 2.7292947558770426 | ||||
| 4488 | + }, | ||||
| 4489 | + "reasoning": { | ||||
| 4490 | + "hit_rate": 0.9318409455128205, | ||||
| 4491 | + "stall_ms_per_token": 3.7514743589743684 | ||||
| 4492 | + }, | ||||
| 4493 | + "multilingual": { | ||||
| 4494 | + "hit_rate": 0.8118990384615384, | ||||
| 4495 | + "stall_ms_per_token": 10.353076923076927 | ||||
| 4496 | + } | ||||
| 4497 | + }, | ||||
| 4498 | + "split": "heldout" | ||||
| 4499 | + }, | ||||
| 4500 | + { | ||||
| 4501 | + "capacity": 48, | ||||
| 4502 | + "policy": "lfu", | ||||
| 4503 | + "predictor": "prev_rank", | ||||
| 4504 | + "m": 8, | ||||
| 4505 | + "hit_rate": 0.92473287470726, | ||||
| 4506 | + "misses_per_token": 9.634192037470726, | ||||
| 4507 | + "stall_ms_per_token": 4.142702576112407, | ||||
| 4508 | + "prefetch_loads_per_token": 0.008430913348946136, | ||||
| 4509 | + "prefetch_precision": 0.5555555555555556, | ||||
| 4510 | + "loads_per_token": 9.642622950819671, | ||||
| 4511 | + "pred_recall_at_k": null, | ||||
| 4512 | + "tokens": 2135, | ||||
| 4513 | + "families": { | ||||
| 4514 | + "general": { | ||||
| 4515 | + "hit_rate": 0.9113262678288431, | ||||
| 4516 | + "stall_ms_per_token": 4.88060221870049 | ||||
| 4517 | + }, | ||||
| 4518 | + "code": { | ||||
| 4519 | + "hit_rate": 0.9454890011890607, | ||||
| 4520 | + "stall_ms_per_token": 3.000285374554113 | ||||
| 4521 | + }, | ||||
| 4522 | + "reasoning": { | ||||
| 4523 | + "hit_rate": 0.9042119565217391, | ||||
| 4524 | + "stall_ms_per_token": 5.272173913043489 | ||||
| 4525 | + }, | ||||
| 4526 | + "multilingual": { | ||||
| 4527 | + "hit_rate": 0.9168741414835165, | ||||
| 4528 | + "stall_ms_per_token": 4.575247252747258 | ||||
| 4529 | + } | ||||
| 4530 | + }, | ||||
| 4531 | + "split": "fit" | ||||
| 4532 | + }, | ||||
| 4533 | + { | ||||
| 4534 | + "capacity": 48, | ||||
| 4535 | + "policy": "lfu", | ||||
| 4536 | + "predictor": "prev_rank", | ||||
| 4537 | + "m": 8, | ||||
| 4538 | + "hit_rate": 0.9320377334024896, | ||||
| 4539 | + "misses_per_token": 8.699170124481327, | ||||
| 4540 | + "stall_ms_per_token": 3.740643153526985, | ||||
| 4541 | + "prefetch_loads_per_token": 0.0027662517289073307, | ||||
| 4542 | + "prefetch_precision": 0.5, | ||||
| 4543 | + "loads_per_token": 8.701936376210234, | ||||
| 4544 | + "pred_recall_at_k": null, | ||||
| 4545 | + "tokens": 1446, | ||||
| 4546 | + "families": { | ||||
| 4547 | + "general": { | ||||
| 4548 | + "hit_rate": 0.9220191420664207, | ||||
| 4549 | + "stall_ms_per_token": 4.292066420664221 | ||||
| 4550 | + }, | ||||
| 4551 | + "code": { | ||||
| 4552 | + "hit_rate": 0.9504266500904159, | ||||
| 4553 | + "stall_ms_per_token": 2.7285171790235165 | ||||
| 4554 | + }, | ||||
| 4555 | + "reasoning": { | ||||
| 4556 | + "hit_rate": 0.9318659855769231, | ||||
| 4557 | + "stall_ms_per_token": 3.750096153846163 | ||||
| 4558 | + }, | ||||
| 4559 | + "multilingual": { | ||||
| 4560 | + "hit_rate": 0.8118990384615384, | ||||
| 4561 | + "stall_ms_per_token": 10.353076923076927 | ||||
| 4562 | + } | ||||
| 4563 | + }, | ||||
| 4564 | + "split": "heldout" | ||||
| 4565 | + }, | ||||
| 4566 | + { | ||||
| 4567 | + "capacity": 48, | ||||
| 4568 | + "policy": "lfu", | ||||
| 4569 | + "predictor": "transition", | ||||
| 4570 | + "m": 8, | ||||
| 4571 | + "hit_rate": 0.9311365632318501, | ||||
| 4572 | + "misses_per_token": 8.814519906323184, | ||||
| 4573 | + "stall_ms_per_token": 2.7863878220140537, | ||||
| 4574 | + "prefetch_loads_per_token": 6.043559718969555, | ||||
| 4575 | + "prefetch_precision": 0.3024877935363869, | ||||
| 4576 | + "loads_per_token": 14.85807962529274, | ||||
| 4577 | + "pred_recall_at_k": 0.5302576112412178, | ||||
| 4578 | + "tokens": 2135, | ||||
| 4579 | + "families": { | ||||
| 4580 | + "general": { | ||||
| 4581 | + "hit_rate": 0.9097414817749604, | ||||
| 4582 | + "stall_ms_per_token": 3.6385356576862176 | ||||
| 4583 | + }, | ||||
| 4584 | + "code": { | ||||
| 4585 | + "hit_rate": 0.9528927615933412, | ||||
| 4586 | + "stall_ms_per_token": 1.936649227110588 | ||||
| 4587 | + }, | ||||
| 4588 | + "reasoning": { | ||||
| 4589 | + "hit_rate": 0.9231814381270903, | ||||
| 4590 | + "stall_ms_per_token": 3.105204013377928 | ||||
| 4591 | + }, | ||||
| 4592 | + "multilingual": { | ||||
| 4593 | + "hit_rate": 0.9244934752747253, | ||||
| 4594 | + "stall_ms_per_token": 3.0105604395604386 | ||||
| 4595 | + } | ||||
| 4596 | + }, | ||||
| 4597 | + "split": "fit" | ||||
| 4598 | + }, | ||||
| 4599 | + { | ||||
| 4600 | + "capacity": 48, | ||||
| 4601 | + "policy": "lfu", | ||||
| 4602 | + "predictor": "transition", | ||||
| 4603 | + "m": 8, | ||||
| 4604 | + "hit_rate": 0.935798106846473, | ||||
| 4605 | + "misses_per_token": 8.217842323651452, | ||||
| 4606 | + "stall_ms_per_token": 2.5979266943292, | ||||
| 4607 | + "prefetch_loads_per_token": 8.367911479944675, | ||||
| 4608 | + "prefetch_precision": 0.20603305785123968, | ||||
| 4609 | + "loads_per_token": 16.585753803596127, | ||||
| 4610 | + "pred_recall_at_k": 0.4996369294605809, | ||||
| 4611 | + "tokens": 1446, | ||||
| 4612 | + "families": { | ||||
| 4613 | + "general": { | ||||
| 4614 | + "hit_rate": 0.9136012453874539, | ||||
| 4615 | + "stall_ms_per_token": 3.469955719557199 | ||||
| 4616 | + }, | ||||
| 4617 | + "code": { | ||||
| 4618 | + "hit_rate": 0.9581543851717902, | ||||
| 4619 | + "stall_ms_per_token": 1.718039783001811 | ||||
| 4620 | + }, | ||||
| 4621 | + "reasoning": { | ||||
| 4622 | + "hit_rate": 0.9424328926282052, | ||||
| 4623 | + "stall_ms_per_token": 2.333211538461538 | ||||
| 4624 | + }, | ||||
| 4625 | + "multilingual": { | ||||
| 4626 | + "hit_rate": 0.874198717948718, | ||||
| 4627 | + "stall_ms_per_token": 5.073025641025639 | ||||
| 4628 | + } | ||||
| 4629 | + }, | ||||
| 4630 | + "split": "heldout" | ||||
| 4631 | + }, | ||||
| 4632 | + { | ||||
| 4633 | + "capacity": 48, | ||||
| 4634 | + "policy": "lfu", | ||||
| 4635 | + "predictor": "probe", | ||||
| 4636 | + "m": 8, | ||||
| 4637 | + "hit_rate": 0.923986387587822, | ||||
| 4638 | + "misses_per_token": 9.729742388758782, | ||||
| 4639 | + "stall_ms_per_token": 3.062785011709593, | ||||
| 4640 | + "prefetch_loads_per_token": 25.289929742388757, | ||||
| 4641 | + "prefetch_precision": 0.09988146831129385, | ||||
| 4642 | + "loads_per_token": 35.019672131147544, | ||||
| 4643 | + "pred_recall_at_k": 0.16113973458235753, | ||||
| 4644 | + "tokens": 2135, | ||||
| 4645 | + "families": { | ||||
| 4646 | + "general": { | ||||
| 4647 | + "hit_rate": 0.9026718502377179, | ||||
| 4648 | + "stall_ms_per_token": 3.9118193343898597 | ||||
| 4649 | + }, | ||||
| 4650 | + "code": { | ||||
| 4651 | + "hit_rate": 0.9457398186682521, | ||||
| 4652 | + "stall_ms_per_token": 2.2131533888228336 | ||||
| 4653 | + }, | ||||
| 4654 | + "reasoning": { | ||||
| 4655 | + "hit_rate": 0.9170411789297659, | ||||
| 4656 | + "stall_ms_per_token": 3.342561872909698 | ||||
| 4657 | + }, | ||||
| 4658 | + "multilingual": { | ||||
| 4659 | + "hit_rate": 0.9163804945054945, | ||||
| 4660 | + "stall_ms_per_token": 3.3241758241758284 | ||||
| 4661 | + } | ||||
| 4662 | + }, | ||||
| 4663 | + "split": "fit" | ||||
| 4664 | + }, | ||||
| 4665 | + { | ||||
| 4666 | + "capacity": 48, | ||||
| 4667 | + "policy": "lfu", | ||||
| 4668 | + "predictor": "probe", | ||||
| 4669 | + "m": 8, | ||||
| 4670 | + "hit_rate": 0.9313299619640387, | ||||
| 4671 | + "misses_per_token": 8.789764868603044, | ||||
| 4672 | + "stall_ms_per_token": 2.770647302904575, | ||||
| 4673 | + "prefetch_loads_per_token": 24.876210235131396, | ||||
| 4674 | + "prefetch_precision": 0.08809874621222652, | ||||
| 4675 | + "loads_per_token": 33.66597510373444, | ||||
| 4676 | + "pred_recall_at_k": 0.15494467496542186, | ||||
| 4677 | + "tokens": 1446, | ||||
| 4678 | + "families": { | ||||
| 4679 | + "general": { | ||||
| 4680 | + "hit_rate": 0.912750807195572, | ||||
| 4681 | + "stall_ms_per_token": 3.5028302583025828 | ||||
| 4682 | + }, | ||||
| 4683 | + "code": { | ||||
| 4684 | + "hit_rate": 0.9512460443037974, | ||||
| 4685 | + "stall_ms_per_token": 1.9850886075949403 | ||||
| 4686 | + }, | ||||
| 4687 | + "reasoning": { | ||||
| 4688 | + "hit_rate": 0.9364232772435898, | ||||
| 4689 | + "stall_ms_per_token": 2.565519230769232 | ||||
| 4690 | + }, | ||||
| 4691 | + "multilingual": { | ||||
| 4692 | + "hit_rate": 0.866386217948718, | ||||
| 4693 | + "stall_ms_per_token": 5.375025641025641 | ||||
| 4694 | + } | ||||
| 4695 | + }, | ||||
| 4696 | + "split": "heldout" | ||||
| 4697 | + }, | ||||
| 4698 | + { | ||||
| 4699 | + "capacity": 48, | ||||
| 4700 | + "policy": "lfu", | ||||
| 4701 | + "predictor": "oracle", | ||||
| 4702 | + "m": 8, | ||||
| 4703 | + "hit_rate": 0.9791971604215457, | ||||
| 4704 | + "misses_per_token": 2.6627634660421546, | ||||
| 4705 | + "stall_ms_per_token": 0.9285573770491828, | ||||
| 4706 | + "prefetch_loads_per_token": 8.933957845433255, | ||||
| 4707 | + "prefetch_precision": 0.8367935409457901, | ||||
| 4708 | + "loads_per_token": 11.59672131147541, | ||||
| 4709 | + "pred_recall_at_k": 1.0, | ||||
| 4710 | + "tokens": 2135, | ||||
| 4711 | + "families": { | ||||
| 4712 | + "general": { | ||||
| 4713 | + "hit_rate": 0.9722538629160064, | ||||
| 4714 | + "stall_ms_per_token": 1.222057052297941 | ||||
| 4715 | + }, | ||||
| 4716 | + "code": { | ||||
| 4717 | + "hit_rate": 0.9842728151010701, | ||||
| 4718 | + "stall_ms_per_token": 0.7236218787158171 | ||||
| 4719 | + }, | ||||
| 4720 | + "reasoning": { | ||||
| 4721 | + "hit_rate": 0.9817621237458194, | ||||
| 4722 | + "stall_ms_per_token": 0.8407090301003346 | ||||
| 4723 | + }, | ||||
| 4724 | + "multilingual": { | ||||
| 4725 | + "hit_rate": 0.9773995535714286, | ||||
| 4726 | + "stall_ms_per_token": 0.9654230769230782 | ||||
| 4727 | + } | ||||
| 4728 | + }, | ||||
| 4729 | + "split": "fit" | ||||
| 4730 | + }, | ||||
| 4731 | + { | ||||
| 4732 | + "capacity": 48, | ||||
| 4733 | + "policy": "lfu", | ||||
| 4734 | + "predictor": "oracle", | ||||
| 4735 | + "m": 8, | ||||
| 4736 | + "hit_rate": 0.9822895055325035, | ||||
| 4737 | + "misses_per_token": 2.2669432918395573, | ||||
| 4738 | + "stall_ms_per_token": 0.8007551867219945, | ||||
| 4739 | + "prefetch_loads_per_token": 8.067081604426003, | ||||
| 4740 | + "prefetch_precision": 0.8536648092584654, | ||||
| 4741 | + "loads_per_token": 10.33402489626556, | ||||
| 4742 | + "pred_recall_at_k": 1.0, | ||||
| 4743 | + "tokens": 1446, | ||||
| 4744 | + "families": { | ||||
| 4745 | + "general": { | ||||
| 4746 | + "hit_rate": 0.975495848708487, | ||||
| 4747 | + "stall_ms_per_token": 1.0773579335793377 | ||||
| 4748 | + }, | ||||
| 4749 | + "code": { | ||||
| 4750 | + "hit_rate": 0.987440664556962, | ||||
| 4751 | + "stall_ms_per_token": 0.585949367088609 | ||||
| 4752 | + }, | ||||
| 4753 | + "reasoning": { | ||||
| 4754 | + "hit_rate": 0.9859525240384616, | ||||
| 4755 | + "stall_ms_per_token": 0.650916666666667 | ||||
| 4756 | + }, | ||||
| 4757 | + "multilingual": { | ||||
| 4758 | + "hit_rate": 0.9743589743589743, | ||||
| 4759 | + "stall_ms_per_token": 1.2012307692307687 | ||||
| 4760 | + } | ||||
| 4761 | + }, | ||||
| 4762 | + "split": "heldout" | ||||
| 4763 | + } | ||||
| 4764 | + ] | ||||
| 4765 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/gateC/design/miss_cost_breakdown_laptop.txt
+8 −0
@@ -0,0 +1,8 @@ | |||||
| 1 | +# 2026-11-01 laptop M5 Max, OLMoE 4-bit, page-cached checkpoint, 200 random experts (seed 0); medians / p95 in ms | ||||
| 2 | +pread 9 tensors (page-cached) p50/p95 ms: 0.132 / 0.142 | ||||
| 3 | +pread + np + mx.array (lazy, no eval) p50/p95 ms: 0.191 / 0.198 | ||||
| 4 | +pread + np + mx.array + eval p50/p95 ms: 0.189 / 0.204 | ||||
| 5 | +read + lazy install + table eval p50/p95 ms: 0.400 / 0.377 | ||||
| 6 | +ensure(8 experts) + eval p50/p95 ms: 1.694 / 1.792 (0.212 ms per expert) | ||||
| 7 | +pread F_NOCACHE (pages still cached) p50/p95 ms: 0.198 / 0.205 | ||||
| 8 | +bytes per expert: 3538944 | ||||
added
benchmarks/raw/gateC/prefetch_online_laptop/smoke.jsonl
+36 −0
@@ -0,0 +1,36 @@ | |||||
| 1 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "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:31:06", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 679.4582500588149, "prompt_tps": 35.44577652018054, "gen_tps": 39.05715717342248, "decode_tps_wall": 38.44833603563943, "itl_ms_p50": 23.70983303990215, "itl_ms_p95": 38.87683304492384, "itl_ms_p99": 51.92095797974616, "itl_ms_mean": 26.00892790452769, "total_s": 2.3180207080440596, "peak_mem_gb": 1.769273148, "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.6446361081500145, "cache_misses": 3667, "cache_hits": 6652, "stall_s": 1.5813420980703086, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12977307648, "ssd_read_s": 0.49590603238902986} | ||||
| 2 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:31:09", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 559.203541954048, "prompt_tps": 32.206121587493136, "gen_tps": 29.677870486939558, "decode_tps_wall": 29.214277945831714, "itl_ms_p50": 33.05849991738796, "itl_ms_p95": 47.747042030096054, "itl_ms_p99": 51.032082992605865, "itl_ms_mean": 34.229837953009536, "total_s": 2.715683332993649, "peak_mem_gb": 1.653111888, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 2.0085335480980575, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17301897216, "ssd_read_s": 0.6531581478193402} | ||||
| 3 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:31:12", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 505.49712497740984, "prompt_tps": 27.710542597291298, "gen_tps": 28.450212454482266, "decode_tps_wall": 28.005798756541928, "itl_ms_p50": 36.29954194184393, "itl_ms_p95": 50.0600419472903, "itl_ms_p99": 53.843417088501155, "itl_ms_mean": 35.70689087260573, "total_s": 2.7550312499515712, "peak_mem_gb": 1.549717648, "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.4795243019648397, "cache_misses": 5033, "cache_hits": 4637, "stall_s": 2.0551544436020777, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17811505152, "ssd_read_s": 0.6727308424888179} | ||||
| 4 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:31:14", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 512.9798339912668, "prompt_tps": 37.0591123459889, "gen_tps": 41.60696952513016, "decode_tps_wall": 40.9570802924626, "itl_ms_p50": 21.473583998158574, "itl_ms_p95": 38.552624988369644, "itl_ms_p99": 41.25191702041775, "itl_ms_mean": 24.415802905365588, "total_s": 2.051175417029299, "peak_mem_gb": 1.636499212, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 1.3520558513700962, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.43526661884970963} | ||||
| 5 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:31:17", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 567.0875840587541, "prompt_tps": 31.75625546690247, "gen_tps": 29.36287830628246, "decode_tps_wall": 28.904235279452596, "itl_ms_p50": 33.91837503295392, "itl_ms_p95": 48.558250069618225, "itl_ms_p99": 50.7312499685213, "itl_ms_mean": 34.59700595195745, "total_s": 2.7466989590320736, "peak_mem_gb": 1.65311192, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5079333199437638, "cache_misses": 4900, "cache_hits": 5058, "stall_s": 2.032577119884081, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17340825600, "ssd_read_s": 0.6631453247973695} | ||||
| 6 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:31:19", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 504.644125001505, "prompt_tps": 27.7567055373783, "gen_tps": 28.115310993852603, "decode_tps_wall": 27.67612324292153, "itl_ms_p50": 36.58783400896937, "itl_ms_p95": 49.77720894385129, "itl_ms_p99": 54.432707955129445, "itl_ms_mean": 36.132228174542504, "total_s": 2.780974499997683, "peak_mem_gb": 1.549717616, "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.4795243019648397, "cache_misses": 5033, "cache_hits": 4637, "stall_s": 2.0702099225018173, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17811505152, "ssd_read_s": 0.678577120299451} | ||||
| 7 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:31:22", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 521.2122080847621, "prompt_tps": 36.472387459970804, "gen_tps": 40.949639175386885, "decode_tps_wall": 40.31005684650972, "itl_ms_p50": 22.81420794315636, "itl_ms_p95": 38.27158303465694, "itl_ms_p99": 42.97333292197436, "itl_ms_mean": 24.80770503022959, "total_s": 2.0840976249892265, "peak_mem_gb": 1.636499212, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 1.3759213021257892, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.4448013227665797} | ||||
| 8 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:31:24", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 611.5603339858353, "prompt_tps": 39.261603751172686, "gen_tps": 39.99823652590423, "decode_tps_wall": 39.3735091472787, "itl_ms_p50": 23.427875014021993, "itl_ms_p95": 37.78220899403095, "itl_ms_p99": 47.81737504526973, "itl_ms_mean": 25.39778703136281, "total_s": 2.2116209169616923, "peak_mem_gb": 1.76929446, "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.6541331524372517, "cache_misses": 3569, "cache_hits": 6750, "stall_s": 1.4954329903703183, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12630491136, "ssd_read_s": 0.47636724647600204} | ||||
| 9 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:31:26", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 556.3839169917628, "prompt_tps": 32.36671243436712, "gen_tps": 29.5729544038375, "decode_tps_wall": 29.110996937907878, "itl_ms_p50": 33.25212502386421, "itl_ms_p95": 47.58650006260723, "itl_ms_p99": 51.26791703514755, "itl_ms_mean": 34.351279763209206, "total_s": 2.7205145420739427, "peak_mem_gb": 1.65311192, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 2.009863163693808, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17301897216, "ssd_read_s": 0.6516196166630834} | ||||
| 10 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:31:29", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 625.3284170525149, "prompt_tps": 38.396301175238435, "gen_tps": 39.85330352728346, "decode_tps_wall": 39.230846061058436, "itl_ms_p50": 23.58258399181068, "itl_ms_p95": 37.32958307955414, "itl_ms_p99": 47.620125114917755, "itl_ms_mean": 25.490146158041345, "total_s": 2.2312076250091195, "peak_mem_gb": 1.76929446, "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.6497722647543367, "cache_misses": 3614, "cache_hits": 6705, "stall_s": 1.5171293833991513, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12789743616, "ssd_read_s": 0.47865299379918724} | ||||
| 11 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:31:31", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 487.9155829548836, "prompt_tps": 28.708489644453465, "gen_tps": 28.236466653249078, "decode_tps_wall": 27.795405224620268, "itl_ms_p50": 35.86604190059006, "itl_ms_p95": 51.306959008798, "itl_ms_p99": 53.99249994661659, "itl_ms_mean": 35.97716931697158, "total_s": 2.7544772499240935, "peak_mem_gb": 1.549717616, "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": 2.0529416904319078, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17673486336, "ssd_read_s": 0.6633842524606735} | ||||
| 12 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:31:33", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 515.6262919772416, "prompt_tps": 36.86786170054398, "gen_tps": 41.2133123968512, "decode_tps_wall": 40.56958734690269, "itl_ms_p50": 21.661083097569644, "itl_ms_p95": 38.80991693586111, "itl_ms_p99": 41.21291695628315, "itl_ms_mean": 24.64900595239467, "total_s": 2.068513666978106, "peak_mem_gb": 1.636499212, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 1.3638423326192424, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.43793867458589375} | ||||
| 13 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "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:32:05", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 681.4193750033155, "prompt_tps": 35.34598225948908, "gen_tps": 35.309788813597784, "decode_tps_wall": 34.759171236924765, "itl_ms_p50": 27.844666969031096, "itl_ms_p95": 39.30166701320559, "itl_ms_p99": 42.43595793377608, "itl_ms_mean": 28.76938558701012, "total_s": 2.493890666984953, "peak_mem_gb": 1.84715862, "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.7077236166295183, "cache_misses": 3016, "cache_hits": 7303, "stall_s": 1.4651703460840508, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1602, "installed": 1602, "late": 0, "dup": 7294, "predictor": "transition", "m": 8}, "ssd_bytes": 16342843392, "ssd_read_s": 0.9224822366377339} | ||||
| 14 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:32:08", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 566.7365409899503, "prompt_tps": 31.77753835936156, "gen_tps": 28.315549960276407, "decode_tps_wall": 27.873221747721544, "itl_ms_p50": 36.23079101089388, "itl_ms_p95": 45.012334012426436, "itl_ms_p99": 49.48816692922264, "itl_ms_mean": 35.8767281748384, "total_s": 2.8269704160047695, "peak_mem_gb": 1.713585104, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6572604940751154, "cache_misses": 3413, "cache_hits": 6545, "stall_s": 1.7749390117824078, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3481, "installed": 3481, "late": 2, "dup": 5231, "predictor": "transition", "m": 8}, "ssd_bytes": 24397479936, "ssd_read_s": 1.5312390537001193} | ||||
| 15 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:32:11", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 494.08933299127966, "prompt_tps": 28.349985272747084, "gen_tps": 25.042766716386843, "decode_tps_wall": 24.651557088257487, "itl_ms_p50": 39.977375068701804, "itl_ms_p95": 48.767708940431476, "itl_ms_p99": 55.01737492159009, "itl_ms_mean": 40.56538888881545, "total_s": 3.049708832986653, "peak_mem_gb": 1.613474288, "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.6231644260599793, "cache_misses": 3644, "cache_hits": 6026, "stall_s": 1.9704076391644776, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4547, "installed": 4547, "late": 3, "dup": 4005, "predictor": "transition", "m": 8}, "ssd_bytes": 28987490304, "ssd_read_s": 1.8772433317499235} | ||||
| 16 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:32:13", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 521.7654169537127, "prompt_tps": 36.43479459707605, "gen_tps": 36.449428003856085, "decode_tps_wall": 35.88007341725578, "itl_ms_p50": 25.89249995071441, "itl_ms_p95": 38.83045900147408, "itl_ms_p99": 40.187207981944084, "itl_ms_mean": 27.870623016035154, "total_s": 2.2776146669639274, "peak_mem_gb": 1.668305292, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7330491270807957, "cache_misses": 2630, "cache_hits": 7222, "stall_s": 1.2665090759983286, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1428, "installed": 1428, "late": 0, "dup": 7236, "predictor": "transition", "m": 8}, "ssd_bytes": 14361034752, "ssd_read_s": 0.8116820899304003} | ||||
| 17 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:32:16", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 561.2853750353679, "prompt_tps": 32.083779043453376, "gen_tps": 28.259962890964697, "decode_tps_wall": 27.818506917950078, "itl_ms_p50": 36.85616690199822, "itl_ms_p95": 45.1834169216454, "itl_ms_p99": 48.22554101701826, "itl_ms_mean": 35.947292316926735, "total_s": 2.825964791001752, "peak_mem_gb": 1.706523632, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6572604940751154, "cache_misses": 3413, "cache_hits": 6545, "stall_s": 1.7750553110381588, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3470, "installed": 3470, "late": 1, "dup": 5242, "predictor": "transition", "m": 8}, "ssd_bytes": 24358551552, "ssd_read_s": 1.5238975549582392} | ||||
| 18 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:32:19", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 497.18608299735934, "prompt_tps": 28.172667916600272, "gen_tps": 25.469101136159118, "decode_tps_wall": 25.07123788284445, "itl_ms_p50": 39.154416997917, "itl_ms_p95": 49.17870892677456, "itl_ms_p99": 55.77741703018546, "itl_ms_mean": 39.886343254086874, "total_s": 3.0100257080048323, "peak_mem_gb": 1.613474256, "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.6230610134436402, "cache_misses": 3645, "cache_hits": 6025, "stall_s": 1.9492603754624724, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4543, "installed": 4543, "late": 3, "dup": 4009, "predictor": "transition", "m": 8}, "ssd_bytes": 28976873472, "ssd_read_s": 1.862569018965587} | ||||
| 19 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:32:21", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 522.8202920407057, "prompt_tps": 36.35903779420813, "gen_tps": 36.70903850681987, "decode_tps_wall": 36.13563597716809, "itl_ms_p50": 25.849625002592802, "itl_ms_p95": 38.27999997884035, "itl_ms_p99": 40.10304203256965, "itl_ms_mean": 27.673513222012726, "total_s": 2.2662516250275075, "peak_mem_gb": 1.668305292, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7330491270807957, "cache_misses": 2630, "cache_hits": 7222, "stall_s": 1.2604319450911134, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1428, "installed": 1428, "late": 0, "dup": 7236, "predictor": "transition", "m": 8}, "ssd_bytes": 14361034752, "ssd_read_s": 0.8033619953785092} | ||||
| 20 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:32:24", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 629.3936250731349, "prompt_tps": 38.14785288386788, "gen_tps": 35.201166985762036, "decode_tps_wall": 34.651310753091444, "itl_ms_p50": 27.364624897018075, "itl_ms_p95": 39.80533394496888, "itl_ms_p99": 41.841791942715645, "itl_ms_mean": 28.85893717341657, "total_s": 2.447506666998379, "peak_mem_gb": 1.811798876, "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.7111154181606745, "cache_misses": 2981, "cache_hits": 7338, "stall_s": 1.4258965507615358, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1478, "installed": 1478, "late": 0, "dup": 7418, "predictor": "transition", "m": 8}, "ssd_bytes": 15780151296, "ssd_read_s": 0.8703944578301162} | ||||
| 21 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:32:27", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 566.0618750844151, "prompt_tps": 31.81279232303207, "gen_tps": 28.322057483072268, "decode_tps_wall": 27.879630217065635, "itl_ms_p50": 35.985250025987625, "itl_ms_p95": 44.946374953724444, "itl_ms_p99": 48.932958976365626, "itl_ms_mean": 35.86848147605206, "total_s": 2.8257762080756947, "peak_mem_gb": 1.713568752, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6572604940751154, "cache_misses": 3413, "cache_hits": 6545, "stall_s": 1.7713123478461057, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3480, "installed": 3480, "late": 1, "dup": 5232, "predictor": "transition", "m": 8}, "ssd_bytes": 24393940992, "ssd_read_s": 1.5129008889198303} | ||||
| 22 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:32:29", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 638.7889159377664, "prompt_tps": 37.58665974003575, "gen_tps": 35.26449207594671, "decode_tps_wall": 34.71365890747842, "itl_ms_p50": 27.96383306849748, "itl_ms_p95": 38.83433295413852, "itl_ms_p99": 41.52045806404203, "itl_ms_mean": 28.80710450791946, "total_s": 2.4536364999366924, "peak_mem_gb": 1.818876764, "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.7097586975482121, "cache_misses": 2995, "cache_hits": 7324, "stall_s": 1.4326911598909646, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1481, "installed": 1481, "late": 0, "dup": 7415, "predictor": "transition", "m": 8}, "ssd_bytes": 15840313344, "ssd_read_s": 0.8747730017639697} | ||||
| 23 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:32:32", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 487.2451249975711, "prompt_tps": 28.747583316879304, "gen_tps": 25.463923339668476, "decode_tps_wall": 25.066141789348634, "itl_ms_p50": 39.436375023797154, "itl_ms_p95": 48.56837494298816, "itl_ms_p99": 56.268082931637764, "itl_ms_mean": 39.894452381376475, "total_s": 3.000595625024289, "peak_mem_gb": 1.599285712, "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.6251292657704239, "cache_misses": 3625, "cache_hits": 6045, "stall_s": 1.9413647933397442, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4546, "installed": 4546, "late": 4, "dup": 4006, "predictor": "transition", "m": 8}, "ssd_bytes": 28916711424, "ssd_read_s": 1.8608200687449425} | ||||
| 24 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:32:34", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 521.031167008914, "prompt_tps": 36.48427600397794, "gen_tps": 36.69359114045238, "decode_tps_wall": 36.12043931204202, "itl_ms_p50": 25.98729101009667, "itl_ms_p95": 38.791082915849984, "itl_ms_p99": 40.55266606155783, "itl_ms_mean": 27.685156079112655, "total_s": 2.2651959999930114, "peak_mem_gb": 1.668305292, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7330491270807957, "cache_misses": 2630, "cache_hits": 7222, "stall_s": 1.261129126767628, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1428, "installed": 1428, "late": 0, "dup": 7236, "predictor": "transition", "m": 8}, "ssd_bytes": 14361034752, "ssd_read_s": 0.8071539712836966} | ||||
| 25 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "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:32:38", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 682.3382920119911, "prompt_tps": 35.295136275638434, "gen_tps": 34.6826862749499, "decode_tps_wall": 34.14181621890222, "itl_ms_p50": 27.476874995045364, "itl_ms_p95": 41.68533405754715, "itl_ms_p99": 51.988332998007536, "itl_ms_mean": 29.289595889932816, "total_s": 2.5275828330777586, "peak_mem_gb": 1.769301852, "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.6446361081500145, "cache_misses": 3667, "cache_hits": 6652, "stall_s": 1.5489405386615545, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 129, "installed": 126, "late": 0, "dup": 8191, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 13433831424, "ssd_read_s": 0.5297496897401288} | ||||
| 26 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:32:41", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 574.74045897834, "prompt_tps": 31.334912989084266, "gen_tps": 26.220263941421162, "decode_tps_wall": 25.810675418076926, "itl_ms_p50": 37.637416971847415, "itl_ms_p95": 52.79541702475399, "itl_ms_p99": 56.864375015720725, "itl_ms_mean": 38.743658730434994, "total_s": 3.0155909589957446, "peak_mem_gb": 1.663728592, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 2.0418206797912717, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 226, "installed": 223, "late": 0, "dup": 8094, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18101698560, "ssd_read_s": 0.7303524538874626} | ||||
| 27 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:32:44", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 526.3170829275623, "prompt_tps": 26.61397100295001, "gen_tps": 25.414804010130165, "decode_tps_wall": 25.017796638371017, "itl_ms_p50": 40.03033402841538, "itl_ms_p95": 54.19237504247576, "itl_ms_p99": 60.533792013302445, "itl_ms_mean": 39.97154563428864, "total_s": 3.0445244578877464, "peak_mem_gb": 1.570974192, "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.4796277145811789, "cache_misses": 5032, "cache_hits": 4638, "stall_s": 2.079394665081054, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 260, "installed": 262, "late": 0, "dup": 8060, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18728091648, "ssd_read_s": 0.7556515095056966} | ||||
| 28 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:32:46", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 530.1641670521349, "prompt_tps": 35.85694966446432, "gen_tps": 35.808991205482734, "decode_tps_wall": 35.24962529479262, "itl_ms_p50": 25.419291108846664, "itl_ms_p95": 41.88570904079825, "itl_ms_p99": 45.66720803268254, "itl_ms_mean": 28.369095887885326, "total_s": 2.3174172079889104, "peak_mem_gb": 1.650610572, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.669305724725944, "cache_misses": 3258, "cache_hits": 6594, "stall_s": 1.3614791821455583, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 121, "installed": 121, "late": 0, "dup": 8199, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 11958091776, "ssd_read_s": 0.4730367272859439} | ||||
| 29 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:32:49", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 578.5914580337703, "prompt_tps": 31.12414132352772, "gen_tps": 26.412162557051676, "decode_tps_wall": 25.99957668156317, "itl_ms_p50": 37.01750002801418, "itl_ms_p95": 52.31333407573402, "itl_ms_p99": 54.68608299270272, "itl_ms_mean": 38.462164682439635, "total_s": 3.001707833027467, "peak_mem_gb": 1.667267568, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5079333199437638, "cache_misses": 4900, "cache_hits": 5058, "stall_s": 2.031746352557093, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 226, "installed": 224, "late": 0, "dup": 8094, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18140626944, "ssd_read_s": 0.7256683950545266} | ||||
| 30 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:32:52", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 521.1150420363992, "prompt_tps": 26.8791355854505, "gen_tps": 25.34009132509392, "decode_tps_wall": 24.94424540485073, "itl_ms_p50": 40.29129189439118, "itl_ms_p95": 54.69712498597801, "itl_ms_p99": 59.42304199561477, "itl_ms_mean": 40.08940674571527, "total_s": 3.0467476670164615, "peak_mem_gb": 1.57097416, "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.4796277145811789, "cache_misses": 5032, "cache_hits": 4638, "stall_s": 2.0832139356061816, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 260, "installed": 262, "late": 0, "dup": 8060, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18728091648, "ssd_read_s": 0.7563709784299135} | ||||
| 31 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:32:54", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 527.7795830043033, "prompt_tps": 36.017312981764526, "gen_tps": 35.2933285731094, "decode_tps_wall": 34.7420610984124, "itl_ms_p50": 25.609957985579967, "itl_ms_p95": 42.179582989774644, "itl_ms_p99": 46.19866702705622, "itl_ms_mean": 28.783554238976823, "total_s": 2.341143500059843, "peak_mem_gb": 1.650610572, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.669305724725944, "cache_misses": 3258, "cache_hits": 6594, "stall_s": 1.3730238495627418, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 121, "installed": 121, "late": 0, "dup": 8199, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 11958091776, "ssd_read_s": 0.4705457449890673} | ||||
| 32 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:32:57", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 637.8974579274654, "prompt_tps": 37.639924478210155, "gen_tps": 33.950319996683206, "decode_tps_wall": 33.42003090469517, "itl_ms_p50": 28.29104196280241, "itl_ms_p95": 42.76941600255668, "itl_ms_p99": 52.62954195495695, "itl_ms_mean": 29.92217460395916, "total_s": 2.5229944579768926, "peak_mem_gb": 1.783487324, "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.6541331524372517, "cache_misses": 3569, "cache_hits": 6750, "stall_s": 1.535994044272229, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 129, "installed": 130, "late": 0, "dup": 8191, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 13087014912, "ssd_read_s": 0.528557246667333} | ||||
| 33 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:33:00", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 571.3402080582455, "prompt_tps": 31.51930493512097, "gen_tps": 26.434554296005317, "decode_tps_wall": 26.021616942030036, "itl_ms_p50": 37.302416982129216, "itl_ms_p95": 52.15741693973541, "itl_ms_p99": 55.27591600548476, "itl_ms_mean": 38.42958730150251, "total_s": 2.9924042080529034, "peak_mem_gb": 1.663728624, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 2.0188576456857845, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 226, "installed": 223, "late": 0, "dup": 8094, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18101698560, "ssd_read_s": 0.7217989380005747} | ||||
| 34 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:33:02", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 641.5067079942673, "prompt_tps": 37.42756211013386, "gen_tps": 34.57381683149746, "decode_tps_wall": 34.03378478155468, "itl_ms_p50": 27.23516698461026, "itl_ms_p95": 42.25499997846782, "itl_ms_p99": 51.96758301462978, "itl_ms_mean": 29.382568128066996, "total_s": 2.492608500062488, "peak_mem_gb": 1.790565212, "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.6497722647543367, "cache_misses": 3614, "cache_hits": 6705, "stall_s": 1.521140352357179, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 129, "installed": 132, "late": 0, "dup": 8191, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 13246267392, "ssd_read_s": 0.5231834813021123} | ||||
| 35 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:33:05", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 509.8117080051452, "prompt_tps": 27.474517814502768, "gen_tps": 25.461941534444165, "decode_tps_wall": 25.064199241373046, "itl_ms_p50": 39.6392080001533, "itl_ms_p95": 55.1902080187574, "itl_ms_p99": 58.95374994724989, "itl_ms_mean": 39.89754431688833, "total_s": 3.02335699996911, "peak_mem_gb": 1.560357328, "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.48366080661840744, "cache_misses": 4993, "cache_hits": 4677, "stall_s": 2.0561962134670466, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 260, "installed": 259, "late": 0, "dup": 8060, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 18590072832, "ssd_read_s": 0.748749066493474} | ||||
| 36 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "prev_rank", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 prev_rank --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:33:08", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 531.9485410582274, "prompt_tps": 35.73534968695303, "gen_tps": 35.24788314813883, "decode_tps_wall": 34.697306958340214, "itl_ms_p50": 25.73604101780802, "itl_ms_p95": 42.177541996352375, "itl_ms_p99": 44.9884170666337, "itl_ms_mean": 28.820680556005783, "total_s": 2.347651416086592, "peak_mem_gb": 1.650610572, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.669305724725944, "cache_misses": 3258, "cache_hits": 6594, "stall_s": 1.3774335174821317, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 121, "installed": 121, "late": 0, "dup": 8199, "predictor": "prev_rank", "m": 8}, "ssd_bytes": 11958091776, "ssd_read_s": 0.47966364747844636} | ||||
added
benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.jsonl
+24 −0
@@ -0,0 +1,24 @@ | |||||
| 1 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "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:33:49", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 380.284791928716, "prompt_tps": 63.49407916852991, "gen_tps": 72.7086033100041, "decode_tps_wall": 71.57769844848642, "itl_ms_p50": 12.953416910022497, "itl_ms_p95": 20.275167073123157, "itl_ms_p99": 25.91829199809581, "itl_ms_mean": 13.970832000412639, "total_s": 1.2604472079547122, "peak_mem_gb": 1.93055716, "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.6446361081500145, "cache_misses": 3667, "cache_hits": 6652, "stall_s": 0.692682103253901, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12977307648, "ssd_read_s": 0.457394742872566} | ||||
| 2 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:33:51", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 328.72704102192074, "prompt_tps": 54.80381434829405, "gen_tps": 53.62428044666654, "decode_tps_wall": 52.78682305572237, "itl_ms_p50": 18.525041989050806, "itl_ms_p95": 26.887458050623536, "itl_ms_p99": 28.134332969784737, "itl_ms_mean": 18.94412169765149, "total_s": 1.5222067079739645, "peak_mem_gb": 1.828353096, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 0.9151933705434203, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17301897216, "ssd_read_s": 0.620059332344681} | ||||
| 3 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:33:52", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 296.9263340346515, "prompt_tps": 47.19383502230973, "gen_tps": 51.510199575824984, "decode_tps_wall": 50.70574040403944, "itl_ms_p50": 19.529416924342513, "itl_ms_p95": 27.567957993596792, "itl_ms_p99": 31.546416925266385, "itl_ms_mean": 19.721632936067643, "total_s": 1.539389209006913, "peak_mem_gb": 1.747773596, "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.4795243019648397, "cache_misses": 5033, "cache_hits": 4637, "stall_s": 0.938357112929225, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17811505152, "ssd_read_s": 0.6404213644564152} | ||||
| 4 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:33:53", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 300.1055410131812, "prompt_tps": 63.36930429649795, "gen_tps": 75.10929355893249, "decode_tps_wall": 73.93661109771251, "itl_ms_p50": 12.372791999951005, "itl_ms_p95": 20.534208975732327, "itl_ms_p99": 21.977707976475358, "itl_ms_mean": 13.525099205296664, "total_s": 1.152186790946871, "peak_mem_gb": 1.783821656, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 0.6138717805733904, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.4109209069283679} | ||||
| 5 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:33:55", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 338.91541603952646, "prompt_tps": 53.150613325158844, "gen_tps": 53.6383661867278, "decode_tps_wall": 52.8007091945298, "itl_ms_p50": 18.529249937273562, "itl_ms_p95": 27.357708080671728, "itl_ms_p99": 28.572040959261358, "itl_ms_mean": 18.939139554277062, "total_s": 1.5320812079589814, "peak_mem_gb": 1.824420888, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5079333199437638, "cache_misses": 4900, "cache_hits": 5058, "stall_s": 0.918347351718694, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17340825600, "ssd_read_s": 0.6223103012889624} | ||||
| 6 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:33:56", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 295.717041939497, "prompt_tps": 47.382818476300635, "gen_tps": 51.32151394777667, "decode_tps_wall": 50.51997147433442, "itl_ms_p50": 19.9885000474751, "itl_ms_p95": 27.370624942705035, "itl_ms_p99": 33.131583011709154, "itl_ms_mean": 19.79415211087418, "total_s": 1.5427486249245703, "peak_mem_gb": 1.735846116, "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.4795243019648397, "cache_misses": 5033, "cache_hits": 4637, "stall_s": 0.9404555514920503, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17811505152, "ssd_read_s": 0.641931640333496} | ||||
| 7 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:33:57", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 304.43799996282905, "prompt_tps": 62.46298101979038, "gen_tps": 75.69627638231321, "decode_tps_wall": 74.51436300928616, "itl_ms_p50": 11.834957986138761, "itl_ms_p95": 20.020000054500997, "itl_ms_p99": 21.80154190864414, "itl_ms_mean": 13.42023147772702, "total_s": 1.1499125830596313, "peak_mem_gb": 1.783821656, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 0.6096728361444548, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.4086581049486995} | ||||
| 8 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:33:59", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 342.79470797628164, "prompt_tps": 70.06660834075579, "gen_tps": 72.58949020517235, "decode_tps_wall": 71.45600202970235, "itl_ms_p50": 13.034582952968776, "itl_ms_p95": 20.004790974780917, "itl_ms_p99": 26.54633391648531, "itl_ms_mean": 13.994625666075283, "total_s": 1.2244561249390244, "peak_mem_gb": 1.934097296, "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.6541331524372517, "cache_misses": 3569, "cache_hits": 6750, "stall_s": 0.6717810803093016, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12630491136, "ssd_read_s": 0.4470097190933302} | ||||
| 9 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:34:00", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 328.75908294226974, "prompt_tps": 54.79284558307793, "gen_tps": 53.70490602989395, "decode_tps_wall": 52.86619753996985, "itl_ms_p50": 18.288584076799452, "itl_ms_p95": 26.584165985696018, "itl_ms_p99": 28.06895796675235, "itl_ms_mean": 18.91567857219054, "total_s": 1.5204468329902738, "peak_mem_gb": 1.828353128, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.5090379594296044, "cache_misses": 4889, "cache_hits": 5069, "stall_s": 0.9145860569551587, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17301897216, "ssd_read_s": 0.6196216040989384} | ||||
| 10 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:34:01", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 354.18962500989437, "prompt_tps": 67.81252561672528, "gen_tps": 72.61160293243346, "decode_tps_wall": 71.4778374052782, "itl_ms_p50": 12.879334040917456, "itl_ms_p95": 20.153332967311144, "itl_ms_p99": 25.95441695302725, "itl_ms_mean": 13.990350524037485, "total_s": 1.235581708024256, "peak_mem_gb": 1.934097296, "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.6497722647543367, "cache_misses": 3614, "cache_hits": 6705, "stall_s": 0.6796442195773125, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 12789743616, "ssd_read_s": 0.4522450801450759} | ||||
| 11 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:34:03", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 283.28070894349366, "prompt_tps": 49.46407283923087, "gen_tps": 51.288917915595675, "decode_tps_wall": 50.487892715359344, "itl_ms_p50": 19.674375071190298, "itl_ms_p95": 28.04341702722013, "itl_ms_p99": 30.936624971218407, "itl_ms_mean": 19.806728825815732, "total_s": 1.5311046249698848, "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": 0.9337375573813915, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 17673486336, "ssd_read_s": 0.6375937573611736} | ||||
| 12 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "none", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:34:04", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 289.672875078395, "prompt_tps": 65.64919058123002, "gen_tps": 73.2884253720508, "decode_tps_wall": 72.14413367846092, "itl_ms_p50": 12.27204198949039, "itl_ms_p95": 20.88362502399832, "itl_ms_p99": 27.023459086194634, "itl_ms_mean": 13.861140871923121, "total_s": 1.1629247500095516, "peak_mem_gb": 1.777333532, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.6694072269589931, "cache_misses": 3257, "cache_hits": 6595, "stall_s": 0.6170409636106342, "hits_device": 0, "layers_complete": 0, "prefetch": null, "ssd_bytes": 11526340608, "ssd_read_s": 0.41335971443913877} | ||||
| 13 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "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:34:07", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 417.09470795467496, "prompt_tps": 57.890011536031714, "gen_tps": 54.497364891925855, "decode_tps_wall": 53.64855027840424, "itl_ms_p50": 17.92687503620982, "itl_ms_p95": 25.522999931126833, "itl_ms_p99": 26.658250018954277, "itl_ms_mean": 18.639832666690744, "total_s": 1.5914041659561917, "peak_mem_gb": 1.996581356, "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.7077236166295183, "cache_misses": 3016, "cache_hits": 7303, "stall_s": 0.7253628862090409, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1602, "installed": 1602, "late": 1, "dup": 7294, "predictor": "transition", "m": 8}, "ssd_bytes": 16342843392, "ssd_read_s": 0.9576644137268886} | ||||
| 14 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:34:09", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 347.00695890933275, "prompt_tps": 51.913499145898086, "gen_tps": 40.112991201106865, "decode_tps_wall": 39.48636078944318, "itl_ms_p50": 24.965791031718254, "itl_ms_p95": 32.99429209437221, "itl_ms_p99": 38.66183292120695, "itl_ms_mean": 25.32520039849693, "total_s": 1.9424945840146393, "peak_mem_gb": 1.885472376, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6573609158465555, "cache_misses": 3412, "cache_hits": 6546, "stall_s": 0.9406086412491277, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3471, "installed": 3471, "late": 35, "dup": 5241, "predictor": "transition", "m": 8}, "ssd_bytes": 24358551552, "ssd_read_s": 1.7092103488976136} | ||||
| 15 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:34:11", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 316.44454202614725, "prompt_tps": 44.28148156602418, "gen_tps": 34.83273991757286, "decode_tps_wall": 34.288682091028086, "itl_ms_p50": 28.07887503877282, "itl_ms_p95": 37.83991595264524, "itl_ms_p99": 46.05083400383592, "itl_ms_mean": 29.164142189695248, "total_s": 2.153785499976948, "peak_mem_gb": 1.79716218, "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.6236814891416753, "cache_misses": 3639, "cache_hits": 6031, "stall_s": 1.0574734223773703, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4539, "installed": 4532, "late": 41, "dup": 4013, "predictor": "transition", "m": 8}, "ssd_bytes": 28941484032, "ssd_read_s": 2.118904664646834} | ||||
| 16 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": true, "repeat": -1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:34:12", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 325.72004199028015, "prompt_tps": 58.383043269068835, "gen_tps": 55.374239387542005, "decode_tps_wall": 54.50941976032858, "itl_ms_p50": 16.76612498704344, "itl_ms_p95": 25.38916701450944, "itl_ms_p99": 27.91670907754451, "itl_ms_mean": 18.345453031730674, "total_s": 1.4814835829893127, "peak_mem_gb": 1.836780496, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7330491270807957, "cache_misses": 2630, "cache_hits": 7222, "stall_s": 0.6353771339636296, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1423, "installed": 1430, "late": 4, "dup": 7241, "predictor": "transition", "m": 8}, "ssd_bytes": 14343340032, "ssd_read_s": 0.8503749336814508} | ||||
| 17 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:34:14", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 367.7875839639455, "prompt_tps": 48.97680422707743, "gen_tps": 40.10276436185179, "decode_tps_wall": 39.476387501232274, "itl_ms_p50": 25.049000047147274, "itl_ms_p95": 32.35129197128117, "itl_ms_p99": 41.3809580495581, "itl_ms_mean": 25.33159854023584, "total_s": 1.9636782919988036, "peak_mem_gb": 1.886389912, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6574613376179956, "cache_misses": 3411, "cache_hits": 6547, "stall_s": 0.9502528810407966, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3463, "installed": 3463, "late": 40, "dup": 5249, "predictor": "transition", "m": 8}, "ssd_bytes": 24326701056, "ssd_read_s": 1.7192287121433765} | ||||
| 18 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:34:16", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 315.69245900027454, "prompt_tps": 44.383739612025856, "gen_tps": 34.78234168470292, "decode_tps_wall": 34.239070739252554, "itl_ms_p50": 28.248958056792617, "itl_ms_p95": 37.44195797480643, "itl_ms_p99": 45.93187500722706, "itl_ms_mean": 29.20640012737186, "total_s": 2.155695667024702, "peak_mem_gb": 1.800701124, "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.6234746639089969, "cache_misses": 3641, "cache_hits": 6029, "stall_s": 1.0593780489871278, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4532, "installed": 4526, "late": 41, "dup": 4020, "predictor": "transition", "m": 8}, "ssd_bytes": 28923789312, "ssd_read_s": 2.122408108203672} | ||||
| 19 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:34:18", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 321.79704203736037, "prompt_tps": 59.09125432034499, "gen_tps": 54.69301303259165, "decode_tps_wall": 53.838927422647544, "itl_ms_p50": 17.771041952073574, "itl_ms_p95": 25.433875038288534, "itl_ms_p99": 26.668958947993815, "itl_ms_mean": 18.573921284682694, "total_s": 1.49195408297237, "peak_mem_gb": 1.815989832, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7331506293138449, "cache_misses": 2629, "cache_hits": 7223, "stall_s": 0.6309308598283678, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1426, "installed": 1432, "late": 2, "dup": 7238, "predictor": "transition", "m": 8}, "ssd_bytes": 14350417920, "ssd_read_s": 0.841039760154672} | ||||
| 20 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 0, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:34:19", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 367.4800000153482, "prompt_tps": 65.35415998940525, "gen_tps": 54.068865131055574, "decode_tps_wall": 53.22452254026847, "itl_ms_p50": 18.264499958604574, "itl_ms_p95": 25.95704107079655, "itl_ms_p99": 28.0275420518592, "itl_ms_mean": 18.788331999473037, "total_s": 1.5511449159821495, "peak_mem_gb": 1.96218824, "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.7111154181606745, "cache_misses": 2981, "cache_hits": 7338, "stall_s": 0.7006638369057328, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1478, "installed": 1478, "late": 1, "dup": 7418, "predictor": "transition", "m": 8}, "ssd_bytes": 15780151296, "ssd_read_s": 0.9043975193053484} | ||||
| 21 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Describe the main differences between a Mac Studio and a Mac", "ts": "2026-11-01T01:34:21", "prompt_tokens": 18, "gen_tokens": 64, "ttft_ms": 351.4073749538511, "prompt_tps": 51.25972555473202, "gen_tps": 40.688361245121115, "decode_tps_wall": 40.05277111350156, "itl_ms_p50": 25.028917007148266, "itl_ms_p95": 32.00708294752985, "itl_ms_p99": 38.36241702083498, "itl_ms_mean": 24.967061509082598, "total_s": 1.9243322500260547, "peak_mem_gb": 1.885472408, "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often with more cores and higher clock speeds.\n- Larger display with a higher resolution", "cache_hit_rate": 0.6574613376179956, "cache_misses": 3411, "cache_hits": 6547, "stall_s": 0.9411007598973811, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 3473, "installed": 3472, "late": 39, "dup": 5239, "predictor": "transition", "m": 8}, "ssd_bytes": 24362090496, "ssd_read_s": 1.705476708826609} | ||||
| 22 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a C function that computes the dot product of two floa", "ts": "2026-11-01T01:34:23", "prompt_tokens": 24, "gen_tokens": 64, "ttft_ms": 377.98908399417996, "prompt_tps": 63.54055938827112, "gen_tps": 54.33054019763219, "decode_tps_wall": 53.482049289396755, "itl_ms_p50": 18.067084020003676, "itl_ms_p95": 25.6848749704659, "itl_ms_p99": 27.61091699358076, "itl_ms_mean": 18.6978624283617, "total_s": 1.555954416980967, "peak_mem_gb": 1.969135056, "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.7097586975482121, "cache_misses": 2995, "cache_hits": 7324, "stall_s": 0.7019232711754739, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1480, "installed": 1481, "late": 1, "dup": 7416, "predictor": "transition", "m": 8}, "ssd_bytes": 15836774400, "ssd_read_s": 0.9054422654444352} | ||||
| 23 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "general", "prompt": "Summarize the history of the Rideau Canal in one paragraph.", "ts": "2026-11-01T01:34:25", "prompt_tokens": 14, "gen_tokens": 64, "ttft_ms": 313.21795796975493, "prompt_tps": 44.73164402840847, "gen_tps": 34.88030357261832, "decode_tps_wall": 34.335503098954135, "itl_ms_p50": 28.124041040427983, "itl_ms_p95": 39.43700005766004, "itl_ms_p99": 43.30104193650186, "itl_ms_mean": 29.12437301757376, "total_s": 2.1480534580769017, "peak_mem_gb": 1.790002148, "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.6248190279214064, "cache_misses": 3628, "cache_hits": 6042, "stall_s": 1.0583573306212202, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 4518, "installed": 4515, "late": 40, "dup": 4034, "predictor": "transition", "m": 8}, "ssd_bytes": 28828237824, "ssd_read_s": 2.1118570929393172} | ||||
| 24 | +{"backend": "titan", "capacity": 16, "policy": "lru", "predictor": "transition", "m": 8, "prefetch_workers": 2, "nocache": false, "max_tokens": 64, "split": "heldout", "tag": "", "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 transition --m 8 --traces benchmarks/raw/gateC/traces_olmoe_laptop --families general,code --split heldout --repeats 2 --out benchmarks/raw/gateC/prefetch_online_laptop/smoke_lazyinstall.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": "1df8d30"}, "seed": 0, "warmup": false, "repeat": 1, "family": "code", "prompt": "Write a bash script that lists the ten largest files under a", "ts": "2026-11-01T01:34:27", "prompt_tokens": 19, "gen_tokens": 64, "ttft_ms": 320.7784160040319, "prompt_tps": 59.27951201783087, "gen_tps": 56.203616918357326, "decode_tps_wall": 55.32592734451029, "itl_ms_p50": 17.169625032693148, "itl_ms_p95": 25.480874930508435, "itl_ms_p99": 26.342792087234557, "itl_ms_mean": 18.074708332913737, "total_s": 1.4594850409775972, "peak_mem_gb": 1.805061128, "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfiles=( $(ls -l \"$dir\" | awk '{print $5, $9}') )\n\n# Sort the array", "cache_hit_rate": 0.7330491270807957, "cache_misses": 2630, "cache_hits": 7222, "stall_s": 0.6244156584143639, "hits_device": 0, "layers_complete": 0, "prefetch": {"issued": 1425, "installed": 1428, "late": 2, "dup": 7239, "predictor": "transition", "m": 8}, "ssd_bytes": 14350417920, "ssd_read_s": 0.8336677193874493} | ||||
added
benchmarks/raw/gateC/traces_olmoe_v2_laptop/index.json
+631 −0
@@ -0,0 +1,631 @@ | |||||
| 1 | +{ | ||||
| 2 | + "model": "/Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b", | ||||
| 3 | + "L": 16, | ||||
| 4 | + "E": 64, | ||||
| 5 | + "K": 8, | ||||
| 6 | + "max_tokens": 384, | ||||
| 7 | + "ts": "2026-11-01T01:29:47", | ||||
| 8 | + "cmd": "benchmarks/scripts/collect_traces.py --model /Users/simon-pierreboucher/.cache/huggingface/hub/models--mlx-community--OLMoE-1B-7B-0125-Instruct-4bit/snapshots/e23844197887b031e7ddddbb0b8959c5a6853a7b --workloads benchmarks/configs/workloads_v2.yaml --max-tokens 384 --out benchmarks/raw/gateC/traces_olmoe_v2_laptop", | ||||
| 9 | + "prompts": [ | ||||
| 10 | + { | ||||
| 11 | + "name": "general_fit_0", | ||||
| 12 | + "family": "general", | ||||
| 13 | + "split": "fit", | ||||
| 14 | + "prompt": "Explain in three sentences why mixture-of-experts models are memory-bound during", | ||||
| 15 | + "n_prompt": 20, | ||||
| 16 | + "n_gen": 93, | ||||
| 17 | + "seconds": 0.2754368749447167, | ||||
| 18 | + "text": "\n\nMixture-of-experts models involve combining predictions from multiple experts, each with its own set of weights. Durin" | ||||
| 19 | + }, | ||||
| 20 | + { | ||||
| 21 | + "name": "general_fit_1", | ||||
| 22 | + "family": "general", | ||||
| 23 | + "split": "fit", | ||||
| 24 | + "prompt": "Write a short paragraph describing the climate of Gatineau, Qu\u00e9bec, across the f", | ||||
| 25 | + "n_prompt": 21, | ||||
| 26 | + "n_gen": 272, | ||||
| 27 | + "seconds": 0.7447166669880971, | ||||
| 28 | + "text": "\n\nGatineau experiences a humid continental climate, with warm to hot summers and cold, snowy winters. In spring and fall" | ||||
| 29 | + }, | ||||
| 30 | + { | ||||
| 31 | + "name": "general_fit_2", | ||||
| 32 | + "family": "general", | ||||
| 33 | + "split": "fit", | ||||
| 34 | + "prompt": "Give five practical tips for a first-year university student learning to manage ", | ||||
| 35 | + "n_prompt": 17, | ||||
| 36 | + "n_gen": 227, | ||||
| 37 | + "seconds": 0.6229109159903601, | ||||
| 38 | + "text": "\n\n1. **Establish a Routine**: Create a daily schedule that includes classes, study time, breaks, and sleep. This helps i" | ||||
| 39 | + }, | ||||
| 40 | + { | ||||
| 41 | + "name": "general_fit_3", | ||||
| 42 | + "family": "general", | ||||
| 43 | + "split": "fit", | ||||
| 44 | + "prompt": "Describe how a hydroelectric dam converts the energy of falling water into elect", | ||||
| 45 | + "n_prompt": 16, | ||||
| 46 | + "n_gen": 374, | ||||
| 47 | + "seconds": 1.0221076660091057, | ||||
| 48 | + "text": "\n\nHydroelectric dams convert the potential energy of falling water into electrical energy through the process of hydraul" | ||||
| 49 | + }, | ||||
| 50 | + { | ||||
| 51 | + "name": "general_fit_4", | ||||
| 52 | + "family": "general", | ||||
| 53 | + "split": "fit", | ||||
| 54 | + "prompt": "Write a friendly email inviting colleagues to a Friday afternoon seminar on hous", | ||||
| 55 | + "n_prompt": 15, | ||||
| 56 | + "n_gen": 293, | ||||
| 57 | + "seconds": 0.790545874973759, | ||||
| 58 | + "text": "\n\nSubject: Invitation to Friday Afternoon Seminar on Housing Economics\n\nDear [Colleague's Name],\n\nI hope this message fi" | ||||
| 59 | + }, | ||||
| 60 | + { | ||||
| 61 | + "name": "general_fit_5", | ||||
| 62 | + "family": "general", | ||||
| 63 | + "split": "fit", | ||||
| 64 | + "prompt": "What are the main arguments for and against remote work in knowledge industries?", | ||||
| 65 | + "n_prompt": 14, | ||||
| 66 | + "n_gen": 384, | ||||
| 67 | + "seconds": 1.0376422079280019, | ||||
| 68 | + "text": "\n\nArguments for remote work in knowledge industries:\n\n1. Increased productivity: Remote work allows employees to create " | ||||
| 69 | + }, | ||||
| 70 | + { | ||||
| 71 | + "name": "general_fit_6", | ||||
| 72 | + "family": "general", | ||||
| 73 | + "split": "fit", | ||||
| 74 | + "prompt": "Explain the difference between weather and climate to a ten-year-old.", | ||||
| 75 | + "n_prompt": 16, | ||||
| 76 | + "n_gen": 384, | ||||
| 77 | + "seconds": 1.0408702499698848, | ||||
| 78 | + "text": "\n\nWeather is what's happening outside right now. It includes things like temperature, humidity, wind, and whether it's r" | ||||
| 79 | + }, | ||||
| 80 | + { | ||||
| 81 | + "name": "general_fit_7", | ||||
| 82 | + "family": "general", | ||||
| 83 | + "split": "fit", | ||||
| 84 | + "prompt": "Draft a two-paragraph product description for a quiet mechanical keyboard.", | ||||
| 85 | + "n_prompt": 14, | ||||
| 86 | + "n_gen": 241, | ||||
| 87 | + "seconds": 0.6577682920033112, | ||||
| 88 | + "text": "\n\nThe KBD-PRO Quiet Mechanical Keyboard is designed for users who value precision and comfort above all else. Crafted wi" | ||||
| 89 | + }, | ||||
| 90 | + { | ||||
| 91 | + "name": "general_fit_8", | ||||
| 92 | + "family": "general", | ||||
| 93 | + "split": "fit", | ||||
| 94 | + "prompt": "List the steps to prepare a simple vegetable soup, with approximate timings.", | ||||
| 95 | + "n_prompt": 15, | ||||
| 96 | + "n_gen": 205, | ||||
| 97 | + "seconds": 0.5663467920385301, | ||||
| 98 | + "text": "\n\n1. **Preparation of Ingredients:**\n - **Onion:** 10 minutes\n - **Carrot:** 5 minutes\n - **Celery:** 3 minutes\n " | ||||
| 99 | + }, | ||||
| 100 | + { | ||||
| 101 | + "name": "general_fit_9", | ||||
| 102 | + "family": "general", | ||||
| 103 | + "split": "fit", | ||||
| 104 | + "prompt": "Why do leaves change colour in autumn? Answer in one paragraph.", | ||||
| 105 | + "n_prompt": 13, | ||||
| 106 | + "n_gen": 185, | ||||
| 107 | + "seconds": 0.5095781669951975, | ||||
| 108 | + "text": "\n\nLeaves change colour in autumn because of a decrease in the amount of sunlight they receive. This reduction triggers t" | ||||
| 109 | + }, | ||||
| 110 | + { | ||||
| 111 | + "name": "general_heldout_0", | ||||
| 112 | + "family": "general", | ||||
| 113 | + "split": "heldout", | ||||
| 114 | + "prompt": "Describe the main differences between a Mac Studio and a MacBook Pro for scienti", | ||||
| 115 | + "n_prompt": 18, | ||||
| 116 | + "n_gen": 311, | ||||
| 117 | + "seconds": 0.8569220829522237, | ||||
| 118 | + "text": "\n\nMac Studio:\n- More powerful hardware options, including multiple GPUs and more RAM.\n- Higher-end CPU options, often wi" | ||||
| 119 | + }, | ||||
| 120 | + { | ||||
| 121 | + "name": "general_heldout_1", | ||||
| 122 | + "family": "general", | ||||
| 123 | + "split": "heldout", | ||||
| 124 | + "prompt": "Summarize the history of the Rideau Canal in one paragraph.", | ||||
| 125 | + "n_prompt": 14, | ||||
| 126 | + "n_gen": 384, | ||||
| 127 | + "seconds": 1.0413203749340028, | ||||
| 128 | + "text": "\n\nThe Rideau Canal, officially opened in 1832, was constructed by the British to connect Ottawa to Montreal via the Otta" | ||||
| 129 | + }, | ||||
| 130 | + { | ||||
| 131 | + "name": "general_heldout_2", | ||||
| 132 | + "family": "general", | ||||
| 133 | + "split": "heldout", | ||||
| 134 | + "prompt": "Write a short motivational note for someone starting to learn the piano as an ad", | ||||
| 135 | + "n_prompt": 16, | ||||
| 136 | + "n_gen": 260, | ||||
| 137 | + "seconds": 0.7053234579507262, | ||||
| 138 | + "text": "\n\nDear [Name],\n\nWelcome to the wonderful world of piano playing! You've made an exciting decision to learn this beautifu" | ||||
| 139 | + }, | ||||
| 140 | + { | ||||
| 141 | + "name": "general_heldout_3", | ||||
| 142 | + "family": "general", | ||||
| 143 | + "split": "heldout", | ||||
| 144 | + "prompt": "What should a visitor know before hiking in Gatineau Park in winter?", | ||||
| 145 | + "n_prompt": 16, | ||||
| 146 | + "n_gen": 384, | ||||
| 147 | + "seconds": 1.0523874170612544, | ||||
| 148 | + "text": "\n\n1. **Temperature and Weather Conditions**: The temperature in Gatineau Park can drop to as low as -30\u00b0C in winter. Vis" | ||||
| 149 | + }, | ||||
| 150 | + { | ||||
| 151 | + "name": "code_fit_0", | ||||
| 152 | + "family": "code", | ||||
| 153 | + "split": "fit", | ||||
| 154 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th Fibonacci number.\"\"\"\n", | ||||
| 155 | + "n_prompt": 21, | ||||
| 156 | + "n_gen": 325, | ||||
| 157 | + "seconds": 0.8913150830194354, | ||||
| 158 | + "text": " if n <= 0:\n return \"Invalid input\"\n elif n == 1:\n return 0\n elif n == 2:\n return 1\n el" | ||||
| 159 | + }, | ||||
| 160 | + { | ||||
| 161 | + "name": "code_fit_1", | ||||
| 162 | + "family": "code", | ||||
| 163 | + "split": "fit", | ||||
| 164 | + "prompt": "Write a Python function that parses a CSV file of timestamps and returns the med", | ||||
| 165 | + "n_prompt": 31, | ||||
| 166 | + "n_gen": 384, | ||||
| 167 | + "seconds": 1.068334334064275, | ||||
| 168 | + "text": "import csv\nfrom datetime import datetime\n\ndef parse_timestamps(file_path):\n \"\"\"\n Parses a CSV file containing time" | ||||
| 169 | + }, | ||||
| 170 | + { | ||||
| 171 | + "name": "code_fit_2", | ||||
| 172 | + "family": "code", | ||||
| 173 | + "split": "fit", | ||||
| 174 | + "prompt": "Implement an LRU cache class in Python with get and put methods in O(1).\n\n```pyt", | ||||
| 175 | + "n_prompt": 24, | ||||
| 176 | + "n_gen": 384, | ||||
| 177 | + "seconds": 1.0517179580638185, | ||||
| 178 | + "text": "class LRUCache:\n def __init__(self, capacity: int):\n self.capacity = capacity\n self.cache = {}\n " | ||||
| 179 | + }, | ||||
| 180 | + { | ||||
| 181 | + "name": "code_fit_3", | ||||
| 182 | + "family": "code", | ||||
| 183 | + "split": "fit", | ||||
| 184 | + "prompt": "Write a Python script that walks a directory tree and reports the total size per", | ||||
| 185 | + "n_prompt": 23, | ||||
| 186 | + "n_gen": 384, | ||||
| 187 | + "seconds": 1.062020415905863, | ||||
| 188 | + "text": "import os\n\ndef get_file_size(path):\n \"\"\"Return the size of a file.\"\"\"\n size = os.path.getsize(path)\n return siz" | ||||
| 189 | + }, | ||||
| 190 | + { | ||||
| 191 | + "name": "code_fit_4", | ||||
| 192 | + "family": "code", | ||||
| 193 | + "split": "fit", | ||||
| 194 | + "prompt": "Implement binary search over a sorted list of integers in Python and return the ", | ||||
| 195 | + "n_prompt": 25, | ||||
| 196 | + "n_gen": 354, | ||||
| 197 | + "seconds": 0.9759309579385445, | ||||
| 198 | + "text": "def binary_search(arr, x):\n left, right = 0, len(arr) - 1\n \n while left <= right:\n mid = (left + right) " | ||||
| 199 | + }, | ||||
| 200 | + { | ||||
| 201 | + "name": "code_fit_5", | ||||
| 202 | + "family": "code", | ||||
| 203 | + "split": "fit", | ||||
| 204 | + "prompt": "Write a SQL query that returns the three most recent orders per customer from ta", | ||||
| 205 | + "n_prompt": 32, | ||||
| 206 | + "n_gen": 384, | ||||
| 207 | + "seconds": 1.0527452089590952, | ||||
| 208 | + "text": "SELECT customer_id, order_date, amount\nFROM orders\nORDER BY order_date DESC\nLIMIT 3;\n```\n\nThis query will return the thr" | ||||
| 209 | + }, | ||||
| 210 | + { | ||||
| 211 | + "name": "code_fit_6", | ||||
| 212 | + "family": "code", | ||||
| 213 | + "split": "fit", | ||||
| 214 | + "prompt": "Write a JavaScript function that debounces another function with a configurable ", | ||||
| 215 | + "n_prompt": 20, | ||||
| 216 | + "n_gen": 384, | ||||
| 217 | + "seconds": 1.0560737090418115, | ||||
| 218 | + "text": "function debounce(func, delay) {\n let timeout;\n\n return function (...args) {\n clearTimeout(timeout);\n timeout = " | ||||
| 219 | + }, | ||||
| 220 | + { | ||||
| 221 | + "name": "code_fit_7", | ||||
| 222 | + "family": "code", | ||||
| 223 | + "split": "fit", | ||||
| 224 | + "prompt": "Write a Rust function that counts word frequencies in a string and returns them ", | ||||
| 225 | + "n_prompt": 23, | ||||
| 226 | + "n_gen": 349, | ||||
| 227 | + "seconds": 0.9573940000263974, | ||||
| 228 | + "text": "fn count_words(text: &str) -> HashMap<String, i32> {\n let words: Vec<&str> = text.split_whitespace().collect();\n l" | ||||
| 229 | + }, | ||||
| 230 | + { | ||||
| 231 | + "name": "code_fit_8", | ||||
| 232 | + "family": "code", | ||||
| 233 | + "split": "fit", | ||||
| 234 | + "prompt": "class Matrix:\n \"\"\"Minimal dense matrix with multiplication and transpose.\"\"\"\n", | ||||
| 235 | + "n_prompt": 27, | ||||
| 236 | + "n_gen": 384, | ||||
| 237 | + "seconds": 1.0742902499623597, | ||||
| 238 | + "text": " self.rows = rows\n self.data = [None] * rows\n\n def add_entry(self, row, entry):\n \"\"\"Add an entry" | ||||
| 239 | + }, | ||||
| 240 | + { | ||||
| 241 | + "name": "code_fit_9", | ||||
| 242 | + "family": "code", | ||||
| 243 | + "split": "fit", | ||||
| 244 | + "prompt": "Write a Python generator that yields sliding windows of size k over an iterable.", | ||||
| 245 | + "n_prompt": 21, | ||||
| 246 | + "n_gen": 276, | ||||
| 247 | + "seconds": 0.7710703329648823, | ||||
| 248 | + "text": "def sliding_windows(iterable, k):\n \"\"\"\n Yields sliding windows of size k over an iterable.\n\n :param iterable: T" | ||||
| 249 | + }, | ||||
| 250 | + { | ||||
| 251 | + "name": "code_heldout_0", | ||||
| 252 | + "family": "code", | ||||
| 253 | + "split": "heldout", | ||||
| 254 | + "prompt": "Write a C function that computes the dot product of two float arrays using NEON ", | ||||
| 255 | + "n_prompt": 24, | ||||
| 256 | + "n_gen": 384, | ||||
| 257 | + "seconds": 1.0711488750530407, | ||||
| 258 | + "text": "#include <arm_neon.h>\n\nfloat dot_product_neon(const float *a, const float *b, int len) {\n // TODO: Implement the dot " | ||||
| 259 | + }, | ||||
| 260 | + { | ||||
| 261 | + "name": "code_heldout_1", | ||||
| 262 | + "family": "code", | ||||
| 263 | + "split": "heldout", | ||||
| 264 | + "prompt": "Write a bash script that lists the ten largest files under a directory.\n\n```bash", | ||||
| 265 | + "n_prompt": 19, | ||||
| 266 | + "n_gen": 365, | ||||
| 267 | + "seconds": 1.0241958330152556, | ||||
| 268 | + "text": "#!/bin/bash\n\n# Specify the directory\ndir=\"/path/to/directory\"\n\n# Get the size of each file and store it in an array\nfile" | ||||
| 269 | + }, | ||||
| 270 | + { | ||||
| 271 | + "name": "code_heldout_2", | ||||
| 272 | + "family": "code", | ||||
| 273 | + "split": "heldout", | ||||
| 274 | + "prompt": "Implement Dijkstra's shortest path in Python using a binary heap.\n\n```python\n", | ||||
| 275 | + "n_prompt": 20, | ||||
| 276 | + "n_gen": 384, | ||||
| 277 | + "seconds": 1.0595750829670578, | ||||
| 278 | + "text": "import heapq\n\ndef dijkstra(graph, start):\n # Create a priority queue (binary heap)\n pq = []\n for node, distance" | ||||
| 279 | + }, | ||||
| 280 | + { | ||||
| 281 | + "name": "code_heldout_3", | ||||
| 282 | + "family": "code", | ||||
| 283 | + "split": "heldout", | ||||
| 284 | + "prompt": "Write a Go function that reads lines from stdin and prints the longest one.\n\n```", | ||||
| 285 | + "n_prompt": 21, | ||||
| 286 | + "n_gen": 384, | ||||
| 287 | + "seconds": 1.0644185839919373, | ||||
| 288 | + "text": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n)\n\nfunc main() {\n\tfmt.Println(\"Enter your lines (press Ctrl+D to finish):\")\n\tva" | ||||
| 289 | + }, | ||||
| 290 | + { | ||||
| 291 | + "name": "reasoning_fit_0", | ||||
| 292 | + "family": "reasoning", | ||||
| 293 | + "split": "fit", | ||||
| 294 | + "prompt": "Q: If a train travels 60 km in 45 minutes, what is its average speed in km/h? Th", | ||||
| 295 | + "n_prompt": 30, | ||||
| 296 | + "n_gen": 38, | ||||
| 297 | + "seconds": 0.11871404096018523, | ||||
| 298 | + "text": " 45 minutes is equal to 45 / 60 = 0.75 hours. The average speed is 60 km / 0.75 hours = 80 km/h. So the answer is 80.|||" | ||||
| 299 | + }, | ||||
| 300 | + { | ||||
| 301 | + "name": "reasoning_fit_1", | ||||
| 302 | + "family": "reasoning", | ||||
| 303 | + "split": "fit", | ||||
| 304 | + "prompt": "Q: A rectangle has a perimeter of 36 cm and a length twice its width. What is it", | ||||
| 305 | + "n_prompt": 30, | ||||
| 306 | + "n_gen": 101, | ||||
| 307 | + "seconds": 0.29207833390682936, | ||||
| 308 | + "text": " Let the width be w cm. Then the length is 2w cm. The perimeter of a rectangle is given by 2(length + width) = 36 cm. Su" | ||||
| 309 | + }, | ||||
| 310 | + { | ||||
| 311 | + "name": "reasoning_fit_2", | ||||
| 312 | + "family": "reasoning", | ||||
| 313 | + "split": "fit", | ||||
| 314 | + "prompt": "Q: Three friends split a bill of 84 dollars; one pays twice as much as each of t", | ||||
| 315 | + "n_prompt": 36, | ||||
| 316 | + "n_gen": 67, | ||||
| 317 | + "seconds": 0.197022125008516, | ||||
| 318 | + "text": " Let x be the amount each of the two friends pays. The other friend pays x also. Therefore, the total bill is x + x + x " | ||||
| 319 | + }, | ||||
| 320 | + { | ||||
| 321 | + "name": "reasoning_fit_3", | ||||
| 322 | + "family": "reasoning", | ||||
| 323 | + "split": "fit", | ||||
| 324 | + "prompt": "Q: A store sells pens at 3 for 2 dollars. How much do 18 pens cost? Think step b", | ||||
| 325 | + "n_prompt": 27, | ||||
| 326 | + "n_gen": 54, | ||||
| 327 | + "seconds": 0.16230712505057454, | ||||
| 328 | + "text": " First find the number of sets of 3 pens in 18 pens: 18 pens / 3 pens per set = 6 sets. Then multiply the number of sets" | ||||
| 329 | + }, | ||||
| 330 | + { | ||||
| 331 | + "name": "reasoning_fit_4", | ||||
| 332 | + "family": "reasoning", | ||||
| 333 | + "split": "fit", | ||||
| 334 | + "prompt": "Q: If today is Wednesday, what day of the week will it be in 100 days? Think ste", | ||||
| 335 | + "n_prompt": 27, | ||||
| 336 | + "n_gen": 81, | ||||
| 337 | + "seconds": 0.2316902909660712, | ||||
| 338 | + "text": " Today is Wednesday, which is between Monday and Friday. In 100 days, there are 7 * 100 = 700 hours. Since there are 24 " | ||||
| 339 | + }, | ||||
| 340 | + { | ||||
| 341 | + "name": "reasoning_fit_5", | ||||
| 342 | + "family": "reasoning", | ||||
| 343 | + "split": "fit", | ||||
| 344 | + "prompt": "Q: A car uses 7 litres per 100 km. How many litres for a 350 km trip, and the co", | ||||
| 345 | + "n_prompt": 38, | ||||
| 346 | + "n_gen": 49, | ||||
| 347 | + "seconds": 0.14697608293499798, | ||||
| 348 | + "text": " The car will use 7 * (350 / 100) = 245 litres for the trip. At a cost of 1.60 per litre, the total cost will be 245 * 1" | ||||
| 349 | + }, | ||||
| 350 | + { | ||||
| 351 | + "name": "reasoning_fit_6", | ||||
| 352 | + "family": "reasoning", | ||||
| 353 | + "split": "fit", | ||||
| 354 | + "prompt": "Q: The sum of two consecutive even numbers is 54. What are they? Think step by s", | ||||
| 355 | + "n_prompt": 24, | ||||
| 356 | + "n_gen": 93, | ||||
| 357 | + "seconds": 0.2644914169795811, | ||||
| 358 | + "text": " Let the first even number be x. The next consecutive even number will be x + 2. The sum of the two numbers is x + (x + " | ||||
| 359 | + }, | ||||
| 360 | + { | ||||
| 361 | + "name": "reasoning_fit_7", | ||||
| 362 | + "family": "reasoning", | ||||
| 363 | + "split": "fit", | ||||
| 364 | + "prompt": "Q: A recipe for 4 people needs 300 g of flour. How much for 10 people? Think ste", | ||||
| 365 | + "n_prompt": 27, | ||||
| 366 | + "n_gen": 63, | ||||
| 367 | + "seconds": 0.18630754109472036, | ||||
| 368 | + "text": " The amount of flour needed for 4 people is 300 g, so for 10 people, we need to calculate how many times 4 is in 10: 10 " | ||||
| 369 | + }, | ||||
| 370 | + { | ||||
| 371 | + "name": "reasoning_fit_8", | ||||
| 372 | + "family": "reasoning", | ||||
| 373 | + "split": "fit", | ||||
| 374 | + "prompt": "Q: A clock shows 3:15. What is the angle between the hour and minute hands? Thin", | ||||
| 375 | + "n_prompt": 28, | ||||
| 376 | + "n_gen": 56, | ||||
| 377 | + "seconds": 0.17154558305628598, | ||||
| 378 | + "text": " The minute hand has moved 1/12 of the way from 3 to 4 because there are 12 hours on a clock. The angle between the hour" | ||||
| 379 | + }, | ||||
| 380 | + { | ||||
| 381 | + "name": "reasoning_fit_9", | ||||
| 382 | + "family": "reasoning", | ||||
| 383 | + "split": "fit", | ||||
| 384 | + "prompt": "Q: If 5 machines make 5 widgets in 5 minutes, how long do 100 machines take to m", | ||||
| 385 | + "n_prompt": 33, | ||||
| 386 | + "n_gen": 62, | ||||
| 387 | + "seconds": 0.18710525007918477, | ||||
| 388 | + "text": " If 5 machines make 5 widgets in 5 minutes, then each machine makes 1 widget in 5 minutes. If there are 100 machines, th" | ||||
| 389 | + }, | ||||
| 390 | + { | ||||
| 391 | + "name": "reasoning_heldout_0", | ||||
| 392 | + "family": "reasoning", | ||||
| 393 | + "split": "heldout", | ||||
| 394 | + "prompt": "Q: A tank fills in 6 hours with pipe A and 9 hours with pipe B. How long with bo", | ||||
| 395 | + "n_prompt": 32, | ||||
| 396 | + "n_gen": 150, | ||||
| 397 | + "seconds": 0.42938487499486655, | ||||
| 398 | + "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" | ||||
| 399 | + }, | ||||
| 400 | + { | ||||
| 401 | + "name": "reasoning_heldout_1", | ||||
| 402 | + "family": "reasoning", | ||||
| 403 | + "split": "heldout", | ||||
| 404 | + "prompt": "Q: What is the smallest positive integer divisible by 2, 3, 4, 5 and 6? Think st", | ||||
| 405 | + "n_prompt": 29, | ||||
| 406 | + "n_gen": 103, | ||||
| 407 | + "seconds": 0.30200008302927017, | ||||
| 408 | + "text": " The least common multiple (LCM) of 2, 3, 4, 5, and 6 is the smallest positive integer that is divisible by all of these" | ||||
| 409 | + }, | ||||
| 410 | + { | ||||
| 411 | + "name": "reasoning_heldout_2", | ||||
| 412 | + "family": "reasoning", | ||||
| 413 | + "split": "heldout", | ||||
| 414 | + "prompt": "Q: A shirt costs 40 dollars after a 20 percent discount. What was the original p", | ||||
| 415 | + "n_prompt": 27, | ||||
| 416 | + "n_gen": 70, | ||||
| 417 | + "seconds": 0.20663741591852158, | ||||
| 418 | + "text": " Let x be the original price of the shirt. After a 20% discount, the price is x - (20 / 100) * x = 0.8x. We know that 0." | ||||
| 419 | + }, | ||||
| 420 | + { | ||||
| 421 | + "name": "reasoning_heldout_3", | ||||
| 422 | + "family": "reasoning", | ||||
| 423 | + "split": "heldout", | ||||
| 424 | + "prompt": "Q: Two dice are rolled. What is the probability that the sum is 7? Think step by", | ||||
| 425 | + "n_prompt": 25, | ||||
| 426 | + "n_gen": 87, | ||||
| 427 | + "seconds": 0.2548181250458583, | ||||
| 428 | + "text": " There are 6 * 6 = 36 possible outcomes when rolling two dice. The sum of 7 can be achieved by several combinations of d" | ||||
| 429 | + }, | ||||
| 430 | + { | ||||
| 431 | + "name": "multilingual_fit_0", | ||||
| 432 | + "family": "multilingual", | ||||
| 433 | + "split": "fit", | ||||
| 434 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent seulement une fraction de leurs param\u00e8t", | ||||
| 435 | + "n_prompt": 26, | ||||
| 436 | + "n_gen": 45, | ||||
| 437 | + "seconds": 0.13864541705697775, | ||||
| 438 | + "text": " les autres sont consid\u00e9r\u00e9s comme des \"non-inform\u00e9s\".\n\nTranslate to English.\nTranslation: Hybrid expert models only acti" | ||||
| 439 | + }, | ||||
| 440 | + { | ||||
| 441 | + "name": "multilingual_fit_1", | ||||
| 442 | + "family": "multilingual", | ||||
| 443 | + "split": "fit", | ||||
| 444 | + "prompt": "Explique en fran\u00e7ais pourquoi la m\u00e9moire unifi\u00e9e des puces Apple est utile pour ", | ||||
| 445 | + "n_prompt": 39, | ||||
| 446 | + "n_gen": 327, | ||||
| 447 | + "seconds": 0.9169528750935569, | ||||
| 448 | + "text": "\n\nLes puces Apple utilisent une m\u00e9moire unifi\u00e9e, ce qui signifie qu'elles ont une seule m\u00e9moire externe qui peut stocker" | ||||
| 449 | + }, | ||||
| 450 | + { | ||||
| 451 | + "name": "multilingual_fit_2", | ||||
| 452 | + "family": "multilingual", | ||||
| 453 | + "split": "fit", | ||||
| 454 | + "prompt": "R\u00e9dige un court paragraphe sur l'histoire de la ville de Qu\u00e9bec.", | ||||
| 455 | + "n_prompt": 21, | ||||
| 456 | + "n_gen": 384, | ||||
| 457 | + "seconds": 1.0654266669880599, | ||||
| 458 | + "text": "\n\nDans les ann\u00e9es 1950, l'architecture qu\u00e9b\u00e9coise \u00e9tait domin\u00e9e par l'esth\u00e9tique traditionnelle, avec des b\u00e2timents en b" | ||||
| 459 | + }, | ||||
| 460 | + { | ||||
| 461 | + "name": "multilingual_fit_3", | ||||
| 462 | + "family": "multilingual", | ||||
| 463 | + "split": "fit", | ||||
| 464 | + "prompt": "Quels sont les avantages du transport en commun dans une ville de taille moyenne", | ||||
| 465 | + "n_prompt": 28, | ||||
| 466 | + "n_gen": 236, | ||||
| 467 | + "seconds": 0.6601781670469791, | ||||
| 468 | + "text": "\n\nLes avantages du transport en commun dans une ville de taille moyenne incluent :\n\n1. R\u00e9duction des \u00e9missions de gaz \u00e0 " | ||||
| 469 | + }, | ||||
| 470 | + { | ||||
| 471 | + "name": "multilingual_fit_4", | ||||
| 472 | + "family": "multilingual", | ||||
| 473 | + "split": "fit", | ||||
| 474 | + "prompt": "Erkl\u00e4re in drei S\u00e4tzen, warum Fahrr\u00e4der in St\u00e4dten n\u00fctzlich sind.", | ||||
| 475 | + "n_prompt": 29, | ||||
| 476 | + "n_gen": 384, | ||||
| 477 | + "seconds": 1.0639994579833, | ||||
| 478 | + "text": "\n\nFahrr\u00e4der sind in St\u00e4dten n\u00fctzlich, weil sie die Mobilit\u00e4t erheblich verbessern, die Energieeinsparung erm\u00f6glichen und" | ||||
| 479 | + }, | ||||
| 480 | + { | ||||
| 481 | + "name": "multilingual_fit_5", | ||||
| 482 | + "family": "multilingual", | ||||
| 483 | + "split": "fit", | ||||
| 484 | + "prompt": "Describe en espa\u00f1ol c\u00f3mo se prepara un buen caf\u00e9 con una cafetera italiana.", | ||||
| 485 | + "n_prompt": 24, | ||||
| 486 | + "n_gen": 249, | ||||
| 487 | + "seconds": 0.6920398330548778, | ||||
| 488 | + "text": "\n\nUna cafetera italiana es un dispositivo simple pero eficiente para preparar caf\u00e9. Primero, se calienta el recipiente c" | ||||
| 489 | + }, | ||||
| 490 | + { | ||||
| 491 | + "name": "multilingual_fit_6", | ||||
| 492 | + "family": "multilingual", | ||||
| 493 | + "split": "fit", | ||||
| 494 | + "prompt": "Explique en fran\u00e7ais la diff\u00e9rence entre un pr\u00eat hypoth\u00e9caire \u00e0 taux fixe et \u00e0 t", | ||||
| 495 | + "n_prompt": 29, | ||||
| 496 | + "n_gen": 384, | ||||
| 497 | + "seconds": 1.0617762500187382, | ||||
| 498 | + "text": "\n\n**Pr\u00eat hypoth\u00e9caire \u00e0 taux fixe:**\nUn pr\u00eat hypoth\u00e9caire \u00e0 taux fixe signifie que le taux d'int\u00e9r\u00eat est constant pendan" | ||||
| 499 | + }, | ||||
| 500 | + { | ||||
| 501 | + "name": "multilingual_fit_7", | ||||
| 502 | + "family": "multilingual", | ||||
| 503 | + "split": "fit", | ||||
| 504 | + "prompt": "Scrivi un breve paragrafo sulla cucina tradizionale della Toscana.", | ||||
| 505 | + "n_prompt": 21, | ||||
| 506 | + "n_gen": 244, | ||||
| 507 | + "seconds": 0.6741328750504181, | ||||
| 508 | + "text": "\n\nThe Tuscan cuisine is characterized by its simplicity and the use of fresh, high-quality ingredients. Some of the most" | ||||
| 509 | + }, | ||||
| 510 | + { | ||||
| 511 | + "name": "multilingual_heldout_0", | ||||
| 512 | + "family": "multilingual", | ||||
| 513 | + "split": "heldout", | ||||
| 514 | + "prompt": "D\u00e9cris en quelques phrases le fonctionnement d'un cache LRU.", | ||||
| 515 | + "n_prompt": 16, | ||||
| 516 | + "n_gen": 24, | ||||
| 517 | + "seconds": 0.07363499992061406, | ||||
| 518 | + "text": "\n\nTranslate to English.\nTranslation: Describe in a few sentences how a LRU cache works.|||IP_ADDRESS|||" | ||||
| 519 | + }, | ||||
| 520 | + { | ||||
| 521 | + "name": "multilingual_heldout_1", | ||||
| 522 | + "family": "multilingual", | ||||
| 523 | + "split": "heldout", | ||||
| 524 | + "prompt": "\u00bfCu\u00e1les son las principales causas del cambio clim\u00e1tico? Responde brevemente en ", | ||||
| 525 | + "n_prompt": 28, | ||||
| 526 | + "n_gen": 56, | ||||
| 527 | + "seconds": 0.16646854195278138, | ||||
| 528 | + "text": "\n\nLos principales factores incluyen la emisi\u00f3n de gases de efecto invernadero, la deforestaci\u00f3n, la contaminaci\u00f3n por me" | ||||
| 529 | + }, | ||||
| 530 | + { | ||||
| 531 | + "name": "multilingual_heldout_2", | ||||
| 532 | + "family": "multilingual", | ||||
| 533 | + "split": "heldout", | ||||
| 534 | + "prompt": "Beschreibe kurz, wie ein Mietvertrag in Deutschland funktioniert.", | ||||
| 535 | + "n_prompt": 22, | ||||
| 536 | + "n_gen": 384, | ||||
| 537 | + "seconds": 1.070310291950591, | ||||
| 538 | + "text": "\n\nIn Deutschland gibt es mehrere Mietvertragsmodelle. Ein typisches Mietvertragsmodell besteht aus folgenden Punkten:\n\n1" | ||||
| 539 | + }, | ||||
| 540 | + { | ||||
| 541 | + "name": "longctx_fit_0", | ||||
| 542 | + "family": "longctx", | ||||
| 543 | + "split": "fit", | ||||
| 544 | + "prompt": "You are an assistant helping an economics professor. Context: the course covers ", | ||||
| 545 | + "n_prompt": 126, | ||||
| 546 | + "n_gen": 384, | ||||
| 547 | + "seconds": 1.150788791012019, | ||||
| 548 | + "text": "\n\nHere are the detailed instructions for the lab:\n\n**Objective:**\nStudents will learn how to estimate a hedonic regressi" | ||||
| 549 | + }, | ||||
| 550 | + { | ||||
| 551 | + "name": "longctx_fit_1", | ||||
| 552 | + "family": "longctx", | ||||
| 553 | + "split": "fit", | ||||
| 554 | + "prompt": "Context: a small laboratory operates a cluster of twenty-nine Apple Silicon comp", | ||||
| 555 | + "n_prompt": 100, | ||||
| 556 | + "n_gen": 384, | ||||
| 557 | + "seconds": 1.0995475410018116, | ||||
| 558 | + "text": "\n\nDaily Tasks:\n1. Check the status of all computers and ensure all systems are running smoothly.\n2. Verify that all comp" | ||||
| 559 | + }, | ||||
| 560 | + { | ||||
| 561 | + "name": "longctx_fit_2", | ||||
| 562 | + "family": "longctx", | ||||
| 563 | + "split": "fit", | ||||
| 564 | + "prompt": "Context: a municipality in Quebec is revising its property assessment roll. Curr", | ||||
| 565 | + "n_prompt": 92, | ||||
| 566 | + "n_gen": 384, | ||||
| 567 | + "seconds": 1.0857783330138773, | ||||
| 568 | + "text": "\n\n--\n\n**Briefing Note**\n\n**To:** City Council\n\n**From:** [Your Name]\n\n**Date:** [Today's Date]\n\n**Subject:** Methodology" | ||||
| 569 | + }, | ||||
| 570 | + { | ||||
| 571 | + "name": "longctx_heldout_0", | ||||
| 572 | + "family": "longctx", | ||||
| 573 | + "split": "heldout", | ||||
| 574 | + "prompt": "Context: a graduate student is designing a benchmark to compare inference runtim", | ||||
| 575 | + "n_prompt": 104, | ||||
| 576 | + "n_gen": 384, | ||||
| 577 | + "seconds": 1.0925364589784294, | ||||
| 578 | + "text": "\n\nExperimental Protocol:\n\n1. **Workload Definition**:\n - **Static Text**: A large corpus of text data, \\(W_s\\), consis" | ||||
| 579 | + }, | ||||
| 580 | + { | ||||
| 581 | + "name": "drift_fit_0", | ||||
| 582 | + "family": "drift", | ||||
| 583 | + "split": "fit", | ||||
| 584 | + "prompt": "First, write a Python function that reverses a linked list.\n\n```python\n", | ||||
| 585 | + "n_prompt": 18, | ||||
| 586 | + "n_gen": 384, | ||||
| 587 | + "seconds": 1.0637037919368595, | ||||
| 588 | + "text": "class Node:\n def __init__(self, data=None):\n self.data = data\n self.next = None\n\nclass LinkedList:\n " | ||||
| 589 | + }, | ||||
| 590 | + { | ||||
| 591 | + "name": "drift_fit_1", | ||||
| 592 | + "family": "drift", | ||||
| 593 | + "split": "fit", | ||||
| 594 | + "prompt": "Explain the rules of ice hockey in two paragraphs, then write a SQL query counti", | ||||
| 595 | + "n_prompt": 29, | ||||
| 596 | + "n_gen": 384, | ||||
| 597 | + "seconds": 1.0741227080579847, | ||||
| 598 | + "text": "\n\nIce hockey is played on an ice rink with two teams, each aiming to score goals by shooting a puck into the opposing te" | ||||
| 599 | + }, | ||||
| 600 | + { | ||||
| 601 | + "name": "drift_fit_2", | ||||
| 602 | + "family": "drift", | ||||
| 603 | + "split": "fit", | ||||
| 604 | + "prompt": "R\u00e9sume en fran\u00e7ais l'intrigue d'un roman policier imaginaire, puis donne la solu", | ||||
| 605 | + "n_prompt": 47, | ||||
| 606 | + "n_gen": 384, | ||||
| 607 | + "seconds": 1.091406665975228, | ||||
| 608 | + "text": "\n\n**R\u00e9sum\u00e9 en anglais:**\n\nThe plot of a whimsical detective novel involves a mysterious disappearance in a small town. T" | ||||
| 609 | + }, | ||||
| 610 | + { | ||||
| 611 | + "name": "drift_heldout_0", | ||||
| 612 | + "family": "drift", | ||||
| 613 | + "split": "heldout", | ||||
| 614 | + "prompt": "Describe a sunset over the Ottawa River in one paragraph, then implement quickso", | ||||
| 615 | + "n_prompt": 25, | ||||
| 616 | + "n_gen": 384, | ||||
| 617 | + "seconds": 1.0839699999196455, | ||||
| 618 | + "text": "def quicksort(arr):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) - 1]\n left = [x for x in arr if" | ||||
| 619 | + }, | ||||
| 620 | + { | ||||
| 621 | + "name": "drift_heldout_1", | ||||
| 622 | + "family": "drift", | ||||
| 623 | + "split": "heldout", | ||||
| 624 | + "prompt": "Q: What is 17 times 23? Think step by step.\nA: Then write a haiku about autumn i", | ||||
| 625 | + "n_prompt": 27, | ||||
| 626 | + "n_gen": 72, | ||||
| 627 | + "seconds": 0.21239216707181185, | ||||
| 628 | + "text": "\nStep 1: Multiply 17 by 23.\n17 * 23 = 391\n\nStep 2: Write a haiku about autumn.\nLeaves fall, one by one.\nQuiet whispers, " | ||||
| 629 | + } | ||||
| 630 | + ] | ||||
| 631 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/greedy_cap16_20261101T013103.json
+14 −0
@@ -0,0 +1,14 @@ | |||||
| 1 | +[ | ||||
| 2 | + { | ||||
| 3 | + "prompt": "The capital of Canada is", | ||||
| 4 | + "ref": "Ottawa.\n\nOttawa is the capital of Canada, and it is located in the province of Ontario. It is situated on the south bank of the Ottawa", | ||||
| 5 | + "titan": "Ottawa.\n\nOttawa is the capital of Canada, and it is located in the province of Ontario. It is situated on the south bank of the Ottawa", | ||||
| 6 | + "equal": true | ||||
| 7 | + }, | ||||
| 8 | + { | ||||
| 9 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 10 | + "ref": " if n <= 0:\n return \"Invalid input\"\n elif n == 1:\n return 0\n elif n == 2:\n", | ||||
| 11 | + "titan": " if n <= 0:\n return \"Invalid input\"\n elif n == 1:\n return 0\n elif n == 2:\n", | ||||
| 12 | + "equal": true | ||||
| 13 | + } | ||||
| 14 | +] | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/greedy_cap16_20261101T013347.json
+14 −0
@@ -0,0 +1,14 @@ | |||||
| 1 | +[ | ||||
| 2 | + { | ||||
| 3 | + "prompt": "The capital of Canada is", | ||||
| 4 | + "ref": "Ottawa.\n\nOttawa is the capital of Canada, and it is located in the province of Ontario. It is situated on the south bank of the Ottawa", | ||||
| 5 | + "titan": "Ottawa.\n\nOttawa is the capital of Canada, and it is located in the province of Ontario. It is situated on the south bank of the Ottawa", | ||||
| 6 | + "equal": true | ||||
| 7 | + }, | ||||
| 8 | + { | ||||
| 9 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 10 | + "ref": " if n <= 0:\n return \"Invalid input\"\n elif n == 1:\n return 0\n elif n == 2:\n", | ||||
| 11 | + "titan": " if n <= 0:\n return \"Invalid input\"\n elif n == 1:\n return 0\n elif n == 2:\n", | ||||
| 12 | + "equal": true | ||||
| 13 | + } | ||||
| 14 | +] | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap16_2026-11-01T013056.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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.2580101180438449, | ||||
| 10 | + "misses": 440, | ||||
| 11 | + "stall_s": 0.1710000493330881, | ||||
| 12 | + "layers_routed": 46 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.42512908777969016, | ||||
| 20 | + "misses": 1002, | ||||
| 21 | + "stall_s": 0.39930295187514275, | ||||
| 22 | + "layers_routed": 127 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.41904344010530936, | ||||
| 30 | + "misses": 1324, | ||||
| 31 | + "stall_s": 0.5233453382970765, | ||||
| 32 | + "layers_routed": 161 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.45278969957081544, | ||||
| 40 | + "misses": 1275, | ||||
| 41 | + "stall_s": 0.5041713331593201, | ||||
| 42 | + "layers_routed": 164 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:30:56", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap16_2026-11-01T013342.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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.2580101180438449, | ||||
| 10 | + "misses": 440, | ||||
| 11 | + "stall_s": 0.08382649859413505, | ||||
| 12 | + "layers_routed": 46 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.42512908777969016, | ||||
| 20 | + "misses": 1002, | ||||
| 21 | + "stall_s": 0.18693941307719797, | ||||
| 22 | + "layers_routed": 127 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.41904344010530936, | ||||
| 30 | + "misses": 1324, | ||||
| 31 | + "stall_s": 0.2490453717764467, | ||||
| 32 | + "layers_routed": 161 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.45278969957081544, | ||||
| 40 | + "misses": 1275, | ||||
| 41 | + "stall_s": 0.23546966060530394, | ||||
| 42 | + "layers_routed": 164 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:33:42", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap32_2026-11-01T013055.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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.0, | ||||
| 10 | + "misses": 430, | ||||
| 11 | + "stall_s": 0.16276496497448534, | ||||
| 12 | + "layers_routed": 16 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.6060606060606061, | ||||
| 20 | + "misses": 429, | ||||
| 21 | + "stall_s": 0.1718995354603976, | ||||
| 22 | + "layers_routed": 40 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.6090458488228006, | ||||
| 30 | + "misses": 631, | ||||
| 31 | + "stall_s": 0.2528055729344487, | ||||
| 32 | + "layers_routed": 58 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.6224188790560472, | ||||
| 40 | + "misses": 512, | ||||
| 41 | + "stall_s": 0.20383387978654355, | ||||
| 42 | + "layers_routed": 49 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:30:55", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap32_2026-11-01T013341.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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.0, | ||||
| 10 | + "misses": 430, | ||||
| 11 | + "stall_s": 0.0817645009374246, | ||||
| 12 | + "layers_routed": 16 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.6060606060606061, | ||||
| 20 | + "misses": 429, | ||||
| 21 | + "stall_s": 0.08066362410318106, | ||||
| 22 | + "layers_routed": 40 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.6090458488228006, | ||||
| 30 | + "misses": 631, | ||||
| 31 | + "stall_s": 0.11843966587912291, | ||||
| 32 | + "layers_routed": 58 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.6224188790560472, | ||||
| 40 | + "misses": 512, | ||||
| 41 | + "stall_s": 0.09647229174152017, | ||||
| 42 | + "layers_routed": 49 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:33:41", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap64_2026-11-01T013054.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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": 430, | ||||
| 11 | + "stall_s": 0.16035849519539624, | ||||
| 12 | + "layers_routed": 16 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.4637904468412943, | ||||
| 20 | + "misses": 348, | ||||
| 21 | + "stall_s": 0.127857944695279, | ||||
| 22 | + "layers_routed": 16 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.823076923076923, | ||||
| 30 | + "misses": 138, | ||||
| 31 | + "stall_s": 0.05094600887969136, | ||||
| 32 | + "layers_routed": 16 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.9234828496042217, | ||||
| 40 | + "misses": 58, | ||||
| 41 | + "stall_s": 0.021786335506476462, | ||||
| 42 | + "layers_routed": 16 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:30:54", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap64_2026-11-01T013341.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 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": 430, | ||||
| 11 | + "stall_s": 0.08228024910204113, | ||||
| 12 | + "layers_routed": 16 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.4637904468412943, | ||||
| 20 | + "misses": 348, | ||||
| 21 | + "stall_s": 0.06578753900248557, | ||||
| 22 | + "layers_routed": 16 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.823076923076923, | ||||
| 30 | + "misses": 138, | ||||
| 31 | + "stall_s": 0.02639120991807431, | ||||
| 32 | + "layers_routed": 16 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.9234828496042217, | ||||
| 40 | + "misses": 58, | ||||
| 41 | + "stall_s": 0.011474333819933236, | ||||
| 42 | + "layers_routed": 16 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:33:41", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap8_2026-11-01T013058.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 1 | +{ | ||||
| 2 | + "capacity": 8, | ||||
| 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.1625, | ||||
| 10 | + "misses": 536, | ||||
| 11 | + "stall_s": 0.20950216962955892, | ||||
| 12 | + "layers_routed": 80 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.4425981873111782, | ||||
| 20 | + "misses": 1476, | ||||
| 21 | + "stall_s": 0.5867260496597737, | ||||
| 22 | + "layers_routed": 331 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.375, | ||||
| 30 | + "misses": 1995, | ||||
| 31 | + "stall_s": 0.7891241156030446, | ||||
| 32 | + "layers_routed": 399 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.3878048780487805, | ||||
| 40 | + "misses": 2008, | ||||
| 41 | + "stall_s": 0.7884030294371769, | ||||
| 42 | + "layers_routed": 410 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:30:58", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
added
benchmarks/raw/tests/numerical_cap8_2026-11-01T013343.json
+48 −0
@@ -0,0 +1,48 @@ | |||||
| 1 | +{ | ||||
| 2 | + "capacity": 8, | ||||
| 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.1625, | ||||
| 10 | + "misses": 536, | ||||
| 11 | + "stall_s": 0.1002240888774395, | ||||
| 12 | + "layers_routed": 80 | ||||
| 13 | + }, | ||||
| 14 | + { | ||||
| 15 | + "prompt": "def fibonacci(n):\n \"\"\"Return the n-th", | ||||
| 16 | + "tokens": 21, | ||||
| 17 | + "max_abs_dlogit": 0.0, | ||||
| 18 | + "argmax_equal": true, | ||||
| 19 | + "hit_rate": 0.4425981873111782, | ||||
| 20 | + "misses": 1476, | ||||
| 21 | + "stall_s": 0.2681740844855085, | ||||
| 22 | + "layers_routed": 331 | ||||
| 23 | + }, | ||||
| 24 | + { | ||||
| 25 | + "prompt": "Q: If a train travels 60 km in 45 minute", | ||||
| 26 | + "tokens": 25, | ||||
| 27 | + "max_abs_dlogit": 0.0, | ||||
| 28 | + "argmax_equal": true, | ||||
| 29 | + "hit_rate": 0.375, | ||||
| 30 | + "misses": 1995, | ||||
| 31 | + "stall_s": 0.35902054177131504, | ||||
| 32 | + "layers_routed": 399 | ||||
| 33 | + }, | ||||
| 34 | + { | ||||
| 35 | + "prompt": "Les mod\u00e8les \u00e0 m\u00e9lange d'experts activent", | ||||
| 36 | + "tokens": 26, | ||||
| 37 | + "max_abs_dlogit": 0.0, | ||||
| 38 | + "argmax_equal": true, | ||||
| 39 | + "hit_rate": 0.3878048780487805, | ||||
| 40 | + "misses": 2008, | ||||
| 41 | + "stall_s": 0.368764610029757, | ||||
| 42 | + "layers_routed": 410 | ||||
| 43 | + } | ||||
| 44 | + ], | ||||
| 45 | + "tol": 0.001, | ||||
| 46 | + "ts": "2026-11-01T01:33:43", | ||||
| 47 | + "max_abs_dlogit_worst": 0.0 | ||||
| 48 | +} | ||||
| \ No newline at end of file | |||||
modified
benchmarks/scripts/bench_decode.py
+9 −3
@@ -61,6 +61,10 @@ def main(): | |||||
| 61 | ap.add_argument("--backend", choices=["titan", "mlx_lm"], default="titan") | 61 | ap.add_argument("--backend", choices=["titan", "mlx_lm"], default="titan") | ||
| 62 | ap.add_argument("--capacity", type=int, default=None) | 62 | ap.add_argument("--capacity", type=int, default=None) | ||
| 63 | ap.add_argument("--policy", default="lru") | 63 | ap.add_argument("--policy", default="lru") | ||
| 64 | + ap.add_argument("--predictor", default="none") | ||||
| 65 | + ap.add_argument("--m", type=int, default=8) | ||||
| 66 | + ap.add_argument("--prefetch-workers", type=int, default=2) | ||||
| 67 | + ap.add_argument("--traces", default=None, help="trace directory used to fit transition/probe predictors (fit split only)") | ||||
| 64 | ap.add_argument("--nocache", action="store_true", help="F_NOCACHE on the checkpoint (SSD reads bypass page cache)") | 68 | ap.add_argument("--nocache", action="store_true", help="F_NOCACHE on the checkpoint (SSD reads bypass page cache)") | ||
| 65 | ap.add_argument("--warm-all", action="store_true", help="preload every expert before timing (all-resident control; implied when capacity == num_experts)") | 69 | ap.add_argument("--warm-all", action="store_true", help="preload every expert before timing (all-resident control; implied when capacity == num_experts)") | ||
| 66 | ap.add_argument("--workloads", default=str(Path(__file__).resolve().parents[1] / "configs" / "workloads.yaml")) | 70 | ap.add_argument("--workloads", default=str(Path(__file__).resolve().parents[1] / "configs" / "workloads.yaml")) | ||
@@ -77,13 +81,15 @@ def main(): | |||||
| 77 | prompts = [(fam, p) for fam in a.families.split(",") for p in wl["families"][fam][a.split]] | 81 | prompts = [(fam, p) for fam in a.families.split(",") for p in wl["families"][fam][a.split]] | ||
| 78 | rng = random.Random(a.seed) | 82 | rng = random.Random(a.seed) | ||
| 79 | if a.backend == "titan": | 83 | if a.backend == "titan": | ||
| 80 | − tm = TitanModel(a.model, capacity=a.capacity, policy=a.policy, nocache=a.nocache) | 84 | + tm = TitanModel(a.model, capacity=a.capacity, policy=a.policy, nocache=a.nocache, predictor=a.predictor, m=a.m, | ||
| 85 | + prefetch_workers=a.prefetch_workers, traces_dir=a.traces) | ||||
| 81 | model, tok = tm.model, tm.tokenizer | 86 | model, tok = tm.model, tm.tokenizer | ||
| 82 | if a.warm_all or tm.capacity >= tm.spec.num_experts: | 87 | if a.warm_all or tm.capacity >= tm.spec.num_experts: | ||
| 83 | tm.warm_all() | 88 | tm.warm_all() | ||
| 84 | else: | 89 | else: | ||
| 85 | model, _ = load_model(Path(a.model)); tok = load_tokenizer(Path(a.model)); tm = None | 90 | model, _ = load_model(Path(a.model)); tok = load_tokenizer(Path(a.model)); tm = None | ||
| 86 | base = {"backend": a.backend, "capacity": a.capacity if a.backend == "titan" else None, "policy": a.policy if a.backend == "titan" else None, | 91 | base = {"backend": a.backend, "capacity": a.capacity if a.backend == "titan" else None, "policy": a.policy if a.backend == "titan" else None, | ||
| 92 | + "predictor": a.predictor if a.backend == "titan" else None, "m": a.m, "prefetch_workers": a.prefetch_workers, | ||||
| 87 | "nocache": a.nocache, "max_tokens": a.max_tokens, "split": a.split, "tag": a.tag, "model": os.path.realpath(a.model), | 93 | "nocache": a.nocache, "max_tokens": a.max_tokens, "split": a.split, "tag": a.tag, "model": os.path.realpath(a.model), | ||
| 88 | "cmd": " ".join(sys.argv), "env": env_record(), "seed": a.seed} | 94 | "cmd": " ".join(sys.argv), "env": env_record(), "seed": a.seed} | ||
| 89 | os.makedirs(os.path.dirname(a.out), exist_ok=True) | 95 | os.makedirs(os.path.dirname(a.out), exist_ok=True) | ||
@@ -101,10 +107,10 @@ def main(): | |||||
| 101 | if tm: | 107 | if tm: | ||
| 102 | cs = tm.cache_stats() | 108 | cs = tm.cache_stats() | ||
| 103 | rec.update(cache_hit_rate=cs["hit_rate"], cache_misses=cs["misses"], cache_hits=cs["hits"], stall_s=cs["stall_time_s"], | 109 | rec.update(cache_hit_rate=cs["hit_rate"], cache_misses=cs["misses"], cache_hits=cs["hits"], stall_s=cs["stall_time_s"], | ||
| 104 | − hits_device=sum(p["hits_device"] for p in cs["layers"]), layers_complete=sum(1 for t in tm.tables if t.complete()), | 110 | + hits_device=sum(p["hits_device"] for p in cs["layers"]), layers_complete=sum(1 for t in tm.tables if t.complete()), prefetch=cs["prefetch"], | ||
| 105 | ssd_bytes=cs["store"]["bytes_read"], ssd_read_s=cs["store"]["read_time_s"]) | 111 | ssd_bytes=cs["store"]["bytes_read"], ssd_read_s=cs["store"]["read_time_s"]) | ||
| 106 | f.write(json.dumps(rec) + "\n"); f.flush() | 112 | f.write(json.dumps(rec) + "\n"); f.flush() | ||
| 107 | − print(f"{a.backend} cap={a.capacity} rep={rep} {fam:12s} ttft={r['ttft_ms']:.0f}ms prefill={r['prompt_tps']:.0f} decode={r['gen_tps']:.1f} tok/s" | 113 | + print(f"{a.backend} cap={a.capacity} {a.predictor} rep={rep} {fam:12s} ttft={r['ttft_ms']:.0f}ms prefill={r['prompt_tps']:.0f} decode={r['gen_tps']:.1f} tok/s" | ||
| 108 | + (f" hit={rec['cache_hit_rate']:.3f} stall={rec['stall_s']:.2f}s" if tm else "")) | 114 | + (f" hit={rec['cache_hit_rate']:.3f} stall={rec['stall_s']:.2f}s" if tm else "")) | ||
| 109 | 115 | ||||
| 110 | 116 | ||||
added
benchmarks/scripts/simulate_cache.py
+146 −0
@@ -0,0 +1,146 @@ | |||||
| 1 | +#!/usr/bin/env python3 | ||||
| 2 | +"""Offline, trace-driven simulation of per-layer slot tables with eviction policies and prefetch predictors. | ||||
| 3 | + | ||||
| 4 | +Exact for hit/miss accounting (the router sequence is the recorded one). Stall time is *modelled* from measured constants: | ||||
| 5 | +t_read (seconds to fetch one expert from the tier) and t_layer (seconds of compute per layer), with a loader pool of `--loaders` | ||||
| 6 | +parallel readers: demand misses at a layer stall for ceil(misses/loaders) * t_read; a prefetch issued h layers ahead hides | ||||
| 7 | +h * t_layer of its latency. Outputs JSON + CSV under --out. | ||||
| 8 | +""" | ||||
| 9 | +import argparse, glob, json, math, os, sys, time | ||||
| 10 | +import numpy as np | ||||
| 11 | +from pathlib import Path | ||||
| 12 | +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) | ||||
| 13 | +from titan.predictors import make as make_predictor | ||||
| 14 | +from titan.slots import EvictionPolicy, LFUPolicy | ||||
| 15 | + | ||||
| 16 | +POLICIES = {"lru": EvictionPolicy, "lfu": LFUPolicy} | ||||
| 17 | + | ||||
| 18 | + | ||||
| 19 | +def load_traces(d): | ||||
| 20 | + idx = json.load(open(os.path.join(d, "index.json"))) | ||||
| 21 | + out = [] | ||||
| 22 | + for p in idx["prompts"]: | ||||
| 23 | + z = np.load(os.path.join(d, p["name"] + ".npz")) | ||||
| 24 | + out.append(dict(p, topk=z["topk"].astype(np.int64), probs=z["probs"], phase=z["phase"])) | ||||
| 25 | + return idx, out | ||||
| 26 | + | ||||
| 27 | + | ||||
| 28 | +class LayerSim: | ||||
| 29 | + def __init__(self, cap, policy, E): | ||||
| 30 | + self.cap = cap; self.pol = POLICIES[policy](); self.res = set(); self.E = E | ||||
| 31 | + self.hits = self.misses = self.pf_loads = self.pf_used = self.demand_loads = self.evict = 0 | ||||
| 32 | + self.pf_pending = {} # expert -> True if prefetched and not yet used | ||||
| 33 | + self.late_pending = 0 | ||||
| 34 | + | ||||
| 35 | + def _insert(self, e, protected): | ||||
| 36 | + if e in self.res: return | ||||
| 37 | + if len(self.res) >= self.cap: | ||||
| 38 | + try: v = self.pol.victim(protected) | ||||
| 39 | + except RuntimeError: return | ||||
| 40 | + self.res.discard(v); self.pol.remove(v); self.evict += 1 | ||||
| 41 | + if self.pf_pending.pop(v, False): pass | ||||
| 42 | + self.res.add(e) | ||||
| 43 | + | ||||
| 44 | + def prefetch(self, experts, protected): | ||||
| 45 | + for e in experts: | ||||
| 46 | + if e in self.res: continue | ||||
| 47 | + if len(self.res) >= self.cap and all(x in protected for x in self.res): break | ||||
| 48 | + self._insert(e, protected); self.pol.touch(e); self.pf_loads += 1; self.pf_pending[e] = True | ||||
| 49 | + | ||||
| 50 | + def access(self, needed): | ||||
| 51 | + miss = 0 | ||||
| 52 | + for e in needed: | ||||
| 53 | + if e in self.res: | ||||
| 54 | + self.hits += 1 | ||||
| 55 | + if self.pf_pending.pop(e, False): self.pf_used += 1 | ||||
| 56 | + else: | ||||
| 57 | + self.misses += 1; miss += 1; self.demand_loads += 1 | ||||
| 58 | + self._insert(e, set(needed)) | ||||
| 59 | + self.pol.touch(e) | ||||
| 60 | + return miss | ||||
| 61 | + | ||||
| 62 | + | ||||
| 63 | +def simulate(traces, L, E, K, cap, policy, pred_name, m, t_read, t_layer, loaders, fit_traces): | ||||
| 64 | + pred = make_predictor(pred_name, L, E) | ||||
| 65 | + depth = getattr(pred, "depth", 1) | ||||
| 66 | + if fit_traces is not None: pred.fit([(t["topk"], t["probs"]) for t in fit_traces]) | ||||
| 67 | + tot = {"tokens": 0, "hits": 0, "misses": 0, "pf_loads": 0, "pf_used": 0, "demand_loads": 0, "stall_s": 0.0, "pred_hits": 0, "pred_total": 0, "evictions": 0} | ||||
| 68 | + per_family = {} | ||||
| 69 | + for tr in traces: | ||||
| 70 | + layers = [LayerSim(cap, policy, E) for _ in range(L)] # cold per prompt | ||||
| 71 | + topk, probs = tr["topk"], tr["probs"] | ||||
| 72 | + prev = None; prev_p = None | ||||
| 73 | + fam = per_family.setdefault(tr["family"], {"tokens": 0, "hits": 0, "misses": 0, "stall_s": 0.0}) | ||||
| 74 | + for t in range(topk.shape[0]): | ||||
| 75 | + cur = {("true", l): topk[t, l] for l in range(L)} # read ONLY by the Oracle upper bound | ||||
| 76 | + stall = 0.0 | ||||
| 77 | + if pred.horizon == "token": | ||||
| 78 | + for l in range(L): | ||||
| 79 | + layers[l].prefetch(pred.predict(l, prev, prev_p, cur, m), set()) | ||||
| 80 | + for l in range(L): | ||||
| 81 | + need = list(topk[t, l]) | ||||
| 82 | + if pred.horizon == "layer" and l > 0: | ||||
| 83 | + pass # already issued at l-1 | ||||
| 84 | + miss = layers[l].access(need) | ||||
| 85 | + if miss: | ||||
| 86 | + # demand misses: a layer-horizon prefetch for this layer was issued `depth` layers earlier and overlapped depth*t_layer; | ||||
| 87 | + # only misses that were *prefetched-but-late* benefit, so we model hidden = depth*t_layer for the late ones, 0 for unpredicted. | ||||
| 88 | + late = min(miss, layers[l].late_pending) | ||||
| 89 | + unpred = miss - late | ||||
| 90 | + stall += (math.ceil(late / loaders) * max(0.0, t_read - depth * t_layer) + math.ceil(unpred / loaders) * t_read) if late + unpred else 0.0 | ||||
| 91 | + layers[l].late_pending = 0 | ||||
| 92 | + cur[l] = topk[t, l]; cur[("probs", l)] = probs[t, l] | ||||
| 93 | + if pred.horizon == "layer" and l + depth < L: | ||||
| 94 | + p = pred.predict(l + depth, prev, prev_p, cur, m) | ||||
| 95 | + if pred_name != "none": | ||||
| 96 | + tot["pred_hits"] += len(set(p[:K]) & set(topk[t, l + depth])); tot["pred_total"] += K | ||||
| 97 | + layers[l + depth].prefetch(p, set()) | ||||
| 98 | + layers[l + depth].late_pending = len(set(p) & set(topk[t, l + depth]) - layers[l + depth].res) | ||||
| 99 | + prev, prev_p = topk[t], probs[t] | ||||
| 100 | + tot["tokens"] += 1; fam["tokens"] += 1; tot["stall_s"] += stall; fam["stall_s"] += stall | ||||
| 101 | + h = sum(x.hits for x in layers); mi = sum(x.misses for x in layers) | ||||
| 102 | + tot["hits"] += sum(x.hits for x in layers); tot["misses"] += sum(x.misses for x in layers) | ||||
| 103 | + tot["pf_loads"] += sum(x.pf_loads for x in layers); tot["pf_used"] += sum(x.pf_used for x in layers) | ||||
| 104 | + tot["demand_loads"] += sum(x.demand_loads for x in layers); tot["evictions"] += sum(x.evict for x in layers) | ||||
| 105 | + fam["hits"] += sum(x.hits for x in layers); fam["misses"] += sum(x.misses for x in layers) | ||||
| 106 | + n = tot["hits"] + tot["misses"] | ||||
| 107 | + res = {"capacity": cap, "policy": policy, "predictor": pred_name, "m": m, "hit_rate": tot["hits"] / n, "misses_per_token": tot["misses"] / tot["tokens"], | ||||
| 108 | + "stall_ms_per_token": 1e3 * tot["stall_s"] / tot["tokens"], "prefetch_loads_per_token": tot["pf_loads"] / tot["tokens"], | ||||
| 109 | + "prefetch_precision": (tot["pf_used"] / tot["pf_loads"]) if tot["pf_loads"] else None, | ||||
| 110 | + "loads_per_token": (tot["pf_loads"] + tot["demand_loads"]) / tot["tokens"], | ||||
| 111 | + "pred_recall_at_k": (tot["pred_hits"] / tot["pred_total"]) if tot["pred_total"] else None, | ||||
| 112 | + "tokens": tot["tokens"], "families": {f: {"hit_rate": v["hits"] / (v["hits"] + v["misses"]), "stall_ms_per_token": 1e3 * v["stall_s"] / v["tokens"]} for f, v in per_family.items()}} | ||||
| 113 | + return res | ||||
| 114 | + | ||||
| 115 | + | ||||
| 116 | +def main(): | ||||
| 117 | + ap = argparse.ArgumentParser() | ||||
| 118 | + ap.add_argument("--traces", required=True) | ||||
| 119 | + ap.add_argument("--capacities", default="8,12,16,24,32,48") | ||||
| 120 | + ap.add_argument("--policies", default="lru,lfu") | ||||
| 121 | + ap.add_argument("--predictors", default="none,prev_rank,transition,transition2,transition3,probe,oracle") | ||||
| 122 | + ap.add_argument("--m", type=int, default=8) | ||||
| 123 | + ap.add_argument("--t-read-ms", type=float, default=0.43, help="measured per-expert fetch latency of the tier (laptop: 0.43 ms cold SSD, 0.27 ms page cache, 28 ms 1 GbE)") | ||||
| 124 | + ap.add_argument("--t-layer-ms", type=float, default=0.128, help="per-layer decode compute (489 tok/s / 16 layers)") | ||||
| 125 | + ap.add_argument("--loaders", type=int, default=1, help="parallel readers (current TITAN implementation: 1)") | ||||
| 126 | + ap.add_argument("--out", required=True) | ||||
| 127 | + a = ap.parse_args() | ||||
| 128 | + idx, traces = load_traces(a.traces) | ||||
| 129 | + L, E, K = idx["L"], idx["E"], idx["K"] | ||||
| 130 | + fit = [t for t in traces if t["split"] == "fit"]; held = [t for t in traces if t["split"] == "heldout"] | ||||
| 131 | + results = [] | ||||
| 132 | + for cap in [int(c) for c in a.capacities.split(",")]: | ||||
| 133 | + for pol in a.policies.split(","): | ||||
| 134 | + for pr in a.predictors.split(","): | ||||
| 135 | + for split, trs in (("fit", fit), ("heldout", held)): | ||||
| 136 | + r = simulate(trs, L, E, K, cap, pol, pr, a.m, a.t_read_ms / 1e3, a.t_layer_ms / 1e3, a.loaders, fit) | ||||
| 137 | + r["split"] = split; results.append(r) | ||||
| 138 | + print(f"cap={cap:2d} {pol} {pr:10s} {split:7s} hit={r['hit_rate']:.3f} miss/tok={r['misses_per_token']:5.1f} stall={r['stall_ms_per_token']:6.2f}ms " | ||||
| 139 | + f"loads/tok={r['loads_per_token']:5.1f} pf_prec={r['prefetch_precision'] if r['prefetch_precision'] is None else round(r['prefetch_precision'],3)} recall@k={r['pred_recall_at_k'] if r['pred_recall_at_k'] is None else round(r['pred_recall_at_k'],3)}") | ||||
| 140 | + os.makedirs(os.path.dirname(a.out), exist_ok=True) | ||||
| 141 | + json.dump({"cmd": " ".join(sys.argv), "ts": time.strftime("%Y-%m-%dT%H:%M:%S"), "traces": a.traces, "L": L, "E": E, "K": K, | ||||
| 142 | + "t_read_ms": a.t_read_ms, "t_layer_ms": a.t_layer_ms, "loaders": a.loaders, "results": results}, open(a.out, "w"), indent=1) | ||||
| 143 | + | ||||
| 144 | + | ||||
| 145 | +if __name__ == "__main__": | ||||
| 146 | + main() | ||||
modified
research/DECISIONS.md
+15 −0
@@ -38,3 +38,18 @@ layer's expert kernels — the unavoidable synchronization of demand loading, sh | |||||
| 38 | ## D-006 · 2026-11-01 · Activation parity | 38 | ## D-006 · 2026-11-01 · Activation parity | ||
| 39 | Decision: use mlx-lm's compiled `swiglu` (silu(gate)·up in one fused kernel). Rationale: an unfused fp16 `up·sigmoid(gate)·gate` | 39 | Decision: use mlx-lm's compiled `swiglu` (silu(gate)·up in one fused kernel). Rationale: an unfused fp16 `up·sigmoid(gate)·gate` | ||
| 40 | gave max |Δlogit| = 0.0195 vs mlx-lm; the fused version gives 0.0 (bit-identical) — see `benchmarks/raw/tests/numerical_*.json`. | 40 | gave max |Δlogit| = 0.0195 vs mlx-lm; the fused version gives 0.0 (bit-identical) — see `benchmarks/raw/tests/numerical_*.json`. | ||
| 41 | + | ||||
| 42 | +## D-007 · 2026-11-01 · Lazy slot installs, batched demand misses | ||||
| 43 | +Decision: `SlotTable.ensure()` reads all missing experts of a layer, installs them as lazy slice assignments and never calls | ||||
| 44 | +`mx.eval` itself; the layer's `gather_qmm` consumes the updated buffers in the same graph. Rationale: the first version evaluated | ||||
| 45 | +the whole table after every miss (one GPU sync per missed expert): at 16 slots decode went from 28/41 tok/s to 51/73 tok/s | ||||
| 46 | +(general/code, held-out) once removed (`benchmarks/raw/gateC/prefetch_online_laptop/smoke*.jsonl`). Per-miss cost on the laptop | ||||
| 47 | +with a page-cached file is now 0.21 ms (`benchmarks/raw/gateC/design/miss_cost_breakdown_laptop.txt`: pread 0.13 + numpy/MLX | ||||
| 48 | +copy 0.06 + install) against 0.43 ms from a cold SSD and ≈ 28 ms over 1 GbE. | ||||
| 49 | + | ||||
| 50 | +## D-008 · 2026-11-01 · Medium model download (17.2 GB) under the standing ≤ 20 GB rule | ||||
| 51 | +Decision: download `mlx-community/Qwen3-30B-A3B-Instruct-2507-4bit` (rev `e9675aa3`, Apache-2.0, 48 layers × 128 experts, top-8) | ||||
| 52 | +on M3U96a (cluster coordinator for Gates E/F), then rsync to worker nodes over the LAN rather than re-downloading. Rationale: | ||||
| 53 | +OLMoE (3.6 GB of experts) fits in every node's RAM, so the memory-budget regimes of H1/H3 need a model whose experts exceed | ||||
| 54 | +the budget of the smaller nodes (36–64 GB) and whose expert count (6 144) gives a realistic routing problem. gpt-oss-120b (62 GB) | ||||
| 55 | +is deferred until explicitly authorized. | ||||
modified
research/LOG.md
+14 −0
@@ -56,3 +56,17 @@ Chronological, append-only. Times are local (America/Toronto). Every entry names | |||||
| 56 | to parse on M4M64a (to rerun). **No Thunderbolt link is active on any Studio** (all `Thunderbolt N` interfaces `status: inactive` | 56 | to parse on M4M64a (to rerun). **No Thunderbolt link is active on any Studio** (all `Thunderbolt N` interfaces `status: inactive` | ||
| 57 | on M3U96a/M3U96b/M4M64a/M2U64/M4M64c/M5M36) → Thunderbolt/JACCL RDMA is **blocked pending physical cabling** (user action); the | 57 | on M3U96a/M3U96b/M4M64a/M2U64/M4M64c/M5M36) → Thunderbolt/JACCL RDMA is **blocked pending physical cabling** (user action); the | ||
| 58 | distributed gates (E/F) will use TCP over 1 GbE, which is the honest topology of this cluster. | 58 | distributed gates (E/F) will use TCP over 1 GbE, which is the honest topology of this cluster. | ||
| 59 | +- Second network probe (`artifacts/private/netprobe2-2026-11-01.txt`, iperf3 installed on M2U64 and M4M64c via Homebrew): | ||||
| 60 | + M3U96a → M4M64a / M2U64 / M4M64c / M3U96b all **0.945–0.947 Gbit/s**; RTT M4M64a→M3U96b 0.87 ms, M4M64a→M2U64 0.69 ms. | ||||
| 61 | +- Offline simulation v1 (`benchmarks/processed/gateC/sim_olmoe_laptop_ssd_v1.json`, 18-prompt traces, per-layer tables, cold per | ||||
| 62 | + prompt, 1 loader, t_read 0.43 ms, t_layer 0.128 ms): LRU hit rate 0.57 (cap 16) / 0.80 (32) / 0.93 (48); LFU ≈ LRU; | ||||
| 63 | + one-layer-ahead transition predictor recall@8 = 0.50 held-out (0.53 fit), raises hit rate to 0.66 / 0.83 / 0.94 at the cost of | ||||
| 64 | + +40–60 % loads per token; the linear probe on previous-layer log-probabilities underperforms (recall 0.16, too little data → v2 | ||||
| 65 | + traces); the oracle upper bound reaches 0.97 (cap 32). `prev_token` is a no-op by construction with per-layer tables (the previous | ||||
| 66 | + token's experts are still resident), and `prev_rank` with m ≤ K prefetched nothing (fixed: ranks K+1..K+m). | ||||
| 67 | +- Online prefetch smoke test at 16 slots (held-out general/code, page-cached file, 2 reader threads, m = 8): transition raised the hit rate | ||||
| 68 | + (0.48→0.63, 0.67→0.73) but **lowered decode throughput** (51→35, 73→56 tok/s) — a one-layer lead (≈ 0.13 ms) cannot hide a 0.21 ms | ||||
| 69 | + fetch, late prefetches are waited for, and wrong predictions add traffic. H1 at this tier/model is therefore *not supported by a | ||||
| 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, | ||||
| 72 | + up to 384 generated tokens each). | ||||
modified
titan/moe.py
+52 −5
@@ -10,6 +10,7 @@ from __future__ import annotations | |||||
| 10 | from typing import Callable, List, Optional | 10 | from typing import Callable, List, Optional | ||
| 11 | 11 | ||||
| 12 | import mlx.core as mx | 12 | import mlx.core as mx | ||
| 13 | +import numpy as np | ||||
| 13 | from mlx_lm.models.activations import swiglu | 14 | from mlx_lm.models.activations import swiglu | ||
| 14 | 15 | ||||
| 15 | from .slots import SlotTable | 16 | from .slots import SlotTable | ||
@@ -19,8 +20,10 @@ class TitanSwitchGLU: | |||||
| 19 | """Callable with the SwitchGLU signature: (x[..., 1, D], indices[..., k]) -> y[..., k, D].""" | 20 | """Callable with the SwitchGLU signature: (x[..., 1, D], indices[..., k]) -> y[..., k, D].""" | ||
| 20 | 21 | ||||
| 21 | def __init__(self, table: SlotTable, group_size: int, bits: int, activation=None, | 22 | def __init__(self, table: SlotTable, group_size: int, bits: int, activation=None, | ||
| 22 | − on_route: Optional[Callable[[int, List[int]], None]] = None): | 23 | + on_route: Optional[Callable[[int, List[int]], None]] = None, prefetcher=None): | ||
| 23 | self.table = table | 24 | self.table = table | ||
| 25 | + self.prefetcher = prefetcher | ||||
| 26 | + self.current_probs = None | ||||
| 24 | self.group_size = group_size | 27 | self.group_size = group_size | ||
| 25 | self.bits = bits | 28 | self.bits = bits | ||
| 26 | self.on_route = on_route # hook(layer, unique_experts) used by predictors/prefetchers (Gate C) | 29 | self.on_route = on_route # hook(layer, unique_experts) used by predictors/prefetchers (Gate C) | ||
@@ -39,10 +42,14 @@ class TitanSwitchGLU: | |||||
| 39 | y = self._qmm(h, "down", slot_idx, False) | 42 | y = self._qmm(h, "down", slot_idx, False) | ||
| 40 | return y.squeeze(-2) | 43 | return y.squeeze(-2) | ||
| 41 | 44 | ||||
| 42 | − def _run(self, x, flat, shape): | 45 | + def _run(self, x, flat, shape, probs_np=None): | ||
| 43 | uniq = list(dict.fromkeys(flat)) | 46 | uniq = list(dict.fromkeys(flat)) | ||
| 44 | if self.on_route is not None: | 47 | if self.on_route is not None: | ||
| 45 | self.on_route(self.table.layer, uniq) | 48 | self.on_route(self.table.layer, uniq) | ||
| 49 | + pf = self.prefetcher | ||||
| 50 | + if pf is not None: | ||||
| 51 | + pf.before_layer(self.table.layer, uniq) # install completed prefetches (wait for late ones we need) | ||||
| 52 | + pf.after_layer(self.table.layer, uniq, probs_np) # issue prefetch for the next layer BEFORE this layer's compute | ||||
| 46 | slot_of = dict(zip(uniq, self.table.ensure(uniq))) | 53 | slot_of = dict(zip(uniq, self.table.ensure(uniq))) | ||
| 47 | slot_idx = mx.array([slot_of[e] for e in flat], dtype=mx.uint32).reshape(shape) | 54 | slot_idx = mx.array([slot_of[e] for e in flat], dtype=mx.uint32).reshape(shape) | ||
| 48 | x = mx.expand_dims(x, (-2, -3)) | 55 | x = mx.expand_dims(x, (-2, -3)) | ||
@@ -61,6 +68,10 @@ class TitanSwitchGLU: | |||||
| 61 | t.hits_device += indices.size | 68 | t.hits_device += indices.size | ||
| 62 | return self._run_device(x, t.slot_map[indices]) | 69 | return self._run_device(x, t.slot_map[indices]) | ||
| 63 | # Materialise the router's choice: this is the unavoidable host sync of any demand-loading design. | 70 | # Materialise the router's choice: this is the unavoidable host sync of any demand-loading design. | ||
| 71 | + probs_np = None | ||||
| 72 | + if self.prefetcher is not None and self.current_probs is not None: | ||||
| 73 | + mx.eval(indices, self.current_probs) | ||||
| 74 | + probs_np = np.array(self.current_probs[-1]) # last row: decode token (prefill rows are not used for prediction) | ||||
| 64 | flat = indices.reshape(-1).tolist() | 75 | flat = indices.reshape(-1).tolist() | ||
| 65 | self.last_indices = flat | 76 | self.last_indices = flat | ||
| 66 | k = indices.shape[-1] | 77 | k = indices.shape[-1] | ||
@@ -78,9 +89,45 @@ class TitanSwitchGLU: | |||||
| 78 | chunks.append(cur) | 89 | chunks.append(cur) | ||
| 79 | self.n_chunks = len(chunks) | 90 | self.n_chunks = len(chunks) | ||
| 80 | if len(chunks) == 1: | 91 | if len(chunks) == 1: | ||
| 81 | − return self._run(x, flat, indices.shape) | 92 | + return self._run(x, flat, indices.shape, probs_np) | ||
| 82 | outs = [] | 93 | outs = [] | ||
| 83 | − for rows in chunks: | 94 | + for ci, rows in enumerate(chunks): | ||
| 84 | f = [flat[r * k + j] for r in rows for j in range(k)] | 95 | f = [flat[r * k + j] for r in rows for j in range(k)] | ||
| 85 | − outs.append(self._run(x2[rows[0]:rows[-1] + 1], f, (len(rows), k))) | 96 | + outs.append(self._run(x2[rows[0]:rows[-1] + 1], f, (len(rows), k), probs_np if ci == len(chunks) - 1 else None)) | ||
| 86 | return mx.concatenate(outs, axis=0).reshape(indices.shape + (x.shape[-1],)) | 97 | return mx.concatenate(outs, axis=0).reshape(indices.shape + (x.shape[-1],)) | ||
| 98 | + | ||||
| 99 | + | ||||
| 100 | +class TitanMoEBlock: | ||||
| 101 | + """Drop-in replacement for the host model's sparse MoE block (OLMoE / Qwen3-MoE routing: softmax over all experts, | ||||
| 102 | + top-k by argpartition, gating weights = softmax probabilities, renormalised iff norm_topk_prob). The router ops are | ||||
| 103 | + exactly mlx-lm's (verified bit-identical in tests/test_numerical.py); the only additions are the prefetcher hooks.""" | ||||
| 104 | + | ||||
| 105 | + def __init__(self, host_mlp, block: "TitanSwitchGLU", model_type: str, prefetcher=None): | ||||
| 106 | + self.gate = host_mlp.gate | ||||
| 107 | + self.top_k = host_mlp.top_k | ||||
| 108 | + self.norm_topk_prob = getattr(host_mlp, "norm_topk_prob", False) | ||||
| 109 | + self.switch_mlp = block | ||||
| 110 | + self.model_type = model_type | ||||
| 111 | + self.prefetcher = prefetcher | ||||
| 112 | + self.layer = block.table.layer | ||||
| 113 | + | ||||
| 114 | + def __call__(self, x: mx.array) -> mx.array: | ||||
| 115 | + B, L, D = x.shape | ||||
| 116 | + x_flat = x.reshape(-1, D) | ||||
| 117 | + k = self.top_k | ||||
| 118 | + if self.model_type == "olmoe": | ||||
| 119 | + router_logits = self.gate(x_flat) | ||||
| 120 | + rw = mx.softmax(router_logits, axis=1, precise=True) | ||||
| 121 | + indices = mx.stop_gradient(mx.argpartition(-rw, kth=k - 1, axis=-1)[..., :k]) | ||||
| 122 | + scores = mx.take_along_axis(rw, indices, axis=-1) | ||||
| 123 | + else: # qwen3_moe | ||||
| 124 | + gates = self.gate(x_flat) | ||||
| 125 | + rw = mx.softmax(gates, axis=-1, precise=True) | ||||
| 126 | + indices = mx.argpartition(rw, kth=-k, axis=-1)[..., -k:] | ||||
| 127 | + scores = mx.take_along_axis(rw, indices, axis=-1) | ||||
| 128 | + if self.norm_topk_prob: | ||||
| 129 | + scores = scores / scores.sum(axis=-1, keepdims=True) | ||||
| 130 | + self.switch_mlp.current_probs = rw if self.prefetcher is not None else None | ||||
| 131 | + y = self.switch_mlp(x_flat, indices) | ||||
| 132 | + y = (y * scores[..., None]).sum(axis=-2) | ||||
| 133 | + return y.reshape(B, L, D) | ||||
added
titan/predictors.py
+126 −0
@@ -0,0 +1,126 @@ | |||||
| 1 | +"""Expert-demand predictors. Every predictor only uses information available at its decision point: | ||||
| 2 | +- `PrevToken`: at the start of token t, the experts used at layer l by token t-1 (all layers known after token t-1). | ||||
| 3 | +- `Transition`: at layer l-1 of token t (its routing just materialised), a transition-count matrix fitted on *fit* traces, | ||||
| 4 | + M_l[e', e] = #(e' chosen at l-1 and e at l) -> score(e) = sum_{e' in R(t,l-1)} M_l[e', e]. | ||||
| 5 | +- `Probe`: a per-layer linear multi-label probe on the layer-(l-1) router probabilities (64 -> 64 logits), fitted on fit traces. | ||||
| 6 | +- `Oracle`: the true R(t,l) (upper bound only; never a method). | ||||
| 7 | +No predictor sees routes of layer >= l at token t, nor any future token. | ||||
| 8 | +""" | ||||
| 9 | +from __future__ import annotations | ||||
| 10 | +import numpy as np | ||||
| 11 | + | ||||
| 12 | + | ||||
| 13 | +class Predictor: | ||||
| 14 | + name = "none" | ||||
| 15 | + horizon = 0 # 0 = no prefetch; "token" = at token start; "layer" = one layer ahead | ||||
| 16 | + | ||||
| 17 | + def fit(self, traces): # traces: list of (topk[T,L,K], probs[T,L,E]) | ||||
| 18 | + return self | ||||
| 19 | + | ||||
| 20 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 21 | + """Return up to m expert ids for layer l. | ||||
| 22 | + prev_topk: [L,K] routes of the previous token (or None); cur_routes: dict l' -> routes for l' < l at the current token; | ||||
| 23 | + prev_probs: [L,E] probs of the previous token.""" | ||||
| 24 | + return [] | ||||
| 25 | + | ||||
| 26 | + | ||||
| 27 | +class PrevToken(Predictor): | ||||
| 28 | + name = "prev_token" | ||||
| 29 | + horizon = "token" | ||||
| 30 | + | ||||
| 31 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 32 | + if prev_topk is None: | ||||
| 33 | + return [] | ||||
| 34 | + return list(prev_topk[l][:m]) | ||||
| 35 | + | ||||
| 36 | + | ||||
| 37 | +class PrevTokenRank(Predictor): | ||||
| 38 | + """At token start: for layer l, the experts ranked m highest by the *previous token's* router probabilities at layer l | ||||
| 39 | + (ranks 1..K are normally already resident, so this effectively prefetches the next-most-likely experts).""" | ||||
| 40 | + name = "prev_rank" | ||||
| 41 | + horizon = "token" | ||||
| 42 | + | ||||
| 43 | + def __init__(self, K=8): | ||||
| 44 | + self.K = K | ||||
| 45 | + | ||||
| 46 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 47 | + if prev_probs is None: | ||||
| 48 | + return [] | ||||
| 49 | + return list(np.argsort(-prev_probs[l].astype(np.float32))[self.K:self.K + m]) # ranks K+1..K+m (top-K are already resident) | ||||
| 50 | + | ||||
| 51 | + | ||||
| 52 | +class Transition(Predictor): | ||||
| 53 | + """Transition counts from layer l-d to layer l (d = lookahead depth); issued when layer l-d's routing is known.""" | ||||
| 54 | + name = "transition" | ||||
| 55 | + horizon = "layer" | ||||
| 56 | + | ||||
| 57 | + def __init__(self, L, E, depth=1): | ||||
| 58 | + self.M = np.zeros((L, E, E), dtype=np.float64) | ||||
| 59 | + self.depth = depth | ||||
| 60 | + self.name = "transition" if depth == 1 else f"transition{depth}" | ||||
| 61 | + | ||||
| 62 | + def fit(self, traces): | ||||
| 63 | + d = self.depth | ||||
| 64 | + for topk, _ in traces: | ||||
| 65 | + for l in range(d, topk.shape[1]): | ||||
| 66 | + for t in range(topk.shape[0]): | ||||
| 67 | + for a in topk[t, l - d]: | ||||
| 68 | + self.M[l, a, topk[t, l]] += 1 | ||||
| 69 | + return self | ||||
| 70 | + | ||||
| 71 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 72 | + d = self.depth | ||||
| 73 | + if l < d or (l - d) not in cur_routes: | ||||
| 74 | + return list(prev_topk[l][:m]) if prev_topk is not None else [] | ||||
| 75 | + s = self.M[l][list(cur_routes[l - d])].sum(0) | ||||
| 76 | + return list(np.argsort(-s)[:m]) | ||||
| 77 | + | ||||
| 78 | + | ||||
| 79 | +class Probe(Predictor): | ||||
| 80 | + name = "probe" | ||||
| 81 | + horizon = "layer" | ||||
| 82 | + | ||||
| 83 | + def __init__(self, L, E, epochs=2000, lr=0.05, l2=1e-5, seed=0): | ||||
| 84 | + self.L, self.E, self.epochs, self.lr, self.l2 = L, E, epochs, lr, l2 | ||||
| 85 | + self.W = np.zeros((L, E + 1, E)); self.mu = np.zeros((L, E)); self.sd = np.ones((L, E)); self.rng = np.random.default_rng(seed) | ||||
| 86 | + | ||||
| 87 | + def fit(self, traces): | ||||
| 88 | + for l in range(1, self.L): | ||||
| 89 | + X = np.concatenate([p[:, l - 1].astype(np.float32) for _, p in traces], 0) | ||||
| 90 | + Y = np.zeros((X.shape[0], self.E), np.float32) | ||||
| 91 | + rows = np.concatenate([np.repeat(np.arange(t.shape[0]), t.shape[2]) for t, _ in traces]); off = 0; cols = [] | ||||
| 92 | + for t, _ in traces: | ||||
| 93 | + cols.append(t[:, l].reshape(-1)); | ||||
| 94 | + cols = np.concatenate(cols) | ||||
| 95 | + Y[rows, cols] = 1.0 | ||||
| 96 | + X = np.log(np.clip(X, 1e-6, None)) # log-probabilities as features (scale-free) | ||||
| 97 | + self.mu[l] = X.mean(0); self.sd[l] = X.std(0) + 1e-6 | ||||
| 98 | + Xb = np.concatenate([(X - self.mu[l]) / self.sd[l], np.ones((X.shape[0], 1), np.float32)], 1) | ||||
| 99 | + W = np.zeros((self.E + 1, self.E)); V = np.zeros_like(W) | ||||
| 100 | + for _ in range(self.epochs): # full-batch logistic regression with momentum (multi-label, independent sigmoids) | ||||
| 101 | + P = 1 / (1 + np.exp(-(Xb @ W))) | ||||
| 102 | + G = Xb.T @ (P - Y) / X.shape[0] + self.l2 * W | ||||
| 103 | + V = 0.9 * V + G; W -= self.lr * V | ||||
| 104 | + self.W[l] = W | ||||
| 105 | + return self | ||||
| 106 | + | ||||
| 107 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 108 | + if l == 0 or (l - 1) not in cur_routes or cur_routes.get(("probs", l - 1)) is None: | ||||
| 109 | + return list(prev_topk[l][:m]) if prev_topk is not None else [] | ||||
| 110 | + x = (np.log(np.clip(cur_routes[("probs", l - 1)].astype(np.float32), 1e-6, None)) - self.mu[l]) / self.sd[l] | ||||
| 111 | + return list(np.argsort(-(np.append(x, 1.0) @ self.W[l]))[:m]) | ||||
| 112 | + | ||||
| 113 | + | ||||
| 114 | +class Oracle(Predictor): | ||||
| 115 | + name = "oracle" | ||||
| 116 | + horizon = "layer" | ||||
| 117 | + | ||||
| 118 | + def predict(self, l, prev_topk, prev_probs, cur_routes, m): | ||||
| 119 | + return list(cur_routes[("true", l)][:m]) | ||||
| 120 | + | ||||
| 121 | + | ||||
| 122 | +def make(name, L, E): | ||||
| 123 | + reg = {"none": Predictor, "prev_token": PrevToken, "prev_rank": PrevTokenRank, "transition": lambda: Transition(L, E), | ||||
| 124 | + "transition2": lambda: Transition(L, E, 2), "transition3": lambda: Transition(L, E, 3), "transition4": lambda: Transition(L, E, 4), | ||||
| 125 | + "probe": lambda: Probe(L, E), "oracle": Oracle} | ||||
| 126 | + return reg[name]() | ||||
added
titan/prefetch.py
+99 −0
@@ -0,0 +1,99 @@ | |||||
| 1 | +"""Asynchronous prefetcher: a small pool of reader threads fetches predicted experts from the ExpertStore (SSD tier) | ||||
| 2 | +while the GPU computes the current layer; completed fetches are installed into the slot table on the main thread when the | ||||
| 3 | +layer is reached (`drain`). Predictors come from titan.predictors and only see information available at decision time. | ||||
| 4 | + | ||||
| 5 | +Accounting per layer: prefetch_issued, prefetch_installed, prefetch_used (installed experts that were subsequently hit), | ||||
| 6 | +prefetch_wasted (installed but evicted before use), prefetch_late (needed before the fetch completed: counted as a demand | ||||
| 7 | +miss whose stall is the *remaining* latency). | ||||
| 8 | +""" | ||||
| 9 | +from __future__ import annotations | ||||
| 10 | + | ||||
| 11 | +import threading, time | ||||
| 12 | +from concurrent.futures import Future, ThreadPoolExecutor | ||||
| 13 | +from typing import Dict, List, Optional | ||||
| 14 | + | ||||
| 15 | +import mlx.core as mx | ||||
| 16 | +import numpy as np | ||||
| 17 | + | ||||
| 18 | +from .slots import SlotTable | ||||
| 19 | +from .store import ExpertStore | ||||
| 20 | + | ||||
| 21 | + | ||||
| 22 | +class Prefetcher: | ||||
| 23 | + def __init__(self, tables: List[SlotTable], store: ExpertStore, predictor, m: int = 8, workers: int = 2): | ||||
| 24 | + self.tables = tables | ||||
| 25 | + self.store = store | ||||
| 26 | + self.pred = predictor | ||||
| 27 | + self.m = m | ||||
| 28 | + self.pool = ThreadPoolExecutor(max_workers=workers, thread_name_prefix="titan-prefetch") | ||||
| 29 | + self.inflight: List[Dict[int, Future]] = [dict() for _ in tables] | ||||
| 30 | + self.lock = threading.Lock() | ||||
| 31 | + self.issued = [0] * len(tables); self.installed = [0] * len(tables); self.late = [0] * len(tables); self.dup = [0] * len(tables) | ||||
| 32 | + self.prev_topk: Optional[np.ndarray] = None | ||||
| 33 | + self.prev_probs: Optional[np.ndarray] = None | ||||
| 34 | + self.cur: Dict = {} | ||||
| 35 | + self.L = len(tables) | ||||
| 36 | + self.K = store.spec.top_k | ||||
| 37 | + | ||||
| 38 | + # ---- reading --------------------------------------------------------------- | ||||
| 39 | + def _fetch(self, layer: int, expert: int): | ||||
| 40 | + t = time.perf_counter() | ||||
| 41 | + tensors = self.store.read_expert(layer, expert) # pread + np -> mx (CPU side, no GPU work) | ||||
| 42 | + return tensors, time.perf_counter() - t | ||||
| 43 | + | ||||
| 44 | + def issue(self, layer: int, experts: List[int]): | ||||
| 45 | + tab = self.tables[layer] | ||||
| 46 | + for e in experts[: self.m]: | ||||
| 47 | + if e in tab.slot_of or e in self.inflight[layer]: | ||||
| 48 | + self.dup[layer] += 1 | ||||
| 49 | + continue | ||||
| 50 | + self.inflight[layer][e] = self.pool.submit(self._fetch, layer, e) | ||||
| 51 | + self.issued[layer] += 1 | ||||
| 52 | + | ||||
| 53 | + def drain(self, layer: int, protected: List[int], wait_for: List[int] = ()): | ||||
| 54 | + """Install completed prefetches for `layer`; optionally wait for the ones in `wait_for` (needed now).""" | ||||
| 55 | + tab = self.tables[layer] | ||||
| 56 | + inf = self.inflight[layer] | ||||
| 57 | + for e in list(inf): | ||||
| 58 | + fut = inf[e] | ||||
| 59 | + if e in wait_for and not fut.done(): | ||||
| 60 | + t = time.perf_counter() | ||||
| 61 | + fut.result() | ||||
| 62 | + tab.stall_time += time.perf_counter() - t # remaining latency of a late prefetch | ||||
| 63 | + self.late[layer] += 1 | ||||
| 64 | + if fut.done(): | ||||
| 65 | + tensors, _ = fut.result() | ||||
| 66 | + del inf[e] | ||||
| 67 | + if tab.insert_prefetched(e, tensors, protected) is not None: | ||||
| 68 | + self.installed[layer] += 1 | ||||
| 69 | + | ||||
| 70 | + # ---- hooks called by the execution block --------------------------------------- | ||||
| 71 | + def before_layer(self, layer: int, needed: List[int]): | ||||
| 72 | + """Called with the materialised routing of `layer` before its experts are ensured.""" | ||||
| 73 | + self.drain(layer, needed, wait_for=[e for e in needed if e in self.inflight[layer]]) | ||||
| 74 | + if hasattr(self.pred, "set_true"): | ||||
| 75 | + pass | ||||
| 76 | + | ||||
| 77 | + def after_layer(self, layer: int, uniq: List[int], probs: Optional[np.ndarray] = None): | ||||
| 78 | + self.cur[layer] = np.array(uniq) | ||||
| 79 | + if probs is not None: | ||||
| 80 | + self.cur[("probs", layer)] = probs | ||||
| 81 | + if self.pred.horizon == "layer" and layer + 1 < self.L: | ||||
| 82 | + self.issue(layer + 1, [int(e) for e in self.pred.predict(layer + 1, self.prev_topk, self.prev_probs, self.cur, self.m)]) | ||||
| 83 | + if layer == self.L - 1: | ||||
| 84 | + self.prev_topk = np.array([self.cur.get(l, np.array([]))[: self.K] if len(self.cur.get(l, [])) >= self.K else np.pad(self.cur.get(l, np.array([])), (0, self.K - len(self.cur.get(l, [])))) for l in range(self.L)]) | ||||
| 85 | + self.prev_probs = np.stack([self.cur[("probs", l)] for l in range(self.L)]) if all(("probs", l) in self.cur for l in range(self.L)) else None | ||||
| 86 | + self.cur = {} | ||||
| 87 | + if self.pred.horizon == "token": | ||||
| 88 | + for l in range(self.L): | ||||
| 89 | + self.issue(l, [int(e) for e in self.pred.predict(l, self.prev_topk, self.prev_probs, {}, self.m)]) | ||||
| 90 | + | ||||
| 91 | + def stats(self) -> dict: | ||||
| 92 | + return {"issued": sum(self.issued), "installed": sum(self.installed), "late": sum(self.late), "dup": sum(self.dup), | ||||
| 93 | + "predictor": self.pred.name, "m": self.m} | ||||
| 94 | + | ||||
| 95 | + def reset_stats(self): | ||||
| 96 | + self.issued = [0] * self.L; self.installed = [0] * self.L; self.late = [0] * self.L; self.dup = [0] * self.L | ||||
| 97 | + | ||||
| 98 | + def close(self): | ||||
| 99 | + self.pool.shutdown(wait=True) | ||||
modified
titan/runtime.py
+34 −3
@@ -12,7 +12,9 @@ import mlx.core as mx | |||||
| 12 | import mlx.nn as nn | 12 | import mlx.nn as nn | ||
| 13 | from mlx_lm.utils import load_model, load_tokenizer | 13 | from mlx_lm.utils import load_model, load_tokenizer | ||
| 14 | 14 | ||||
| 15 | −from .moe import TitanSwitchGLU | 15 | +from .moe import TitanMoEBlock, TitanSwitchGLU | ||
| 16 | +from .prefetch import Prefetcher | ||||
| 17 | +from . import predictors as _pred | ||||
| 16 | from .registry import ModelSpec, load_spec | 18 | from .registry import ModelSpec, load_spec | ||
| 17 | from .slots import EvictionPolicy, LFUPolicy, SlotTable | 19 | from .slots import EvictionPolicy, LFUPolicy, SlotTable | ||
| 18 | from .store import ExpertStore | 20 | from .store import ExpertStore | ||
@@ -22,7 +24,7 @@ POLICIES = {"lru": EvictionPolicy, "lfu": LFUPolicy} | |||||
| 22 | 24 | ||||
| 23 | class TitanModel: | 25 | class TitanModel: | ||
| 24 | def __init__(self, model_dir: str, capacity: Optional[int] = None, policy: str = "lru", nocache: bool = False, | 26 | def __init__(self, model_dir: str, capacity: Optional[int] = None, policy: str = "lru", nocache: bool = False, | ||
| 25 | − on_route=None): | 27 | + on_route=None, predictor: str = "none", m: int = 8, prefetch_workers: int = 2, traces_dir: Optional[str] = None): | ||
| 26 | self.model_dir = os.path.realpath(model_dir) | 28 | self.model_dir = os.path.realpath(model_dir) | ||
| 27 | self.spec: ModelSpec = load_spec(self.model_dir) | 29 | self.spec: ModelSpec = load_spec(self.model_dir) | ||
| 28 | self.store = ExpertStore(self.spec, nocache=nocache) | 30 | self.store = ExpertStore(self.spec, nocache=nocache) | ||
@@ -45,6 +47,17 @@ class TitanModel: | |||||
| 45 | self.tables.append(table) | 47 | self.tables.append(table) | ||
| 46 | self.blocks.append(block) | 48 | self.blocks.append(block) | ||
| 47 | mx.eval(self.model.parameters()) # dense weights only | 49 | mx.eval(self.model.parameters()) # dense weights only | ||
| 50 | + # optional predictive prefetcher: replaces each layer's MoE block with the hooked exact-routing block | ||||
| 51 | + self.prefetcher = None | ||||
| 52 | + self.predictor_name = predictor | ||||
| 53 | + if predictor != "none": | ||||
| 54 | + pred = _pred.make(predictor, self.spec.num_layers, self.spec.num_experts) | ||||
| 55 | + if traces_dir is not None and hasattr(pred, "fit"): | ||||
| 56 | + pred.fit(_load_fit_traces(traces_dir)) | ||||
| 57 | + self.prefetcher = Prefetcher(self.tables, self.store, pred, m=m, workers=prefetch_workers) | ||||
| 58 | + for l, layer in enumerate(self.model.model.layers): | ||||
| 59 | + self.blocks[l].prefetcher = self.prefetcher | ||||
| 60 | + layer.mlp = TitanMoEBlock(layer.mlp, self.blocks[l], self.spec.model_type, self.prefetcher) | ||||
| 48 | 61 | ||||
| 49 | # convenience ----------------------------------------------------------------- | 62 | # convenience ----------------------------------------------------------------- | ||
| 50 | @property | 63 | @property | ||
@@ -63,13 +76,31 @@ class TitanModel: | |||||
| 63 | 76 | ||||
| 64 | def cache_stats(self) -> Dict: | 77 | def cache_stats(self) -> Dict: | ||
| 65 | per = [t.stats() for t in self.tables] | 78 | per = [t.stats() for t in self.tables] | ||
| 79 | + if self.prefetcher is not None: | ||||
| 80 | + per_pf = self.prefetcher.stats() | ||||
| 81 | + else: | ||||
| 82 | + per_pf = None | ||||
| 66 | hits = sum(p["hits"] + p["hits_device"] for p in per) | 83 | hits = sum(p["hits"] + p["hits_device"] for p in per) | ||
| 67 | misses = sum(p["misses"] for p in per) | 84 | misses = sum(p["misses"] for p in per) | ||
| 68 | return {"layers": per, "hits": hits, "misses": misses, | 85 | return {"layers": per, "hits": hits, "misses": misses, | ||
| 69 | "hit_rate": hits / (hits + misses) if hits + misses else None, | 86 | "hit_rate": hits / (hits + misses) if hits + misses else None, | ||
| 70 | − "stall_time_s": sum(p["stall_time_s"] for p in per), "store": self.store.stats()} | 87 | + "stall_time_s": sum(p["stall_time_s"] for p in per), "store": self.store.stats(), "prefetch": per_pf} | ||
| 71 | 88 | ||||
| 72 | def reset_stats(self): | 89 | def reset_stats(self): | ||
| 73 | for t in self.tables: | 90 | for t in self.tables: | ||
| 74 | t.reset_stats() | 91 | t.reset_stats() | ||
| 75 | self.store.reset_stats() | 92 | self.store.reset_stats() | ||
| 93 | + if self.prefetcher is not None: | ||||
| 94 | + self.prefetcher.reset_stats() | ||||
| 95 | + | ||||
| 96 | + | ||||
| 97 | +def _load_fit_traces(traces_dir: str): | ||||
| 98 | + import json, numpy as np | ||||
| 99 | + idx = json.load(open(os.path.join(traces_dir, "index.json"))) | ||||
| 100 | + out = [] | ||||
| 101 | + for p in idx["prompts"]: | ||||
| 102 | + if p["split"] != "fit": | ||||
| 103 | + continue | ||||
| 104 | + z = np.load(os.path.join(traces_dir, p["name"] + ".npz")) | ||||
| 105 | + out.append((z["topk"].astype(np.int64), z["probs"])) | ||||
| 106 | + return out | ||||
modified
titan/slots.py
+15 −13
@@ -105,6 +105,7 @@ class SlotTable: | |||||
| 105 | self.buf[name][slot] = arr | 105 | self.buf[name][slot] = arr | ||
| 106 | self.slot_of[expert] = slot | 106 | self.slot_of[expert] = slot | ||
| 107 | self.expert_in[slot] = expert | 107 | self.expert_in[slot] = expert | ||
| 108 | + self.policy.touch(expert) # newly installed experts are MRU (prefetched ones included), so they are always evictable | ||||
| 108 | self.loads += 1 | 109 | self.loads += 1 | ||
| 109 | self._complete = False | 110 | self._complete = False | ||
| 110 | return slot | 111 | return slot | ||
@@ -118,13 +119,12 @@ class SlotTable: | |||||
| 118 | return self._complete | 119 | return self._complete | ||
| 119 | 120 | ||||
| 120 | def load(self, expert: int, protected: Iterable[int] = ()) -> int: | 121 | def load(self, expert: int, protected: Iterable[int] = ()) -> int: | ||
| 121 | − """Synchronously load an expert from the store into a slot (demand miss).""" | 122 | + """Load an expert from the store into a slot (demand miss). The slot write is a lazy slice assignment that the | ||
| 123 | + layer's gather_qmm will consume: no per-expert GPU synchronisation (the stall counted here is the read time).""" | ||||
| 122 | t = time.perf_counter() | 124 | t = time.perf_counter() | ||
| 123 | tensors = self.store.read_expert(self.layer, expert) | 125 | tensors = self.store.read_expert(self.layer, expert) | ||
| 124 | − slot = self._install(expert, tensors, protected) | ||||
| 125 | − mx.eval(*self.buf.values()) | ||||
| 126 | self.stall_time += time.perf_counter() - t | 126 | self.stall_time += time.perf_counter() - t | ||
| 127 | − return slot | 127 | + return self._install(expert, tensors, protected) | ||
| 128 | 128 | ||||
| 129 | def insert_prefetched(self, expert: int, tensors: Dict[str, mx.array], protected: Iterable[int] = ()) -> Optional[int]: | 129 | def insert_prefetched(self, expert: int, tensors: Dict[str, mx.array], protected: Iterable[int] = ()) -> Optional[int]: | ||
| 130 | """Install tensors that were fetched asynchronously (no stall accounted).""" | 130 | """Install tensors that were fetched asynchronously (no stall accounted).""" | ||
@@ -135,18 +135,20 @@ class SlotTable: | |||||
| 135 | return self._install(expert, tensors, protected) | 135 | return self._install(expert, tensors, protected) | ||
| 136 | 136 | ||||
| 137 | def ensure(self, experts: List[int]) -> List[int]: | 137 | def ensure(self, experts: List[int]) -> List[int]: | ||
| 138 | − """Make every expert resident (demand-loading misses) and return their slot indices.""" | 138 | + """Make every expert resident (demand-loading misses, read as a batch) and return their slot indices.""" | ||
| 139 | − slots = [] | ||||
| 140 | needed = set(experts) | 139 | needed = set(experts) | ||
| 140 | + missing = [e for e in experts if e not in self.slot_of] | ||||
| 141 | + self.hits += len(experts) - len(missing) | ||||
| 142 | + self.misses += len(missing) | ||||
| 143 | + if missing: | ||||
| 144 | + t = time.perf_counter() | ||||
| 145 | + tensors = {e: self.store.read_expert(self.layer, e) for e in missing} | ||||
| 146 | + self.stall_time += time.perf_counter() - t | ||||
| 147 | + for e in missing: | ||||
| 148 | + self._install(e, tensors[e], needed) | ||||
| 141 | for e in experts: | 149 | for e in experts: | ||
| 142 | − if e in self.slot_of: | ||||
| 143 | − self.hits += 1 | ||||
| 144 | − else: | ||||
| 145 | − self.misses += 1 | ||||
| 146 | − self.load(e, protected=needed) | ||||
| 147 | self.policy.touch(e) | 150 | self.policy.touch(e) | ||
| 148 | − slots.append(self.slot_of[e]) | 151 | + return [self.slot_of[e] for e in experts] | ||
| 149 | − return slots | ||||
| 150 | 152 | ||||
| 151 | def resident(self) -> List[int]: | 153 | def resident(self) -> List[int]: | ||
| 152 | return list(self.slot_of) | 154 | return list(self.slot_of) | ||
| 153 | 155 | ||||