jcbtc commited on
Commit
04ba81f
·
verified ·
1 Parent(s): 94b2dfe

Release CIRU runtime v3.1.0: qualified reference prefill integration

Browse files
README.md CHANGED
@@ -34,258 +34,40 @@ tags:
34
 
35
  [![Qwen3.8 Flash CIRU Strix IU4](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/resolve/v3.0.0/assets/qwen38-flash-ciru-strix-iu4.jpg)](https://llm.ciru.ai/research)
36
 
37
- # Qwen3.8-Flash-CIRU-STRIX-IU4 · runtime v3.0.0
38
 
39
- **V3 brings faster long-context serving and the qualified QSA conversation-isolation fixes to the Strix-only runner. Model weights are unchanged.** It adds parallel attention-cell selection, indexed decode attention, cached derived history, guarded PLE lookups and wider prefill. The general profile retains maximum MTP depth 6 and batch/microbatch 1024.
40
 
41
- Use the [v3 source archive](runtime/v3.0.0/ciru-runtime-v3.0.0-source.tar.gz) or [matching GitHub tag](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v3.0.0). This package supports optional image input with the projector and `--vision` launcher below, and requires the custom CIRU runtime, the target GGUF and all three `ple/` files. The `mtp/` head enables speculative decoding. Stock llama.cpp and Hugging Face hosted inference do not support this package.
42
 
43
- ## V3 serving comparison
44
 
45
- Measured on one Ryzen AI Max+ 395 / gfx1151 / 128 GB shared-memory NixOS machine, with one model workload at a time. Inputs are identical token IDs, cold prompt cache, 128 generated tokens, one slot and 262,144-token configured capacity. Nonthinking sampler: temperature 0.7, top-p 0.8, top-k 20, min-p 0, presence penalty 1.5, repeat penalty 1, frequency penalty 0 and seed 123. EOS is honored.
46
 
47
- | Input tokens | Profile | Prompt tok/s | Generation tok/s | First streamed piece (s) | Whole request (s) |
48
- | ---: | --- | ---: | ---: | ---: | ---: |
49
- | 4,096 | Previous CIRU | 392.00 | 22.52 | 10.70 | 16.34 |
50
- | 4,096 | CIRU v3 | 455.65 | 24.60 | 9.25 | 14.41 |
51
- | 4,096 | Halo | 381.49 | 35.30 | 11.09 | 14.69 |
52
- | 65,536 | Previous CIRU | 284.49 | 13.33 | 230.46 | 239.99 |
53
- | 65,536 | CIRU v3 | 369.81 | 24.22 | 177.32 | 182.57 |
54
- | 65,536 | Halo | 263.42 | 23.28 | 248.91 | 254.37 |
55
 
56
- **Versus the previous CIRU profile, v3 reduces whole-request time by 11.80% at 4K and 23.93% at 64K.** At 64K, prompt throughput improves 29.99% and generation throughput 81.66%. These are separate metrics; the first-piece times above are the first streamed content-field event.
57
-
58
- MTP 2 is a useful optional setting for the tested lower-acceptance long requests, but it was not promoted as the general default. Across 20 short HumanEval requests, v3 MTP 6 measured 53.24 generation tok/s versus 39.63 with MTP 2. Both passed 20/20 base and extended tests. Keeping MTP 6 avoids that short-coding regression; target verification retains the full vocabulary at either depth.
59
-
60
- | Input tokens | Optional v3 MTP 2 prompt tok/s | Generation tok/s | Whole request (s) |
61
- | ---: | ---: | ---: | ---: |
62
- | 4,096 | 453.09 | 29.39 | 13.62 |
63
- | 65,536 | 373.08 | 24.88 | 180.87 |
64
-
65
- The previous CIRU arm is the locally qualified v2.0.1 runner under its original MTP 6, b2048/u512 profile. The v3 arm uses the same weights and MTP 6, with b1024/u1024. Halo is the unmodified current fork at commit `5f851647fe5ed795dfd6c0a3fba543114879e874`, using its recommended Vulkan backend, Unsloth UD-Q4_K_XL target and published EasiiX Strix Q8 MTP head. Native KV, batch, thread, fitting and cache defaults are retained.
66
-
67
- Halo maximum depths 2, 3, 4, 6 and native adaptive 6 were screened. Depth 3 won its short-context screen at **35.37 tok/s**, versus **31.4** at depth 2, **30.04** at depth 4, **25.91** at depth 6 and **29.31** with adaptive 6. The final comparison above uses depth 3. Halo source and weights were not modified.
68
-
69
- CIRU and Halo have different quantizations and execution profiles: this is a serving-package comparison. Generation throughput, prompt processing and whole-request latency are separate metrics. At 4K, the general MTP 6 profile is close to Halo in total time; the optional MTP 2 setting provides the clearer latency benefit on this fixture. Long-context prompt processing shows the larger gain. The tables retain Halo's generation advantage where present; a CIRU request-time win is not a claim of winning every metric. Three clean v3 loads, two selected Halo loads and one previous-CIRU load are a bounded experiment, not a confidence interval or general ranking.
70
-
71
- The 2.79 GB Unsloth shared Q8 head intentionally omits tensors a supporting loader borrows from the main model. The pinned Halo loader fails for missing `token_embd.weight`; Unsloth's self-contained Q8 head also fails for missing `output_hc_norm.weight`. Both attempts are recorded. The compatible [EasiiX Strix Q8 head](https://huggingface.co/EasiiX/Qwen3.8-Flash-Next-MTP-Strix-Halo-GGUF/tree/6f7900648b1c6b14f067a182c640e47971e9ab35) is used as published.
72
-
73
- [Full report, first-piece latency and memory](benchmarks/v3.0.0/COMPARISON.md) · [Structured results](benchmarks/v3.0.0/comparison.json) · [Raw evidence archive](benchmarks/v3.0.0/strix-v3.0.0-evidence.tar.gz)
74
-
75
- ## Quality and capacity checks
76
-
77
- | Profile | HumanEval base | EvalPlus extended tests | Recall at about 8K and 64K |
78
- | --- | ---: | ---: | --- |
79
- | Previous CIRU | 20/20 | 20/20 | Both keys and exact cached replay |
80
- | CIRU v3 | 20/20 | 20/20 | Both keys and exact cached replay |
81
- | Halo | 20/20 | 20/20 | Both keys and exact cached replay |
82
-
83
- These are canonical HumanEval tasks 0–19, EvalPlus v0.1.10, one first sample per task, no retries and a 4096-token cap; truncations fail. Generated code runs inside a filesystem/network sandbox. This small nonthinking coding and recall panel is a regression check. It does not establish broad model equality, thinking-mode quality, tool reliability or leaderboard standing.
84
-
85
- V3 also completed **261,888 input tokens plus 128 generated tokens** at **257.44 prompt tok/s and 18.00 generation tok/s**, with a **1024.44 s** whole request. This is a CIRU-only serving-capacity check, not a filled-256K Halo comparison or full-context accuracy result.
86
-
87
- The final inference source passes 69 QSA mapping/state/guard cases with flags on and off, 33 actual ROCm operator reference cases and the existing 30 batch allocator tests. A separate short four-prefix diagnostic matches 15,892,480 F32 logits byte-for-byte against the previous runner. Radix selection can change threshold-tie membership and selected-list order; general bitwise equivalence is not claimed.
88
-
89
- ## Additional task benchmarks · 9 September 2026
90
-
91
- The post-release **Ornith difficulty panel** measures complete task execution, including tool work, scoring and harness overhead. All arms ran sequentially on the same Ciru machine using one server slot: previous CIRU v2.0.1 and v3 use MTP6; the unchanged Halo Vulkan arm uses MTP3. These are the same serving profiles described above.
92
-
93
- | Benchmark stage | Previous CIRU | CIRU v3 | Halo MTP3 |
94
- | --- | ---: | ---: | ---: |
95
- | **Complete mixed panel, after readiness** | **29m 17.11s** | **25m 18.32s** | **24m 34.43s** |
96
- | Additional model load | 31.17s | 31.15s | 33.62s |
97
- | Short scored stage | 5m 20.33s | 5m 20.85s | 4m 35.60s |
98
- | Hermes, two rounds combined | 12m 28.01s | 11m 37.57s | 10m 08.12s |
99
- | Shared 63K-token history seeding | 3m 26.33s | 2m 42.80s | 3m 21.00s |
100
- | Long hard stage, history already loaded | 4m 43.92s | 2m 41.90s | 3m 22.96s |
101
- | Total generated tokens | 33,294 | 33,451 | 31,058 |
102
-
103
- V3 takes **13.59% less total time than previous CIRU**, saving 3m 58.79s. Halo finishes 43.89s sooner than v3. Long hard-stage wall time falls **42.98%** against previous CIRU; output lengths differ, so this is a workload result rather than an equal-output decode comparison. Short-stage time is effectively unchanged. Stage rows are components of the full panel; coding health checks and other overhead also contribute.
104
-
105
- The panel includes 22 short academic tasks, six Hermes scenarios repeated twice, eight hard tasks returning to a shared long history, and 10 short / eight long coding health checks. Cases were selected from earlier Ornith disagreements and failures. They do not estimate general dataset accuracy or leaderboard performance.
106
-
107
- | Profile | Short IFEval strict | Short GSM8K | Short HumanEval | Long IFEval strict | Long GSM8K | Long HumanEval |
108
- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
109
- | Previous CIRU | 5/8 | 8/8 | 5/6 | 2/2 | 2/2 | 2/4 |
110
- | CIRU v3 | 5/8 | 8/8 | 5/6 | 2/2 | 2/2 | 2/4 |
111
- | Halo MTP3 | 6/8 | 8/8 | 5/6 | 2/2 | 2/2 | 3/4 |
112
-
113
- | Profile | Hermes native full passes | Native mean points / 100 | Reviewed end states |
114
- | --- | ---: | ---: | ---: |
115
- | Previous CIRU | 7/12 | 80.83 | 11/12 |
116
- | CIRU v3 | 11/12 | 95.83 | 12/12 |
117
- | Halo MTP3 | 11/12 | 95.83 | 12/12 |
118
-
119
- Native scores are retained. Reviewed end states separately account for demonstrated grader artifacts; previous CIRU and Halo each had a memory-case wording mismatch. All three arms passed the short 10-task and long eight-task coding health checks on base and extended tests. Two Hermes repetitions are a bounded comparison, not a reliable failure-rate estimate.
120
-
121
- Short-task generation rates were **38.44 / 39.09 / 43.97 tok/s** for previous CIRU / v3 / Halo. Long hard-stage generation rates were **21.75 / 35.93 / 31.25 tok/s**. Native short tasks use temperature 0, seed 15035, nonthinking, a 32,768-token output allowance, first samples and no answer repair. Hermes uses temperature 0.6, top-p 0.95, top-k 20, thinking enabled and full remaining context. Long history seeding is timed separately. Interrupted or instrumented captures are excluded.
122
-
123
- [Full hard-panel report and case review](benchmarks/v3-followup-20260909/HARD-PANEL.md) · [Measured results JSON](benchmarks/v3-followup-20260909/results.json) · [Wall times CSV](benchmarks/v3-followup-20260909/v3-benchmark-walltimes.csv) · [Interactive research page](https://llm.ciru.ai/research/qwen38-v2/)
124
-
125
- ### Coding throughput and MTP depth
126
-
127
- The separate 20-task HumanEval regression panel quantifies the high-acceptance coding workload. Every profile below passed **20/20 base and 20/20 extended tests**. These are summed API request times, excluding grading overhead.
128
-
129
- | Profile | Generated tokens | Prompt tok/s | Generation tok/s | Sum of request times |
130
- | --- | ---: | ---: | ---: | ---: |
131
- | Previous CIRU MTP6 | 3,179 | 148.53 | 53.33 | 75.49s |
132
- | CIRU v3 MTP6 | 3,179 | 219.51 | 53.24 | 70.67s |
133
- | CIRU v3 MTP2 | 3,212 | 226.25 | 39.63 | 91.57s |
134
- | Halo MTP3 | 3,241 | 176.10 | 49.48 | 79.15s |
135
-
136
- Previous CIRU and v3 MTP6 produced identical token IDs on all 20 tasks. V3 reduces their summed request time by **6.39%**, principally through prefill; decode throughput is effectively unchanged. Different output lengths are retained for MTP2 and Halo. This reinforces retaining MTP6 as the general profile while exposing MTP2 as a workload-specific option.
137
-
138
- ## Historical full and sampled quality results
139
-
140
- These results used the same released model artifacts on earlier runtimes. They are historical results, **not full-suite v3 reruns**; the new v3 checks are shown separately above.
141
-
142
- | Benchmark | Historical score | Scope |
143
- | --- | ---: | --- |
144
- | HumanEval | 160/164 (97.56%) | Full local-custom chat run |
145
- | HumanEval+ | 155/164 (94.51%) | Full 164-task EvalPlus extended tests |
146
- | ARC-Challenge | 1,143/1,172 (97.53%) | Full EvalScope dataset |
147
- | GPQA-Diamond | 46/50 (92.0%) | Sampled subset |
148
- | MMLU-Pro | 61/70 (87.14%) | Five questions per subject |
149
- | GSM8K | 97/100 (97.0%) | Sampled subset |
150
- | IFEval prompt strict | 92/100 (92.0%) | Sampled subset |
151
- | ToolEval Standard | 115/138 points (83.33%) | 69 local-custom cases |
152
- | ToolEval Hard | 23/30 points (76.67%) | 15 local-custom cases |
153
-
154
- ### Recorded EvalScope wall time
155
-
156
- The completed **29 August H96 / MTP1** run used one request at a time and uncapped natural-EOS generation. The table records stage start/end intervals for 1,492 items, excluding setup and earlier failed attempts.
157
-
158
- | Dataset | Items | Wall time |
159
- | --- | ---: | ---: |
160
- | ARC-Challenge | 1,172 | 24m 42s |
161
- | GPQA-Diamond | 50 | 1h 33m 21s |
162
- | MMLU-Pro | 70 | 36m 37s |
163
- | GSM8K | 100 | 20m 19s |
164
- | IFEval | 100 | 22m 50s |
165
- | **Quality suite total** | **1,492** | **3h 17m 50s** |
166
-
167
- Including the separate performance probe, the run took **3h 20m 46s**. This is a different workload from the 25-minute v3 mixed panel. No measured full EvalScope wall time is available for v3. [Timestamp-derived records](benchmarks/v3-followup-20260909/results.json) · [Historical quality methodology](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1/docs/BENCHMARKS.md)
168
 
169
  ## Download, build and run
170
 
171
- The unchanged model files total **135,962,881,135 bytes (126.625 GiB)**, excluding runtime, reports, and the optional 904,004,320-byte (0.842 GiB) vision projector. The target is 73.945 GiB, the PLE payload 48.828 GiB and the Q8 MTP head 3.852 GiB. Allow at least 160 GiB for model storage/verification plus SDK and build space. Use fast NVMe and a Strix Halo machine with 128 GiB unified memory.
172
-
173
- On Ubuntu/Debian, install Git and a Python virtual environment, then download the model and build the source:
174
 
175
  ```bash
176
- sudo apt-get update
177
- sudo apt-get install -y git python3-venv
178
- python3 -m venv .venv-hf
179
- .venv-hf/bin/python -m pip install -U huggingface_hub
180
- . .venv-hf/bin/activate
181
- hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
182
- --revision v3.0.0 --local-dir ./model
183
- (cd model && sha256sum -c checksums.sha256 && sha256sum -c v3.0.0-checksums.sha256)
184
- git clone --branch v3.0.0 --single-branch \
185
- https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4.git ciru-runtime-v3.0.0
186
- cd ciru-runtime-v3.0.0
187
  ./scripts/ciru/setup-linux-amd.sh --install-host-deps
188
- BUILD_DIR="$PWD/build-gfx1151-sdk" MODEL_DIR="$(realpath ../model)" \
189
- ./scripts/ciru/run-server.sh
 
 
 
190
  ```
191
 
192
- The helper installs a private complete ROCm 10.0.0 SDK with gfx1151 libraries. Keep the SDK directory used by the build; the host needs a compatible AMD driver and access to `/dev/kfd` and its render node. New v3 GPU qualification is NixOS/ROCm 10/gfx1151. The prior clean Ubuntu qualification belongs to v2.0.1, so the Ubuntu instructions are retained build guidance, not a new v3 Ubuntu test result. See [platform/build instructions](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.0.0/docs/BUILD_LINUX.md).
193
-
194
- Existing users can keep their model directory and clone/build only the new runtime. The source archive is equivalent to the Git tag including executable modes and symlinks. The optional [tested NixOS binary payload](runtime/v3.0.0/ciru-runtime-v3.0.0-nixos-gfx1151.tar.gz) requires the recorded Nix store and ROCm SDK paths; use the source build for another installation.
195
-
196
- The launcher enables 262,144 context capacity, F16 target KV, Q8 draft KV, the 32,768-row draft shortlist, maximum MTP depth 6, b1024/u1024, eight CPU threads and prefix caching. MTP uses `--parallel 1`; multi-slot MTP is rejected before model load. For target-only parallel serving, set `ENABLE_MTP=0` and follow the [parallel instructions](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.0.0/docs/RUNNING.md#parallel-requests-and-unified-kv-cache).
197
-
198
- Confirm `CIRU MTP shortlist enabled: 32768 / 248320 vocabulary rows; full target verification retained` in the startup log. The shortlist limits draft projection; target verification retains the full vocabulary. `MTP_DEPTH=2` selects the tested option for low-acceptance long requests; the screen does not establish the optimum for every prompt. New v3 optimization switches accept literal `0`. The optional draft attention window remains off and is unqualified when enabled.
199
-
200
- Thinking mode remains the model default: temperature 1.0, top-p 0.95, top-k 20, min-p 0. For the nonthinking mode evaluated here:
201
-
202
- ```bash
203
- curl http://127.0.0.1:8080/v1/chat/completions \
204
- -H "Content-Type: application/json" \
205
- -d '{
206
- "model": "Qwen3.8-Flash-CIRU-STRIX-IU4",
207
- "messages": [{"role": "user", "content": "Write a Python CSV validator with tests."}],
208
- "chat_template_kwargs": {"enable_thinking": false},
209
- "temperature": 0.7, "top_p": 0.8, "top_k": 20,
210
- "min_p": 0, "presence_penalty": 1.5, "cache_prompt": true
211
- }'
212
- ```
213
-
214
- These sampling defaults follow the [Qwen model card](https://huggingface.co/Qwen/Qwen3.8-Flash-Next/blob/f5d08274bafd880402bd16f5e3e6c514136ec06c/README.md#best-practices). Ordinary chat can retain prefix caching; the benchmark's cold requests, fixed seed and output cap are measurement controls.
215
-
216
- ## Enable vision
217
-
218
- Vision files and the new model-folder launcher are published on `main`; the historical `v3.0.0` tag remains unchanged. After following the build instructions above, return to the directory containing `model/` and `ciru-runtime-v3.0.0/`, then download the additional files:
219
-
220
- ```bash
221
- hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
222
- --revision main run-server.sh 'vision/*' --local-dir ./model
223
- (cd model/vision && sha256sum -c SHA256SUMS)
224
- ```
225
-
226
- The launcher stays text-only by default. To accept images, add **`--vision`**:
227
-
228
- ```bash
229
- RUNTIME_DIR="$PWD/ciru-runtime-v3.0.0" \
230
- BUILD_DIR="$PWD/ciru-runtime-v3.0.0/build-gfx1151-sdk" \
231
- bash ./model/run-server.sh --vision
232
- ```
233
-
234
- `ENABLE_VISION=1` is equivalent. The flag loads `vision/mmproj-Qwen3.8-Flash-F16.mmproj`; `MMPROJ=/path/to/projector.mmproj` overrides that path. The `.mmproj` file is a **GGUF-format vision projector**, with a filename extension chosen to keep Hub model-size detection focused on the language model. A missing projector produces a clear startup error. Direct runtime launches can pass `--mmproj ./model/vision/mmproj-Qwen3.8-Flash-F16.mmproj` alongside the normal model and PLE arguments.
235
-
236
- Send an image through the server web UI or the OpenAI-compatible chat endpoint. For a local image:
237
-
238
- ```bash
239
- python3 - <<'PYIMAGE'
240
- import base64, json, urllib.request
241
- from pathlib import Path
242
- image = base64.b64encode(Path("image.png").read_bytes()).decode()
243
- payload = {
244
- "model": "Qwen3.8-Flash-CIRU-STRIX-IU4",
245
- "messages": [{"role": "user", "content": [
246
- {"type": "text", "text": "Describe this image."},
247
- {"type": "image_url", "image_url": {"url": "data:image/png;base64," + image}}
248
- ]}],
249
- "chat_template_kwargs": {"enable_thinking": False},
250
- "max_tokens": 512
251
- }
252
- request = urllib.request.Request(
253
- "http://127.0.0.1:8080/v1/chat/completions",
254
- data=json.dumps(payload).encode(),
255
- headers={"Content-Type": "application/json"}
256
- )
257
- with urllib.request.urlopen(request, timeout=300) as response:
258
- print(json.load(response)["choices"][0]["message"]["content"])
259
- PYIMAGE
260
- ```
261
-
262
- The projector was converted to F16 directly from the pinned original Qwen checkpoint using the CIRU v3 converter. It contains 334 tensors. Vision uses additional memory for the projector, image encoding, and image tokens; the text-only performance figures above do not measure vision. [Projector provenance and validation](vision/README.md).
263
-
264
- ### DeepSeek harness configuration
265
-
266
- When using this model through the DeepSeek harness, start the server with `--vision` and declare image input in the harness model configuration using `input`:
267
-
268
- ```yaml
269
- input:
270
- - text
271
- - image
272
- ```
273
-
274
- Replace the model entry's `inputModalities` field with the `input` list above. This configuration was reported working by an Orca user of the DeepSeek harness; the same declaration is included here for this release's image-capable endpoint. Load the projector with `--vision` as well.
275
-
276
- ### Image resolution budget
277
-
278
- The v3 runtime defaults to a maximum of **4,096 visual tokens per image**. Large images are resized to fit while preserving aspect ratio. Each separately submitted image or crop gets its own budget. To allow 8,192 tokens, append `--image-max-tokens 8192` to the vision launch above. `--image-min-tokens 1024` can also be tried for small-detail grounding. Higher budgets consume more memory and context and take longer to process; upscaling cannot recover missing detail. Any resizing performed by the harness before upload still applies.
279
-
280
- ## What ships in v3
281
-
282
- V3 combines the previously qualified QSA sequence isolation/indexer-copy fixes with the portable retained hybrid work: wider aligned QSA prefill, J32 expert tiling for supported prefill shapes, radix selection, indexed F16 attention, direct guarded PLE lookup, derived-history caching keyed by sequence and packed tiny F32 gathers. The F32 derived cache adds about 192 MiB at 256K. Hybrid external-GPU ownership, peer transfers, expert splitting, scheduler overlap and experimental compact masks are excluded.
283
-
284
- The original READY package, source, evidence and checksum trees are included in the [prior-package archive](benchmarks/v3.0.0/qsa-v2.0.1-prior-package.tar.gz). Its v2.0.1 fixes ship as part of v3; no separate public v2.0.1 tag is claimed. Existing public v2.0 tags and weight identities remain unchanged. [Historical v2.0 results](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v2.0/README.md) remain available; their 42.3 tok/s short greedy probe and broader older quality suites are different workloads and were not rerun as full suites for v3.
285
-
286
- The IU4 model name is retained. The target has 1,223 tensors: 144 Q4_1 routed-expert tensors, 328 Q5_K, 290 Q8_0, 48 Q5_1, 25 BF16 and 388 F32. The standard launcher uses ordinary GGUF types; its Q4_1 matrix path expands packed values into byte lanes for IU8 WMMA. It does not activate the separate native IU4/E3 bank path. The PLE payload preserves exact FP8 E4M3 weights with one BF16 scale.
287
 
288
- [Model file tree](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v3.0.0) · [Weight checksums](checksums.sha256) · [V3 runtime/report checksums](v3.0.0-checksums.sha256) · [Source identity](benchmarks/v3.0.0/git-source.json) · [GitHub release](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/releases/tag/v3.0.0)
289
 
290
  ## Lineage, license and credit
291
 
 
34
 
35
  [![Qwen3.8 Flash CIRU Strix IU4](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/resolve/v3.0.0/assets/qwen38-flash-ciru-strix-iu4.jpg)](https://llm.ciru.ai/research)
36
 
37
+ # Qwen3.8-Flash-CIRU-STRIX-IU4 · runtime v3.1.0
38
 
39
+ The pwilkin Strix Halo reference stack now runs with the existing CIRU Qwen3.8 Flash IU4 weights and CIRUPLE1 files. On our Strix Halo host, five cold 30.8K coding prompts measured approximately **992–1,001 prompt tokens/s**; cold 65K recall measured **948 PP**. These are diagnostic serving observations, not a clean repeated before/after comparison. Model weights are unchanged.
40
 
41
+ [Qualification and measured tradeoffs](benchmarks/v3.1.0/QUALIFICATION.md) · [Run](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.1.0/docs/RUNNING.md) · [Build](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.1.0/docs/BUILD_LINUX.md) · [Model download](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v3.1.0)
42
 
43
+ The text profile uses context 262144, batch/microbatch 8192, F16 target/draft KV, MTP 6, one slot and a 1024 MiB prompt cache. It passed the 15-request serving panel, cache/recall checks and 261888-input+128-output capacity check. The original standalone coding score is 7/8; a uniform prompt-provided-import rescore of the same answers is 8/8. Both scopes and the original failure are retained. Decode gains are workload-dependent; full-context decode remains slow.
44
 
45
+ Optional vision uses the existing projector and disables MTP. The exact relocated package passed UI, OpenAI chat and two image smoke checks. The tested binary requires its recorded NixOS/ROCm10 dependencies. Other hosts should build this matching source. The included external UI matches the engine; keep the complete executable/shared-library set together.
46
 
47
+ The integration retains the CIRUPLE1 pager, adds type-correct Q4_1 expert paths to the reference kernels and repairs MTP pending-state and external-draft parameter handling. Some reference optimizations remain unavailable for incompatible quantization types. The remaining gap to the author's different reference weights is not fully attributed.
 
 
 
 
 
 
 
48
 
49
+ Thanks to [pwilkin](https://pwilkin.github.io/strix-halo/), Qwen, ggml-org, AMD/ROCm and all contributors credited in [provenance](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.1.0/docs/PROVENANCE.md), [upstream README](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.1.0/docs/UPSTREAM-README.md) and [third-party notices](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.1.0/THIRD_PARTY_NOTICES.md). Runtime code retains MIT/component licenses; model artifacts use Qwen Community License 1.0. Previous v3 qualification remains under docs/qualification/v3.0.0 and the v3.0.0 tag.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  ## Download, build and run
52
 
53
+ Use a Strix Halo machine with 128 GB unified memory and fast NVMe. The unchanged text model, PLE and MTP artifacts total 135962881135 bytes (126.625 GiB), excluding the optional 904003840-byte vision projector, runtime and SDK. Allow at least 160 GiB for model storage and verification plus build/SDK space. This package requires the custom CIRU runtime; stock llama.cpp and Hub hosted inference do not support it.
 
 
54
 
55
  ```bash
56
+ hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 --revision v3.1.0 --local-dir ./model
57
+ (cd model && sha256sum -c checksums.sha256 && sha256sum -c v3.1.0-checksums.sha256)
58
+ git clone --branch v3.1.0 --single-branch https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4.git ciru-runtime-v3.1.0
59
+ cd ciru-runtime-v3.1.0
 
 
 
 
 
 
 
60
  ./scripts/ciru/setup-linux-amd.sh --install-host-deps
61
+ # Set ROCM_ROOT to the complete SDK installed by the helper.
62
+ ROCM_ROOT=/absolute/path/to/rocm ./scripts/ciru/build-linux-amd.sh
63
+ MODEL_DIR=../model ./scripts/ciru/run-server.sh
64
+ # Optional image mode; automatically disables MTP:
65
+ MODEL_DIR=../model ./scripts/ciru/run-server.sh --vision
66
  ```
67
 
68
+ Open http://127.0.0.1:8080 or use `/v1/chat/completions`. A source archive is also available under [runtime/v3.1.0](runtime/v3.1.0). The tested binary archive is specific to the recorded NixOS/ROCm10 dependencies; it is not a portable Linux SDK. Source builds for other hosts are not newly GPU-qualified by this release.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
+ [Detailed measurements, scoring caveat and limitations](benchmarks/v3.1.0/QUALIFICATION.md) · [Historical v3 model card](benchmarks/v3.0.0/MODEL-CARD-BEFORE-V3.1.0.md). Historical quality and task benchmark results describe their original runtime, not the new engine.
71
 
72
  ## Lineage, license and credit
73
 
benchmarks/v3.0.0/MODEL-CARD-BEFORE-V3.1.0.md ADDED
@@ -0,0 +1,294 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: qwen-community-1.0
4
+ license_link: LICENSE
5
+ base_model:
6
+ - Qwen/Qwen3.8-Flash-Next
7
+ - Qwen/Qwen3.8-Flash-Next-FP8
8
+ base_model_relation: quantized
9
+ library_name: llama.cpp
10
+ pipeline_tag: image-text-to-text
11
+ inference: false
12
+ tags:
13
+ - qwen
14
+ - qwen3.8
15
+ - qwen3.8-flash-next
16
+ - gguf
17
+ - llama.cpp
18
+ - amd
19
+ - rocm
20
+ - gfx1151
21
+ - ryzen-ai-max-395
22
+ - strix-halo
23
+ - mixture-of-experts
24
+ - iu4
25
+ - mtp
26
+ - speculative-decoding
27
+ - nvme
28
+ - ple
29
+ - long-context
30
+ - local-inference
31
+ - vision
32
+ - image-text-to-text
33
+ ---
34
+
35
+ [![Qwen3.8 Flash CIRU Strix IU4](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/resolve/v3.0.0/assets/qwen38-flash-ciru-strix-iu4.jpg)](https://llm.ciru.ai/research)
36
+
37
+ # Qwen3.8-Flash-CIRU-STRIX-IU4 · runtime v3.0.0
38
+
39
+ **V3 brings faster long-context serving and the qualified QSA conversation-isolation fixes to the Strix-only runner. Model weights are unchanged.** It adds parallel attention-cell selection, indexed decode attention, cached derived history, guarded PLE lookups and wider prefill. The general profile retains maximum MTP depth 6 and batch/microbatch 1024.
40
+
41
+ Use the [v3 source archive](runtime/v3.0.0/ciru-runtime-v3.0.0-source.tar.gz) or [matching GitHub tag](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v3.0.0). This package supports optional image input with the projector and `--vision` launcher below, and requires the custom CIRU runtime, the target GGUF and all three `ple/` files. The `mtp/` head enables speculative decoding. Stock llama.cpp and Hugging Face hosted inference do not support this package.
42
+
43
+ ## V3 serving comparison
44
+
45
+ Measured on one Ryzen AI Max+ 395 / gfx1151 / 128 GB shared-memory NixOS machine, with one model workload at a time. Inputs are identical token IDs, cold prompt cache, 128 generated tokens, one slot and 262,144-token configured capacity. Nonthinking sampler: temperature 0.7, top-p 0.8, top-k 20, min-p 0, presence penalty 1.5, repeat penalty 1, frequency penalty 0 and seed 123. EOS is honored.
46
+
47
+ | Input tokens | Profile | Prompt tok/s | Generation tok/s | First streamed piece (s) | Whole request (s) |
48
+ | ---: | --- | ---: | ---: | ---: | ---: |
49
+ | 4,096 | Previous CIRU | 392.00 | 22.52 | 10.70 | 16.34 |
50
+ | 4,096 | CIRU v3 | 455.65 | 24.60 | 9.25 | 14.41 |
51
+ | 4,096 | Halo | 381.49 | 35.30 | 11.09 | 14.69 |
52
+ | 65,536 | Previous CIRU | 284.49 | 13.33 | 230.46 | 239.99 |
53
+ | 65,536 | CIRU v3 | 369.81 | 24.22 | 177.32 | 182.57 |
54
+ | 65,536 | Halo | 263.42 | 23.28 | 248.91 | 254.37 |
55
+
56
+ **Versus the previous CIRU profile, v3 reduces whole-request time by 11.80% at 4K and 23.93% at 64K.** At 64K, prompt throughput improves 29.99% and generation throughput 81.66%. These are separate metrics; the first-piece times above are the first streamed content-field event.
57
+
58
+ MTP 2 is a useful optional setting for the tested lower-acceptance long requests, but it was not promoted as the general default. Across 20 short HumanEval requests, v3 MTP 6 measured 53.24 generation tok/s versus 39.63 with MTP 2. Both passed 20/20 base and extended tests. Keeping MTP 6 avoids that short-coding regression; target verification retains the full vocabulary at either depth.
59
+
60
+ | Input tokens | Optional v3 MTP 2 prompt tok/s | Generation tok/s | Whole request (s) |
61
+ | ---: | ---: | ---: | ---: |
62
+ | 4,096 | 453.09 | 29.39 | 13.62 |
63
+ | 65,536 | 373.08 | 24.88 | 180.87 |
64
+
65
+ The previous CIRU arm is the locally qualified v2.0.1 runner under its original MTP 6, b2048/u512 profile. The v3 arm uses the same weights and MTP 6, with b1024/u1024. Halo is the unmodified current fork at commit `5f851647fe5ed795dfd6c0a3fba543114879e874`, using its recommended Vulkan backend, Unsloth UD-Q4_K_XL target and published EasiiX Strix Q8 MTP head. Native KV, batch, thread, fitting and cache defaults are retained.
66
+
67
+ Halo maximum depths 2, 3, 4, 6 and native adaptive 6 were screened. Depth 3 won its short-context screen at **35.37 tok/s**, versus **31.4** at depth 2, **30.04** at depth 4, **25.91** at depth 6 and **29.31** with adaptive 6. The final comparison above uses depth 3. Halo source and weights were not modified.
68
+
69
+ CIRU and Halo have different quantizations and execution profiles: this is a serving-package comparison. Generation throughput, prompt processing and whole-request latency are separate metrics. At 4K, the general MTP 6 profile is close to Halo in total time; the optional MTP 2 setting provides the clearer latency benefit on this fixture. Long-context prompt processing shows the larger gain. The tables retain Halo's generation advantage where present; a CIRU request-time win is not a claim of winning every metric. Three clean v3 loads, two selected Halo loads and one previous-CIRU load are a bounded experiment, not a confidence interval or general ranking.
70
+
71
+ The 2.79 GB Unsloth shared Q8 head intentionally omits tensors a supporting loader borrows from the main model. The pinned Halo loader fails for missing `token_embd.weight`; Unsloth's self-contained Q8 head also fails for missing `output_hc_norm.weight`. Both attempts are recorded. The compatible [EasiiX Strix Q8 head](https://huggingface.co/EasiiX/Qwen3.8-Flash-Next-MTP-Strix-Halo-GGUF/tree/6f7900648b1c6b14f067a182c640e47971e9ab35) is used as published.
72
+
73
+ [Full report, first-piece latency and memory](benchmarks/v3.0.0/COMPARISON.md) · [Structured results](benchmarks/v3.0.0/comparison.json) · [Raw evidence archive](benchmarks/v3.0.0/strix-v3.0.0-evidence.tar.gz)
74
+
75
+ ## Quality and capacity checks
76
+
77
+ | Profile | HumanEval base | EvalPlus extended tests | Recall at about 8K and 64K |
78
+ | --- | ---: | ---: | --- |
79
+ | Previous CIRU | 20/20 | 20/20 | Both keys and exact cached replay |
80
+ | CIRU v3 | 20/20 | 20/20 | Both keys and exact cached replay |
81
+ | Halo | 20/20 | 20/20 | Both keys and exact cached replay |
82
+
83
+ These are canonical HumanEval tasks 0–19, EvalPlus v0.1.10, one first sample per task, no retries and a 4096-token cap; truncations fail. Generated code runs inside a filesystem/network sandbox. This small nonthinking coding and recall panel is a regression check. It does not establish broad model equality, thinking-mode quality, tool reliability or leaderboard standing.
84
+
85
+ V3 also completed **261,888 input tokens plus 128 generated tokens** at **257.44 prompt tok/s and 18.00 generation tok/s**, with a **1024.44 s** whole request. This is a CIRU-only serving-capacity check, not a filled-256K Halo comparison or full-context accuracy result.
86
+
87
+ The final inference source passes 69 QSA mapping/state/guard cases with flags on and off, 33 actual ROCm operator reference cases and the existing 30 batch allocator tests. A separate short four-prefix diagnostic matches 15,892,480 F32 logits byte-for-byte against the previous runner. Radix selection can change threshold-tie membership and selected-list order; general bitwise equivalence is not claimed.
88
+
89
+ ## Additional task benchmarks · 9 September 2026
90
+
91
+ The post-release **Ornith difficulty panel** measures complete task execution, including tool work, scoring and harness overhead. All arms ran sequentially on the same Ciru machine using one server slot: previous CIRU v2.0.1 and v3 use MTP6; the unchanged Halo Vulkan arm uses MTP3. These are the same serving profiles described above.
92
+
93
+ | Benchmark stage | Previous CIRU | CIRU v3 | Halo MTP3 |
94
+ | --- | ---: | ---: | ---: |
95
+ | **Complete mixed panel, after readiness** | **29m 17.11s** | **25m 18.32s** | **24m 34.43s** |
96
+ | Additional model load | 31.17s | 31.15s | 33.62s |
97
+ | Short scored stage | 5m 20.33s | 5m 20.85s | 4m 35.60s |
98
+ | Hermes, two rounds combined | 12m 28.01s | 11m 37.57s | 10m 08.12s |
99
+ | Shared 63K-token history seeding | 3m 26.33s | 2m 42.80s | 3m 21.00s |
100
+ | Long hard stage, history already loaded | 4m 43.92s | 2m 41.90s | 3m 22.96s |
101
+ | Total generated tokens | 33,294 | 33,451 | 31,058 |
102
+
103
+ V3 takes **13.59% less total time than previous CIRU**, saving 3m 58.79s. Halo finishes 43.89s sooner than v3. Long hard-stage wall time falls **42.98%** against previous CIRU; output lengths differ, so this is a workload result rather than an equal-output decode comparison. Short-stage time is effectively unchanged. Stage rows are components of the full panel; coding health checks and other overhead also contribute.
104
+
105
+ The panel includes 22 short academic tasks, six Hermes scenarios repeated twice, eight hard tasks returning to a shared long history, and 10 short / eight long coding health checks. Cases were selected from earlier Ornith disagreements and failures. They do not estimate general dataset accuracy or leaderboard performance.
106
+
107
+ | Profile | Short IFEval strict | Short GSM8K | Short HumanEval | Long IFEval strict | Long GSM8K | Long HumanEval |
108
+ | --- | ---: | ---: | ---: | ---: | ---: | ---: |
109
+ | Previous CIRU | 5/8 | 8/8 | 5/6 | 2/2 | 2/2 | 2/4 |
110
+ | CIRU v3 | 5/8 | 8/8 | 5/6 | 2/2 | 2/2 | 2/4 |
111
+ | Halo MTP3 | 6/8 | 8/8 | 5/6 | 2/2 | 2/2 | 3/4 |
112
+
113
+ | Profile | Hermes native full passes | Native mean points / 100 | Reviewed end states |
114
+ | --- | ---: | ---: | ---: |
115
+ | Previous CIRU | 7/12 | 80.83 | 11/12 |
116
+ | CIRU v3 | 11/12 | 95.83 | 12/12 |
117
+ | Halo MTP3 | 11/12 | 95.83 | 12/12 |
118
+
119
+ Native scores are retained. Reviewed end states separately account for demonstrated grader artifacts; previous CIRU and Halo each had a memory-case wording mismatch. All three arms passed the short 10-task and long eight-task coding health checks on base and extended tests. Two Hermes repetitions are a bounded comparison, not a reliable failure-rate estimate.
120
+
121
+ Short-task generation rates were **38.44 / 39.09 / 43.97 tok/s** for previous CIRU / v3 / Halo. Long hard-stage generation rates were **21.75 / 35.93 / 31.25 tok/s**. Native short tasks use temperature 0, seed 15035, nonthinking, a 32,768-token output allowance, first samples and no answer repair. Hermes uses temperature 0.6, top-p 0.95, top-k 20, thinking enabled and full remaining context. Long history seeding is timed separately. Interrupted or instrumented captures are excluded.
122
+
123
+ [Full hard-panel report and case review](benchmarks/v3-followup-20260909/HARD-PANEL.md) · [Measured results JSON](benchmarks/v3-followup-20260909/results.json) · [Wall times CSV](benchmarks/v3-followup-20260909/v3-benchmark-walltimes.csv) · [Interactive research page](https://llm.ciru.ai/research/qwen38-v2/)
124
+
125
+ ### Coding throughput and MTP depth
126
+
127
+ The separate 20-task HumanEval regression panel quantifies the high-acceptance coding workload. Every profile below passed **20/20 base and 20/20 extended tests**. These are summed API request times, excluding grading overhead.
128
+
129
+ | Profile | Generated tokens | Prompt tok/s | Generation tok/s | Sum of request times |
130
+ | --- | ---: | ---: | ---: | ---: |
131
+ | Previous CIRU MTP6 | 3,179 | 148.53 | 53.33 | 75.49s |
132
+ | CIRU v3 MTP6 | 3,179 | 219.51 | 53.24 | 70.67s |
133
+ | CIRU v3 MTP2 | 3,212 | 226.25 | 39.63 | 91.57s |
134
+ | Halo MTP3 | 3,241 | 176.10 | 49.48 | 79.15s |
135
+
136
+ Previous CIRU and v3 MTP6 produced identical token IDs on all 20 tasks. V3 reduces their summed request time by **6.39%**, principally through prefill; decode throughput is effectively unchanged. Different output lengths are retained for MTP2 and Halo. This reinforces retaining MTP6 as the general profile while exposing MTP2 as a workload-specific option.
137
+
138
+ ## Historical full and sampled quality results
139
+
140
+ These results used the same released model artifacts on earlier runtimes. They are historical results, **not full-suite v3 reruns**; the new v3 checks are shown separately above.
141
+
142
+ | Benchmark | Historical score | Scope |
143
+ | --- | ---: | --- |
144
+ | HumanEval | 160/164 (97.56%) | Full local-custom chat run |
145
+ | HumanEval+ | 155/164 (94.51%) | Full 164-task EvalPlus extended tests |
146
+ | ARC-Challenge | 1,143/1,172 (97.53%) | Full EvalScope dataset |
147
+ | GPQA-Diamond | 46/50 (92.0%) | Sampled subset |
148
+ | MMLU-Pro | 61/70 (87.14%) | Five questions per subject |
149
+ | GSM8K | 97/100 (97.0%) | Sampled subset |
150
+ | IFEval prompt strict | 92/100 (92.0%) | Sampled subset |
151
+ | ToolEval Standard | 115/138 points (83.33%) | 69 local-custom cases |
152
+ | ToolEval Hard | 23/30 points (76.67%) | 15 local-custom cases |
153
+
154
+ ### Recorded EvalScope wall time
155
+
156
+ The completed **29 August H96 / MTP1** run used one request at a time and uncapped natural-EOS generation. The table records stage start/end intervals for 1,492 items, excluding setup and earlier failed attempts.
157
+
158
+ | Dataset | Items | Wall time |
159
+ | --- | ---: | ---: |
160
+ | ARC-Challenge | 1,172 | 24m 42s |
161
+ | GPQA-Diamond | 50 | 1h 33m 21s |
162
+ | MMLU-Pro | 70 | 36m 37s |
163
+ | GSM8K | 100 | 20m 19s |
164
+ | IFEval | 100 | 22m 50s |
165
+ | **Quality suite total** | **1,492** | **3h 17m 50s** |
166
+
167
+ Including the separate performance probe, the run took **3h 20m 46s**. This is a different workload from the 25-minute v3 mixed panel. No measured full EvalScope wall time is available for v3. [Timestamp-derived records](benchmarks/v3-followup-20260909/results.json) · [Historical quality methodology](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1/docs/BENCHMARKS.md)
168
+
169
+ ## Download, build and run
170
+
171
+ The unchanged model files total **135,962,881,135 bytes (126.625 GiB)**, excluding runtime, reports, and the optional 904,004,320-byte (0.842 GiB) vision projector. The target is 73.945 GiB, the PLE payload 48.828 GiB and the Q8 MTP head 3.852 GiB. Allow at least 160 GiB for model storage/verification plus SDK and build space. Use fast NVMe and a Strix Halo machine with 128 GiB unified memory.
172
+
173
+ On Ubuntu/Debian, install Git and a Python virtual environment, then download the model and build the source:
174
+
175
+ ```bash
176
+ sudo apt-get update
177
+ sudo apt-get install -y git python3-venv
178
+ python3 -m venv .venv-hf
179
+ .venv-hf/bin/python -m pip install -U huggingface_hub
180
+ . .venv-hf/bin/activate
181
+ hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
182
+ --revision v3.0.0 --local-dir ./model
183
+ (cd model && sha256sum -c checksums.sha256 && sha256sum -c v3.0.0-checksums.sha256)
184
+ git clone --branch v3.0.0 --single-branch \
185
+ https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4.git ciru-runtime-v3.0.0
186
+ cd ciru-runtime-v3.0.0
187
+ ./scripts/ciru/setup-linux-amd.sh --install-host-deps
188
+ BUILD_DIR="$PWD/build-gfx1151-sdk" MODEL_DIR="$(realpath ../model)" \
189
+ ./scripts/ciru/run-server.sh
190
+ ```
191
+
192
+ The helper installs a private complete ROCm 10.0.0 SDK with gfx1151 libraries. Keep the SDK directory used by the build; the host needs a compatible AMD driver and access to `/dev/kfd` and its render node. New v3 GPU qualification is NixOS/ROCm 10/gfx1151. The prior clean Ubuntu qualification belongs to v2.0.1, so the Ubuntu instructions are retained build guidance, not a new v3 Ubuntu test result. See [platform/build instructions](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.0.0/docs/BUILD_LINUX.md).
193
+
194
+ Existing users can keep their model directory and clone/build only the new runtime. The source archive is equivalent to the Git tag including executable modes and symlinks. The optional [tested NixOS binary payload](runtime/v3.0.0/ciru-runtime-v3.0.0-nixos-gfx1151.tar.gz) requires the recorded Nix store and ROCm SDK paths; use the source build for another installation.
195
+
196
+ The launcher enables 262,144 context capacity, F16 target KV, Q8 draft KV, the 32,768-row draft shortlist, maximum MTP depth 6, b1024/u1024, eight CPU threads and prefix caching. MTP uses `--parallel 1`; multi-slot MTP is rejected before model load. For target-only parallel serving, set `ENABLE_MTP=0` and follow the [parallel instructions](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v3.0.0/docs/RUNNING.md#parallel-requests-and-unified-kv-cache).
197
+
198
+ Confirm `CIRU MTP shortlist enabled: 32768 / 248320 vocabulary rows; full target verification retained` in the startup log. The shortlist limits draft projection; target verification retains the full vocabulary. `MTP_DEPTH=2` selects the tested option for low-acceptance long requests; the screen does not establish the optimum for every prompt. New v3 optimization switches accept literal `0`. The optional draft attention window remains off and is unqualified when enabled.
199
+
200
+ Thinking mode remains the model default: temperature 1.0, top-p 0.95, top-k 20, min-p 0. For the nonthinking mode evaluated here:
201
+
202
+ ```bash
203
+ curl http://127.0.0.1:8080/v1/chat/completions \
204
+ -H "Content-Type: application/json" \
205
+ -d '{
206
+ "model": "Qwen3.8-Flash-CIRU-STRIX-IU4",
207
+ "messages": [{"role": "user", "content": "Write a Python CSV validator with tests."}],
208
+ "chat_template_kwargs": {"enable_thinking": false},
209
+ "temperature": 0.7, "top_p": 0.8, "top_k": 20,
210
+ "min_p": 0, "presence_penalty": 1.5, "cache_prompt": true
211
+ }'
212
+ ```
213
+
214
+ These sampling defaults follow the [Qwen model card](https://huggingface.co/Qwen/Qwen3.8-Flash-Next/blob/f5d08274bafd880402bd16f5e3e6c514136ec06c/README.md#best-practices). Ordinary chat can retain prefix caching; the benchmark's cold requests, fixed seed and output cap are measurement controls.
215
+
216
+ ## Enable vision
217
+
218
+ Vision files and the new model-folder launcher are published on `main`; the historical `v3.0.0` tag remains unchanged. After following the build instructions above, return to the directory containing `model/` and `ciru-runtime-v3.0.0/`, then download the additional files:
219
+
220
+ ```bash
221
+ hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
222
+ --revision main run-server.sh 'vision/*' --local-dir ./model
223
+ (cd model/vision && sha256sum -c SHA256SUMS)
224
+ ```
225
+
226
+ The launcher stays text-only by default. To accept images, add **`--vision`**:
227
+
228
+ ```bash
229
+ RUNTIME_DIR="$PWD/ciru-runtime-v3.0.0" \
230
+ BUILD_DIR="$PWD/ciru-runtime-v3.0.0/build-gfx1151-sdk" \
231
+ bash ./model/run-server.sh --vision
232
+ ```
233
+
234
+ `ENABLE_VISION=1` is equivalent. The flag loads `vision/mmproj-Qwen3.8-Flash-F16.mmproj`; `MMPROJ=/path/to/projector.mmproj` overrides that path. The `.mmproj` file is a **GGUF-format vision projector**, with a filename extension chosen to keep Hub model-size detection focused on the language model. A missing projector produces a clear startup error. Direct runtime launches can pass `--mmproj ./model/vision/mmproj-Qwen3.8-Flash-F16.mmproj` alongside the normal model and PLE arguments.
235
+
236
+ Send an image through the server web UI or the OpenAI-compatible chat endpoint. For a local image:
237
+
238
+ ```bash
239
+ python3 - <<'PYIMAGE'
240
+ import base64, json, urllib.request
241
+ from pathlib import Path
242
+ image = base64.b64encode(Path("image.png").read_bytes()).decode()
243
+ payload = {
244
+ "model": "Qwen3.8-Flash-CIRU-STRIX-IU4",
245
+ "messages": [{"role": "user", "content": [
246
+ {"type": "text", "text": "Describe this image."},
247
+ {"type": "image_url", "image_url": {"url": "data:image/png;base64," + image}}
248
+ ]}],
249
+ "chat_template_kwargs": {"enable_thinking": False},
250
+ "max_tokens": 512
251
+ }
252
+ request = urllib.request.Request(
253
+ "http://127.0.0.1:8080/v1/chat/completions",
254
+ data=json.dumps(payload).encode(),
255
+ headers={"Content-Type": "application/json"}
256
+ )
257
+ with urllib.request.urlopen(request, timeout=300) as response:
258
+ print(json.load(response)["choices"][0]["message"]["content"])
259
+ PYIMAGE
260
+ ```
261
+
262
+ The projector was converted to F16 directly from the pinned original Qwen checkpoint using the CIRU v3 converter. It contains 334 tensors. Vision uses additional memory for the projector, image encoding, and image tokens; the text-only performance figures above do not measure vision. [Projector provenance and validation](vision/README.md).
263
+
264
+ ### DeepSeek harness configuration
265
+
266
+ When using this model through the DeepSeek harness, start the server with `--vision` and declare image input in the harness model configuration using `input`:
267
+
268
+ ```yaml
269
+ input:
270
+ - text
271
+ - image
272
+ ```
273
+
274
+ Replace the model entry's `inputModalities` field with the `input` list above. This configuration was reported working by an Orca user of the DeepSeek harness; the same declaration is included here for this release's image-capable endpoint. Load the projector with `--vision` as well.
275
+
276
+ ### Image resolution budget
277
+
278
+ The v3 runtime defaults to a maximum of **4,096 visual tokens per image**. Large images are resized to fit while preserving aspect ratio. Each separately submitted image or crop gets its own budget. To allow 8,192 tokens, append `--image-max-tokens 8192` to the vision launch above. `--image-min-tokens 1024` can also be tried for small-detail grounding. Higher budgets consume more memory and context and take longer to process; upscaling cannot recover missing detail. Any resizing performed by the harness before upload still applies.
279
+
280
+ ## What ships in v3
281
+
282
+ V3 combines the previously qualified QSA sequence isolation/indexer-copy fixes with the portable retained hybrid work: wider aligned QSA prefill, J32 expert tiling for supported prefill shapes, radix selection, indexed F16 attention, direct guarded PLE lookup, derived-history caching keyed by sequence and packed tiny F32 gathers. The F32 derived cache adds about 192 MiB at 256K. Hybrid external-GPU ownership, peer transfers, expert splitting, scheduler overlap and experimental compact masks are excluded.
283
+
284
+ The original READY package, source, evidence and checksum trees are included in the [prior-package archive](benchmarks/v3.0.0/qsa-v2.0.1-prior-package.tar.gz). Its v2.0.1 fixes ship as part of v3; no separate public v2.0.1 tag is claimed. Existing public v2.0 tags and weight identities remain unchanged. [Historical v2.0 results](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v2.0/README.md) remain available; their 42.3 tok/s short greedy probe and broader older quality suites are different workloads and were not rerun as full suites for v3.
285
+
286
+ The IU4 model name is retained. The target has 1,223 tensors: 144 Q4_1 routed-expert tensors, 328 Q5_K, 290 Q8_0, 48 Q5_1, 25 BF16 and 388 F32. The standard launcher uses ordinary GGUF types; its Q4_1 matrix path expands packed values into byte lanes for IU8 WMMA. It does not activate the separate native IU4/E3 bank path. The PLE payload preserves exact FP8 E4M3 weights with one BF16 scale.
287
+
288
+ [Model file tree](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v3.0.0) · [Weight checksums](checksums.sha256) · [V3 runtime/report checksums](v3.0.0-checksums.sha256) · [Source identity](benchmarks/v3.0.0/git-source.json) · [GitHub release](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/releases/tag/v3.0.0)
289
+
290
+ ## Lineage, license and credit
291
+
292
+ Text lineage is [Qwen/Qwen3.8-Flash-Next](https://huggingface.co/Qwen/Qwen3.8-Flash-Next/tree/f5d08274bafd880402bd16f5e3e6c514136ec06c); PLE lineage is [Qwen3.8-Flash-Next-FP8](https://huggingface.co/Qwen/Qwen3.8-Flash-Next-FP8/tree/bcd9f01ddc9cff2316eb84281bebcd5b058bddce). Runtime lineage starts from [ggml-org/llama.cpp](https://github.com/ggml-org/llama.cpp/commit/f5e85d43a048f3d5adefb4c5e29867d8077fba62). Model artifacts use the included Qwen Community License 1.0; runtime code retains MIT and component notices.
293
+
294
+ Credits include Qwen, ggml-org, Ryan Monsurate's MTP integration, AMD's ROCm ecosystem and the contributors in the source notices. Daniel Han's authorship of the imported QSA repair is preserved. Thanks to halo-box, EasiiX, Unsloth, Daniel Han Chen, Laurent Zuijdwijk and Agention AI for public models/runtimes, and the HumanEval and EvalPlus authors for evaluation tools. CIRU is an independent community research project; AMD and Qwen marks do not imply sponsorship.
benchmarks/v3.1.0/BUILD-SPEC.json ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "ciru-reference-release-r2",
3
+ "source_revision": "ciru-reference-release-r2",
4
+ "source_manifest_sha256": "df37c370a2625f612ce863543068d48f170580e2cd85dd3e783381dcb91febb4",
5
+ "prefix": "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2",
6
+ "configure_argv": [
7
+ "cmake",
8
+ "-S",
9
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/source",
10
+ "-B",
11
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build",
12
+ "-G",
13
+ "Ninja",
14
+ "-DGGML_HIP=ON",
15
+ "-DGPU_TARGETS=gfx1151",
16
+ "-DGGML_CUDA=OFF",
17
+ "-DGGML_VULKAN=OFF",
18
+ "-DLLAMA_BUILD_TESTS=ON",
19
+ "-DCMAKE_C_COMPILER=/home/crown/.nix-profile/bin/cc",
20
+ "-DCMAKE_CXX_COMPILER=/home/crown/.nix-profile/bin/c++",
21
+ "-DCMAKE_HIP_COMPILER=/srv/llm/toolchains/therock-gfx1151-10.0.0/bin/amdclang++",
22
+ "-DCMAKE_HIP_FLAGS=--gcc-toolchain=/nix/store/qxaq7jz61a6zkr2mq49i0zvqip2m2jj8-gcc-15.2.0 -idirafter /nix/store/15h9askp4k1lx44d9871wid23j2a8ijp-glibc-2.42-61-dev/include -B/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib -B/nix/store/chqq8mpmpyfi9kgsngya71akv5xicn03-gcc-15.2.0-lib/lib -L/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib -L/nix/store/chqq8mpmpyfi9kgsngya71akv5xicn03-gcc-15.2.0-lib/lib -Wl,-rpath,/srv/llm/toolchains/therock-gfx1151-10.0.0/lib:/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib:/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/lib:/nix/store/chqq8mpmpyfi9kgsngya71akv5xicn03-gcc-15.2.0-lib/lib:/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib -Wl,--dynamic-linker,/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib/ld-linux-x86-64.so.2",
23
+ "-DCMAKE_PREFIX_PATH=/srv/llm/toolchains/therock-gfx1151-10.0.0",
24
+ "-DGGML_HIP_NO_VMM=ON",
25
+ "-DGGML_HIP_GRAPHS=ON",
26
+ "-DGGML_HIP_MMQ_MFMA=ON",
27
+ "-DGGML_NATIVE=ON",
28
+ "-DCMAKE_BUILD_TYPE=Release",
29
+ "-DGGML_HIP_RCCL=OFF",
30
+ "-DGGML_CUDA_FA=ON",
31
+ "-DGGML_CUDA_FA_ALL_QUANTS=OFF",
32
+ "-DCMAKE_INSTALL_PREFIX=/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/install",
33
+ "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
34
+ "-DLLAMA_BUILD_COMMIT=ciru-reference-release-r2",
35
+ "-DLLAMA_BUILD_NUMBER=0",
36
+ "-DLLAMA_BUILD_UI=OFF",
37
+ "-DLLAMA_USE_PREBUILT_UI=OFF",
38
+ "-DLLAMA_OPENSSL=OFF"
39
+ ],
40
+ "stock_runtime_root": "/srv/llm/toolchains/therock-gfx1151-10.0.0",
41
+ "author_custom_runtime_used": false,
42
+ "default_build_jobs": 2,
43
+ "maximum_build_jobs": 4,
44
+ "source_changes": [
45
+ {
46
+ "description": "CIRUPLE1 sidecar bridge",
47
+ "patch": "reference-ciruple1-bridge-r1/bridge.patch",
48
+ "sha256": "c7408f29bb79076bec4c6314183ae656972c609df6dcf997d4e0f7fb525f258c"
49
+ },
50
+ {
51
+ "description": "Bounded Q4_1 routed expert and GLU loaders",
52
+ "patch": "reference-ciruple1-q41-r1/q41.patch",
53
+ "sha256": "9057c9e7146f29227c9469615a416bad273038ce85b80925d1bec83aba9fb8f8"
54
+ },
55
+ {
56
+ "description": "Single-slot MTP pending position checkpoint/reset",
57
+ "patch": "reference-ciruple1-q41-mtp-r1/mtp.patch",
58
+ "sha256": "c17e8d68e03dee5d93a630d0e16c986debedcf3a0aa3760b12f319f9cff3c9e1"
59
+ },
60
+ {
61
+ "description": "Corrected chain and IQ4 regression test supplement",
62
+ "patch": "reference-q41-chain-tests-r2/chain-tests.patch",
63
+ "sha256": "659e0a31e515a4bca20ef1239510043992cb9db5312194d36159a5c1216518d3"
64
+ },
65
+ {
66
+ "description": "Clear target-only PLE path/cache when creating separate draft model parameters",
67
+ "patch": "reference-ciruple1-q41-mtp-r2/draft-ple.patch",
68
+ "sha256": "aa7b58e4d40367348152611894630e49e922202d6b971115907a0f9ee04fd062"
69
+ }
70
+ ],
71
+ "build_only_disclosures": [
72
+ "LLAMA_BUILD_COMMIT contains candidate ID ciru-reference-release-r2, not a Git commit; exact parent and source/patch hashes are recorded.",
73
+ "Web UI build/prebuilt-download disabled; inference targets unchanged.",
74
+ "Ciru known-working Nix sysroot/compiler flags and existing ROCm10, not author custom HIP/ROCr.",
75
+ "LLAMA_OPENSSL=OFF explicitly disables HTTPS for the local-file-only diagnostic; source and inference options unchanged."
76
+ ],
77
+ "test_scope": "Build test-backend-ops; execute only CPU scheduler-ring fixture and linked-library checks. GPU numerical and own-weight serving gates follow separately.",
78
+ "no_install_or_service_commands": true,
79
+ "prerequisite_paths": [
80
+ {
81
+ "path": "/nix/store/qxaq7jz61a6zkr2mq49i0zvqip2m2jj8-gcc-15.2.0",
82
+ "kind": "directory",
83
+ "role": "HIP --gcc-toolchain"
84
+ },
85
+ {
86
+ "path": "/nix/store/15h9askp4k1lx44d9871wid23j2a8ijp-glibc-2.42-61-dev/include",
87
+ "kind": "directory",
88
+ "role": "HIP -idirafter C headers"
89
+ },
90
+ {
91
+ "path": "/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib",
92
+ "kind": "directory",
93
+ "role": "HIP -B/-L and runtime rpath"
94
+ },
95
+ {
96
+ "path": "/nix/store/chqq8mpmpyfi9kgsngya71akv5xicn03-gcc-15.2.0-lib/lib",
97
+ "kind": "directory",
98
+ "role": "HIP -B/-L C++/GCC runtime rpath"
99
+ },
100
+ {
101
+ "path": "/nix/store/57iz36553175g3178pvxjij8z5rcsd4n-glibc-2.42-61/lib/ld-linux-x86-64.so.2",
102
+ "kind": "file",
103
+ "role": "HIP --dynamic-linker"
104
+ },
105
+ {
106
+ "path": "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/cmake/hip",
107
+ "kind": "directory",
108
+ "role": "required HIP CMake package"
109
+ },
110
+ {
111
+ "path": "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/cmake/hipblas",
112
+ "kind": "directory",
113
+ "role": "required hipBLAS CMake package"
114
+ },
115
+ {
116
+ "path": "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/cmake/rocblas",
117
+ "kind": "directory",
118
+ "role": "required rocBLAS CMake package"
119
+ },
120
+ {
121
+ "path": "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib",
122
+ "kind": "directory",
123
+ "role": "runtime library search path"
124
+ },
125
+ {
126
+ "path": "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/lib",
127
+ "kind": "directory",
128
+ "role": "runtime library search path"
129
+ }
130
+ ],
131
+ "base_revision": "f5daaa3cfa6358e5dd398911ec741813745a5440",
132
+ "source_revision_is_git_commit": false,
133
+ "parent_candidate": "ciru-reference-release-r1"
134
+ }
benchmarks/v3.1.0/FINAL-QUALIFICATION.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": "3.1.0",
3
+ "status": "qualified_with_disclosed_scoring_scope",
4
+ "weights_changed": false,
5
+ "projector_changed": false,
6
+ "base_source_commit": "e2b584751f89e02334304365edfe4c5404fd9e5c",
7
+ "reference_engine_commit": "f5daaa3cfa6358e5dd398911ec741813745a5440",
8
+ "source_identity": "docs/qualification/v3.1.0/source-identity.json",
9
+ "qualification": "docs/qualification/v3.1.0/QUALIFICATION.md",
10
+ "previous_manifest": "docs/qualification/v3.0.0/CIRU_RELEASE.json",
11
+ "target_backend": "NixOS / stock TheRock ROCm10 / gfx1151",
12
+ "profile": {
13
+ "context": 262144,
14
+ "batch": 8192,
15
+ "microbatch": 8192,
16
+ "threads": 8,
17
+ "max_mtp_depth": 6,
18
+ "slots": 1,
19
+ "target_kv": "f16",
20
+ "draft_kv": "f16",
21
+ "prompt_cache_mib": 1024,
22
+ "ple_cache_mib": 4096,
23
+ "vision_mtp": false
24
+ },
25
+ "release_gate": "PASS_SCOPED: numerical22/22, serving15/15 completed, recall5/5, cache3/3, exact capacity and relocated UI/chat/vision smoke; standalone coding7/8 and uniform prompt-import-context8/8 both retained. No broad quality or universal decode claim.",
26
+ "binary_hashes": {
27
+ "libggml-base.so": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
28
+ "libggml-base.so.0": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
29
+ "libggml-base.so.0.23.0": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
30
+ "libggml-cpu.so": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
31
+ "libggml-cpu.so.0": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
32
+ "libggml-cpu.so.0.23.0": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
33
+ "libggml-hip.so": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
34
+ "libggml-hip.so.0": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
35
+ "libggml-hip.so.0.23.0": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
36
+ "libggml.so": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
37
+ "libggml.so.0": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
38
+ "libggml.so.0.23.0": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
39
+ "libllama-bench-impl.so": "1e610fe805a3ca48385624c527eb30687d05973424e9c1c1c400b47932b907d6",
40
+ "libllama-common.so": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
41
+ "libllama-common.so.0": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
42
+ "libllama-common.so.0.4.0": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
43
+ "libllama-server-impl.so": "d1610c37ddbaf42bfbd2a458552c8dd8090779c8e86642faeb224ff21b29cddf",
44
+ "libllama.so": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
45
+ "libllama.so.0": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
46
+ "libllama.so.0.4.0": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
47
+ "libmtmd.so": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
48
+ "libmtmd.so.0": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
49
+ "libmtmd.so.0.4.0": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
50
+ "llama-bench": "a939ebf4f181ab5daa6dd8f163e236d8b09cabf69da63db196eb272a17061f32",
51
+ "llama-server": "6651c8ea36b8bb4ecaa8b9a06bc1353c8a209c745017ac838409c0de348d4893",
52
+ "test-backend-ops": "4f84ad6bc59a2c437fbb88b1b194dc15f57c935e7eeb2d5cde962d2e7d9e902f",
53
+ "test-backend-sched-ring": "99f898a684ccece9681e1b501d31e4a53f7f567c3f3b975ff42716cb3c1ce0be"
54
+ },
55
+ "source_frozen": true,
56
+ "performance_classification": "Diagnostic actual serving, one observation per request; historical native comparisons directional, reference weights differ."
57
+ }
benchmarks/v3.1.0/LAUNCHER-CHECKS.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "PASS_LOCAL_LAUNCHER_MOCK_CHECKS",
3
+ "checks": [
4
+ "hf/run-server.sh: default profile/UI/sampler, optional vision, missing files, MTP slot guard, supported overrides",
5
+ "runtime/scripts/ciru/run-server.sh: default profile/UI/sampler, optional vision, missing files, MTP slot guard, supported overrides"
6
+ ],
7
+ "model_or_server_executed": false,
8
+ "note": "Stub captures only argv/env; this does not qualify real serving or parallel requests."
9
+ }
benchmarks/v3.1.0/QUALIFICATION.md ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # CIRU runtime v3.1.0 qualification
2
+
3
+ The pwilkin reference engine is integrated with the existing CIRU IU4 model, CIRUPLE1 pager and Q8_0 MTP artifact. Model and projector bytes are unchanged. This release replaces the earlier engine with reference commit `f5daaa3cfa6358e5dd398911ec741813745a5440` plus the recorded CIRUPLE1, typed Q4_1 expert, MTP state and external-draft parameter adaptations. The build candidate name `ciru-reference-release-r2` is an identifier, not a Git commit.
4
+
5
+ ## Measured result
6
+
7
+ On Ciru (Ryzen AI Max+ 395, Radeon 8060S/gfx1151, 128 GB UMA, NixOS, stock TheRock ROCm 10), the integrated own-weight server measured approximately **992–1,001 prompt tokens/s** on five cold 30.8K-token coding requests. A cold 65,295-token recall request measured **947.89 PP**. These are actual served requests with MTP enabled, not the different reference model's measurements.
8
+
9
+ | Own-weight request | Input tokens | PP tok/s | Generation tok/s | First piece s | Whole request s |
10
+ | --- | ---: | ---: | ---: | ---: | ---: |
11
+ | Fixed tokens + 128 output | 4,096 | 631.04 | 14.61 | 6.49 | 15.19 |
12
+ | Cold key recall | 7,951 | 973.71 | 26.23 | 8.25 | 8.82 |
13
+ | Coding HE0 | 30,886 | 999.85 | 35.13 | 31.00 | 35.90 |
14
+ | Coding HE1 | 30,878 | 996.68 | 39.32 | 31.00 | 37.18 |
15
+ | Coding HE2 | 30,847 | 991.76 | 40.80 | 31.12 | 33.41 |
16
+ | Coding HE3 | 30,881 | 1,000.75 | 36.91 | 30.88 | 32.26 |
17
+ | Coding HE4 | 30,880 | 1,000.81 | 37.20 | 30.87 | 35.55 |
18
+ | Cold key recall | 65,295 | 947.89 | 32.56 | 69.00 | 69.77 |
19
+ | Fixed tokens + 128 output | 16,384 | 1,003.33 | 14.43 | 16.45 | 25.25 |
20
+ | Capacity, fixed tokens + 128 output | 261,888 | 748.38 | 6.22 | 349.97 | 370.39 |
21
+
22
+ These are one observation per request from a diagnostic run with `LLAMA_TRACE=1` and verbosity 4, not a clean interleaved comparison. The production launcher omits tracing. Cached requests are excluded from this PP table. Generation speed varies substantially by content and speculative acceptance; a universal decode improvement is not claimed. The three short coding requests measured 51.21–52.93 generation tok/s. Full-context generation is much slower. Timings include the actual sampler and output-length differences recorded in the raw requests.
23
+
24
+ A separate target-only native pilot with the same own weights measured **959.51 PP / 24.27 TG** at PP16384/TG128, depth 0, batch/microbatch 16384, 16 threads, one repetition. The earlier qualified CIRU core measured 631.47 PP; the approximately 52% difference is directional across runs, not a matched repeated serving comparison. The final serving batch is 8192, not the native pilot's 16384.
25
+
26
+ The complete unmodified reference package, on its own different weights, measured **1,361.01 ± 10.93 PP** (three repetitions); the same engine/weights with the published 36 kernel variables unset measured **641.09 ± 1.16 PP**. That 2.12× within-reference result motivated adoption. It does not establish that our quantization causes the remaining gap. The author's custom HIP/ROCr runtime was not needed to exceed 1000 PP and was not built in this campaign. Additional decode gains from it remain untested.
27
+
28
+ ## Correctness and serving scope
29
+
30
+ - The GPU numerical panel passed **22/22** cases, including typed Q4_1 routed expert, GLU, BF16 down/reduction chains and retained IQ4 regressions. Actual chain dispatch was observed. R2 changes only the CPU external-draft parameter handoff after R1; GPU sources and numerical evidence carry forward explicitly.
31
+ - The complete own-weight serving run finished all **15 requests**, with **5/5 key-recall checks**, **3/3 cache/replay checks**, and MTP 1,269 accepted tokens out of 1,960 drafted tokens. Minimum available memory was **6.82 GiB**. Prefixes without a usable MTP state checkpoint safely reprocess; immediate identical replays reused cache.
32
+ - The original **standalone-module** HumanEval 0–7 first-sample score is **7/8 base and extended tests**. HE3 omitted `from typing import List`, which was supplied in its user prompt. The original failure and `finite_panel_pass=false` are retained.
33
+ - A separately labeled **prompt-provided-import** rescore of all eight unchanged answers passed **8/8 base and extended tests**. It prepended only the original prompt's top-level imports uniformly across all cases. No answer was regenerated or patched selectively. This secondary score does not replace the standalone 7/8 result. Five prompts were padded to about 30.8K; three were short. Evaluation used EvalPlus v0.1.10 in the existing isolated sandbox. This bounded nonthinking panel does not establish broad quality, full-suite accuracy, thinking quality or tool reliability.
34
+ - The exact capacity request completed **261,888 input tokens plus 128 output**, cache 0, without truncation, at context 262144. Minimum available memory was **7.70 GiB**. This establishes capacity, not accuracy across the full context.
35
+ - The relocated exact binary/library bundle passed HTTP UI asset hashes and an OpenAI-compatible chat request. The unchanged published projector passed a red-square and a blue-circle image check with MTP disabled. These are functional smoke checks, not a broad vision evaluation.
36
+
37
+ ## Shipping configuration and retained failures
38
+
39
+ Text defaults: context 262144, batch/microbatch 8192, one slot, F16 target and draft KV, MTP 6, prompt RAM cache 1024 MiB, PLE cache 4096 MiB, 32 checkpoints at an 8192-token minimum step. The 36 published reference kernel variables are enabled with type/shape admission intact. The Q4_1 compatibility code does not enable IQ4-only kernels for incompatible weight types or create whole-expert BF16 weight shadows.
40
+
41
+ R1 inherited target PLE settings into the separate draft and failed to load it; R2 clears PLE settings only for an external draft. R2 with Q8 draft KV hit the fused QSA F16 requirement. F16 draft plus batch 16384 crossed the 4 GiB memory floor. Batch 8192 with a 4096 MiB prompt cache completed 14 requests but crossed the floor on the final 16K request. The final 1024 MiB prompt cache completed the whole panel and capacity check. All failed runs are retained and excluded from successful performance claims.
42
+
43
+ Vision mode explicitly disables MTP because image-position handling has not been qualified with the new MTP checkpoint implementation. The source review identified a possible image/text pending-position discontinuity; an MTP-on vision runtime failure is not claimed. Multi-slot MTP is rejected by the launcher. Old v3 slot saves are preserved but not automatically restored. External UI assets ship with the release. The tested Nix binary has HTTPS fetching disabled; the old v3 Nix build also failed OpenSSL detection. Use image data URLs or build with OpenSSL development dependencies.
44
+
45
+ ## Evidence and lineage
46
+
47
+ The release assets include source and file manifests, exact tested binary identities, raw R1 and R2 evidence, reference control/quality evidence, and this report. The source archive is verified against the release Git tree including executable modes and symlinks. The binary archive contains the same files used by the relocated UI/chat/vision checks. Original benchmark store rows 4416–4433 and separate strict/import-context quality rows are preserved. Historical v3 reports remain historical and are not inherited as new-engine qualification.
48
+
49
+ Credit: [pwilkin's Strix Halo work](https://pwilkin.github.io/strix-halo/), Qwen, ggml-org/llama.cpp, AMD/ROCm, Ryan Monsurate's MTP work, Daniel Han's QSA work and all retained source contributors. Existing license and component notices remain in the source tree.
benchmarks/v3.1.0/QUALITY-IMPORT-CONTEXT-AUDIT.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "decision": "PROMOTE_TO_CAPACITY_GATE_WITH_SCORING_SCOPE_DISCLOSED",
3
+ "strict_original": {
4
+ "tasks": 8,
5
+ "base_pass": 7,
6
+ "plus_pass": 7,
7
+ "failure": "HumanEval/3 omitted List import that was already supplied in its prompt; original sanitize-only scorer executed the returned function standalone."
8
+ },
9
+ "secondary_provided_context": {
10
+ "tasks": 8,
11
+ "base_pass": 8,
12
+ "plus_pass": 8,
13
+ "all_answers_unchanged": true,
14
+ "normalization": "Uniformly prepend only top-level import statements already present in each original task prompt; no new generated answers or task-specific patch."
15
+ },
16
+ "source_evidence": "serving/ciru-reference-release-r2-serving-cache1024-gate1-provided-imports-r1",
17
+ "runtime_guardrails": {
18
+ "recall": "5/5",
19
+ "cache_and_branch": "3/3",
20
+ "minimum_available_GiB": 6.815910339355469
21
+ },
22
+ "limits": "Small functional screen; not broad quality equivalence. Original standalone7/8 and finite_panel_pass=false are preserved, not relabeled."
23
+ }
benchmarks/v3.1.0/RELEASE-OWN-MODEL-IDENTITY.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "SAME_PUBLISHED_OWN_WEIGHT_STAT_IDENTITIES",
3
+ "source_receipt": "/srv/llm/work/pwilkin-prefill-20260913/BUILD-INTAKE.json",
4
+ "source_receipt_sha256": "bd157dbad0c776117f022915b8794c6f15538b852011e0e0a69a42f54b67f4d0",
5
+ "artifacts": [
6
+ {
7
+ "path": "/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/Qwen3.8-Flash-CIRU-STRIX-IU4.gguf",
8
+ "bytes": 79397818720,
9
+ "sha256": "c0ea11e4e24d0f909720b6c4e7462aa1e6fbf5e0f6acc796063f2aed4cf46ed0",
10
+ "mtime_ns": 1788008884377941688
11
+ },
12
+ {
13
+ "path": "/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf",
14
+ "bytes": 4135893248,
15
+ "sha256": "e6743badef1f2619fcb5addfa4344a2a3368cb75214735117e3af80c70b80642",
16
+ "mtime_ns": 1788008885971892625
17
+ },
18
+ {
19
+ "path": "/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/ple/ple.manifest.json",
20
+ "bytes": 115213,
21
+ "sha256": "eb7404ce5ef056729452df10ee888e0c300cd0459121444be3313c51788cc171",
22
+ "mtime_ns": 1787766334187770443
23
+ },
24
+ {
25
+ "path": "/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/ple/ple.payload.bin",
26
+ "bytes": 52429053952,
27
+ "sha256": "687fc742efb6888c6cd7cf9c80cb4b1ac8cb4707b9409c206699c43363e239b2",
28
+ "mtime_ns": 1787766534066307056
29
+ },
30
+ {
31
+ "path": "/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/ple/ple.scale.bf16",
32
+ "bytes": 2,
33
+ "sha256": "c7c58bd6007672362da2106fdbfaf9f50629e4bdf8598169c598027394ef9791",
34
+ "mtime_ns": 1787764234000000000
35
+ }
36
+ ],
37
+ "verification": "Prior full-SHA256 receipts plus matching current size/mtime; small PLE manifest/scale fully rehashed. No large model reread.",
38
+ "time": 1789320168.6599536
39
+ }
benchmarks/v3.1.0/SOURCE-MANIFEST.json ADDED
The diff for this file is too large to render. See raw diff
 
benchmarks/v3.1.0/UI-PROVENANCE.json ADDED
@@ -0,0 +1,303 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "LOCAL_UI_BUILD_PASS_NOT_LIVE_SERVER_TESTED",
3
+ "source_snapshot": "f5daaa3cfa6358e5dd398911ec741813745a5440 tools/ui",
4
+ "source_inventory_sha256": "e27420f2ad19ea9971e27be15df4b8328304b6e066b8ea83c171fdf2057c48d3",
5
+ "package_json_sha256": "a0dceedcca2222857a9b956cb4f33b02a84cc74313845051d2bd5f73b9adef22",
6
+ "package_lock_sha256": "03379c8ee779e6dfeba00b5a616c8089c0864392ec250744667fdcf63c56af48",
7
+ "commands": [
8
+ "npm ci --ignore-scripts --no-audit --no-fund",
9
+ "LLAMA_BUILD_NUMBER=ciru-v3.1.0-ui-f5daaa3 npm run build"
10
+ ],
11
+ "node_version": "v26.7.0",
12
+ "npm_version": "11.19.0",
13
+ "build_log_sha256": "d345a3293ab08539e426de07c2d55802f750ad603923949c96105c8e37624d9a",
14
+ "install_log_sha256": "7f0b54ead6ceab92973d44c00a35d9453480defb6589a20f0c4cf687ba81f977",
15
+ "file_count": 70,
16
+ "total_bytes": 9887826,
17
+ "files": {
18
+ "_app/immutable/assets/bundle.oAmIsIaD.css": {
19
+ "sha256": "9ef7fce5129ed1d882639620217a731e25aa57558929abedbaac7bfdc657b31d",
20
+ "bytes": 543230
21
+ },
22
+ "_app/immutable/bundle.CgxMsZEt.js": {
23
+ "sha256": "dfe91bfbef0b39f9c990586e825b4ca71068551bff11fdd2457b67960037f8d8",
24
+ "bytes": 8859739
25
+ },
26
+ "_app/version.json": {
27
+ "sha256": "993ca85bb699e8cb1ff59d0f98c89e02e8da6b48f95538b4a91f0fadbf2f95cf",
28
+ "bytes": 27
29
+ },
30
+ "apple-splash-landscape-1136x640.png": {
31
+ "sha256": "493b7dcfcb44bf6e93c2cc9b872fa85bab77bd59ce4d3750cbdcab46c3276d1a",
32
+ "bytes": 1246
33
+ },
34
+ "apple-splash-landscape-1334x750.png": {
35
+ "sha256": "7bf6f1ac725ab0ec24cb4d003f947acc325df20ef3e4194fecb8b261729f4b54",
36
+ "bytes": 1571
37
+ },
38
+ "apple-splash-landscape-2266x1488.png": {
39
+ "sha256": "074c1a672c2245b9ca0209d8a673ad2306e3be144605ed8ba5e114b97e6c7511",
40
+ "bytes": 4403
41
+ },
42
+ "apple-splash-landscape-2360x1640.png": {
43
+ "sha256": "ae6ce15888d3855b2c94ea2b2339919e79097b3cc2945b84487ea9fe248b1806",
44
+ "bytes": 5005
45
+ },
46
+ "apple-splash-landscape-2388x1668.png": {
47
+ "sha256": "d703efa06bec8aacb0076f894d717c1b2622316693bfafda39800ff2091d0283",
48
+ "bytes": 5166
49
+ },
50
+ "apple-splash-landscape-2532x1170.png": {
51
+ "sha256": "00dd5c0ded4678ccfc61546640c15b7176675e7022c551afd6cd7b98c5cf9d44",
52
+ "bytes": 3783
53
+ },
54
+ "apple-splash-landscape-2556x1179.png": {
55
+ "sha256": "1fe51da8322b461c0086d11b5dff16db0fc78cc4c0a96c70294a05242ebd3528",
56
+ "bytes": 3818
57
+ },
58
+ "apple-splash-landscape-2622x1206.png": {
59
+ "sha256": "478ef9ecceb2f2c6c9d4c59dbe88abea5e00aec8dd0a164c392b66414bdfe480",
60
+ "bytes": 3977
61
+ },
62
+ "apple-splash-landscape-2732x2048.png": {
63
+ "sha256": "ba6c6ce3420bd034955acc797b3fd6f7d098fc9e3da77b44e3975031354f7e9f",
64
+ "bytes": 7037
65
+ },
66
+ "apple-splash-landscape-2778x1284.png": {
67
+ "sha256": "f8efef0f58c3d66b2b7b3e515d03e45aad6379266927ac2e1ee953dba8c7a8b5",
68
+ "bytes": 4469
69
+ },
70
+ "apple-splash-landscape-2796x1290.png": {
71
+ "sha256": "23f6e559135368ef4c8fa2c5dfbdab6c937b54ef810b9e2e609077dbe3da31e2",
72
+ "bytes": 4511
73
+ },
74
+ "apple-splash-landscape-2868x1320.png": {
75
+ "sha256": "c1320361f7b214c4f3865d50082230b7ae855ce5795da33dbc28a5c8432a8ae1",
76
+ "bytes": 4689
77
+ },
78
+ "apple-splash-landscape-dark-1136x640.png": {
79
+ "sha256": "f66efed3c2b67da0fa716a7bde6dcc5540957e50c73c003884921dea4e79bfdc",
80
+ "bytes": 1262
81
+ },
82
+ "apple-splash-landscape-dark-1334x750.png": {
83
+ "sha256": "c095522fba04ddd57cbd3e473b647e017edfadeff71ed0a0fd91349649cc9168",
84
+ "bytes": 1579
85
+ },
86
+ "apple-splash-landscape-dark-2266x1488.png": {
87
+ "sha256": "ff0d397701b1ff4ab36bc193b7688271125ad853d590126c9b2cc2ed7d02ee3e",
88
+ "bytes": 4437
89
+ },
90
+ "apple-splash-landscape-dark-2360x1640.png": {
91
+ "sha256": "8242b07696870a82dcb891344fa791613763c7a2a3110afcb00974a5559c25d2",
92
+ "bytes": 4995
93
+ },
94
+ "apple-splash-landscape-dark-2388x1668.png": {
95
+ "sha256": "e70d3e26d0c3e800ea2fd1e116d4a26bc68e9fb6450225b5892ad9e5794c5292",
96
+ "bytes": 5142
97
+ },
98
+ "apple-splash-landscape-dark-2532x1170.png": {
99
+ "sha256": "29aab021ccdfe2c566aff5b6527e548c4da6ffe58d6a61a1707509221bcc79d1",
100
+ "bytes": 3766
101
+ },
102
+ "apple-splash-landscape-dark-2556x1179.png": {
103
+ "sha256": "9095f7e31d13a18af6cda1295299f85e7646e2d72e6f4ae039f409bfbc0a41d2",
104
+ "bytes": 3816
105
+ },
106
+ "apple-splash-landscape-dark-2622x1206.png": {
107
+ "sha256": "573e27a11d07879956860907274e50a76af0082d62f756b990c8ff3087328f0c",
108
+ "bytes": 3971
109
+ },
110
+ "apple-splash-landscape-dark-2732x2048.png": {
111
+ "sha256": "eecd347ce8d92ca87a88d26ec657a73c6039a9800ea6fd81b7c1d4eade5523ab",
112
+ "bytes": 7055
113
+ },
114
+ "apple-splash-landscape-dark-2778x1284.png": {
115
+ "sha256": "79a6756774386cf0af5a80a78336ca3e948d392d141dc72ed176960c6c05d27f",
116
+ "bytes": 4456
117
+ },
118
+ "apple-splash-landscape-dark-2796x1290.png": {
119
+ "sha256": "70a7ea8ff70e06b85c69a33b7dfd690914ee24b24b599346d2fb45ab493f3de9",
120
+ "bytes": 4515
121
+ },
122
+ "apple-splash-landscape-dark-2868x1320.png": {
123
+ "sha256": "48424f25a11d6b642436b8d9bfcd7e680e6066b147b527bfa11044616ecbe11a",
124
+ "bytes": 4685
125
+ },
126
+ "apple-splash-portrait-1170x2532.png": {
127
+ "sha256": "c35a132b380a7d62aaa97f0d1b422a6e9b91f9aff1a381ad32934c6e73c22f8e",
128
+ "bytes": 3664
129
+ },
130
+ "apple-splash-portrait-1179x2556.png": {
131
+ "sha256": "04f753d0c1bc895af9c32781f62962ac00b0a6e45cf870e24b275ea608945b62",
132
+ "bytes": 3719
133
+ },
134
+ "apple-splash-portrait-1206x2622.png": {
135
+ "sha256": "40db7bf17e032ef0d53c5a6de06180513ba5a17bd569d3fd1759c4f7365bf2ff",
136
+ "bytes": 3882
137
+ },
138
+ "apple-splash-portrait-1284x2778.png": {
139
+ "sha256": "8d89cf2b152ce04aa0c778e82b72323bf54b249f993dba984f2e17844e4d1326",
140
+ "bytes": 4292
141
+ },
142
+ "apple-splash-portrait-1290x2796.png": {
143
+ "sha256": "3f0c0cd3847c465517e896b8e8a1d98dce89c60e54cedea84af7da5a50305536",
144
+ "bytes": 4493
145
+ },
146
+ "apple-splash-portrait-1320x2868.png": {
147
+ "sha256": "18045fa2986fd618c28d672ec4270ef70f06afd563dbd168694ea483a3d58c96",
148
+ "bytes": 4563
149
+ },
150
+ "apple-splash-portrait-1488x2266.png": {
151
+ "sha256": "5d2fd6aa59808a415e4665ff923a2b0aa19a0da989c77722d25a79209eb20a52",
152
+ "bytes": 4284
153
+ },
154
+ "apple-splash-portrait-1640x2360.png": {
155
+ "sha256": "0af569653ac90f5ea9d6a07d764e8aa655eddfa76cca8c4d3c1e63d869dde4e4",
156
+ "bytes": 4887
157
+ },
158
+ "apple-splash-portrait-1668x2388.png": {
159
+ "sha256": "d74b6a435cb6feb873f980d9fb5486b6362a5603b6bbeb9fa2a97cea177ce97a",
160
+ "bytes": 5016
161
+ },
162
+ "apple-splash-portrait-2048x2732.png": {
163
+ "sha256": "08d85d2bf00c5f20dd27d6eb4aa711447b303f5b8b2a0da184fed83c0062810b",
164
+ "bytes": 6948
165
+ },
166
+ "apple-splash-portrait-640x1136.png": {
167
+ "sha256": "0765df6eed4188740d620e6a4b279fa2d981301c74082e440b6e321f5cb83c0e",
168
+ "bytes": 1207
169
+ },
170
+ "apple-splash-portrait-750x1334.png": {
171
+ "sha256": "3bbea52ee933f83ff0ce7cd5ad7bb52c146f428f880056fe60a599cae22afb18",
172
+ "bytes": 1524
173
+ },
174
+ "apple-splash-portrait-dark-1170x2532.png": {
175
+ "sha256": "360adb051cc4aa6b353089ae7b46fa6a0d64a54524838c2dab77e30a1fff80f7",
176
+ "bytes": 3663
177
+ },
178
+ "apple-splash-portrait-dark-1179x2556.png": {
179
+ "sha256": "36203157ee60a03f8e4459fceb40f602a29aecde4f37176c02737aea443235f8",
180
+ "bytes": 3741
181
+ },
182
+ "apple-splash-portrait-dark-1206x2622.png": {
183
+ "sha256": "ca012a8437e441ffcd6403042686d7d57fc408c0166d67f90ec362243e2a6188",
184
+ "bytes": 3883
185
+ },
186
+ "apple-splash-portrait-dark-1284x2778.png": {
187
+ "sha256": "c87c6ce396cc92f4e6f0f98a1288dde3201fd8fec36db3f88c0c553b61cec0ab",
188
+ "bytes": 4292
189
+ },
190
+ "apple-splash-portrait-dark-1290x2796.png": {
191
+ "sha256": "6e91aefbcb101c33269a2507d98d9d79a90e8f04f856635e2f51b59e8cb819e8",
192
+ "bytes": 4482
193
+ },
194
+ "apple-splash-portrait-dark-1320x2868.png": {
195
+ "sha256": "e9184634ca99bc34031883d3983208a3de2cfebb94d6bdeac22101e59440d4ce",
196
+ "bytes": 4565
197
+ },
198
+ "apple-splash-portrait-dark-1488x2266.png": {
199
+ "sha256": "fb743eb009c0c6da8f33f999528f252a481062cc8b1166d76b17c880fe17c48d",
200
+ "bytes": 4307
201
+ },
202
+ "apple-splash-portrait-dark-1640x2360.png": {
203
+ "sha256": "1451c9c5c9744bc6129bc34c2d03dde8a7bb0819d0693ca79e717893252d2d5f",
204
+ "bytes": 4883
205
+ },
206
+ "apple-splash-portrait-dark-1668x2388.png": {
207
+ "sha256": "994d543db51dd1053861dad346540e5b53fc63e15bfaf44e21977f5b2c5a841a",
208
+ "bytes": 5019
209
+ },
210
+ "apple-splash-portrait-dark-2048x2732.png": {
211
+ "sha256": "7246b87514e7c06818ef251e9494e8e7b39c690f5f873335a8374798d1c98f94",
212
+ "bytes": 6937
213
+ },
214
+ "apple-splash-portrait-dark-640x1136.png": {
215
+ "sha256": "92ae274e3176964422fda2e26b8bc91d69a05b2474c6af7aa5645a8c7f3f39c4",
216
+ "bytes": 1214
217
+ },
218
+ "apple-splash-portrait-dark-750x1334.png": {
219
+ "sha256": "b7e60345346212ee56b0a8d0708f5c0cf5b32e0762058c3a2f2bfb474cc5d237",
220
+ "bytes": 1536
221
+ },
222
+ "apple-touch-icon-180x180.png": {
223
+ "sha256": "9638ef69f02fc5bc67e44f6c8c9f8bec0153aa272afdd851aa91389e9c3a298a",
224
+ "bytes": 806
225
+ },
226
+ "build.json": {
227
+ "sha256": "3a50d1935e5990b3e60cdfcb26e4f0a8415b3a47d4838a3d9ceeaad62bf06ffc",
228
+ "bytes": 36
229
+ },
230
+ "favicon-dark.ico": {
231
+ "sha256": "bf3f11aebeba82317f971a5a1c27707720e86dac95325c9beeadc61278ab0bdb",
232
+ "bytes": 493
233
+ },
234
+ "favicon-dark.svg": {
235
+ "sha256": "0df4862c27bce2161c86ee36d9b6c6272c354f91025d0a690e7d46d6cb032988",
236
+ "bytes": 800
237
+ },
238
+ "favicon.ico": {
239
+ "sha256": "185c18728e7476d2911dfc508a12437faaccac5c31dd972a096cc73cd704aceb",
240
+ "bytes": 486
241
+ },
242
+ "favicon.svg": {
243
+ "sha256": "5ab26e56914d750a73010b8a65f1cc81394ddcae46f90e4681023f459ab33b06",
244
+ "bytes": 800
245
+ },
246
+ "index.html": {
247
+ "sha256": "02ec1b0d3f7e2104f4a7f7bf5d90d30193a0f5de12a98beda3c4149e4feba5a6",
248
+ "bytes": 12638
249
+ },
250
+ "manifest.webmanifest": {
251
+ "sha256": "1856d8180ea3c3f19dac8c3354d3d59b6949b240868e3c7aa54249aab6f6f26d",
252
+ "bytes": 524
253
+ },
254
+ "maskable-icon-512x512.png": {
255
+ "sha256": "421fb239b1214855d2dea741769c144f0bf0567e4b5c6c58d3db4a41236ec8ba",
256
+ "bytes": 1894
257
+ },
258
+ "pwa-192x192.png": {
259
+ "sha256": "dc8c53052067727fdb62f8872457e7716ef16553f7b1db17f4ab29f709be0950",
260
+ "bytes": 3733
261
+ },
262
+ "pwa-512x512.png": {
263
+ "sha256": "b8756d856a0bb7a5d2fe081119315da8dfbddadde2f8020bbc6eaab423a19245",
264
+ "bytes": 12773
265
+ },
266
+ "pwa-64x64.png": {
267
+ "sha256": "c5e91dd629e2f070d8f1097e1a8689abba8f9b0f072830e825f24232fa96ce06",
268
+ "bytes": 1253
269
+ },
270
+ "recommended-mcp/context7.png": {
271
+ "sha256": "5d42a0cad320600ee0ebb805065f212a81a257895e9dc39687b7958602ea4f70",
272
+ "bytes": 1489
273
+ },
274
+ "recommended-mcp/exa.ico": {
275
+ "sha256": "b7207abacfbffefedde6faacd2a8750b8cbdd421ebdc756381b3bc9665939ada",
276
+ "bytes": 15154
277
+ },
278
+ "recommended-mcp/github-dark.png": {
279
+ "sha256": "bf0a7086aa8828289df0e48c1a9a57e14fe5b437fba84c7eff4d305d1d074ff1",
280
+ "bytes": 584
281
+ },
282
+ "recommended-mcp/github-light.png": {
283
+ "sha256": "74cf90ac2fe6624ab1056cacea11cf7ed4f8bef54bbb0e869638013bba45bc08",
284
+ "bytes": 958
285
+ },
286
+ "recommended-mcp/huggingface.ico": {
287
+ "sha256": "7266292a5073388702cfca169d26766460cb90ba978bacc95c914ad7a5c611cb",
288
+ "bytes": 205556
289
+ },
290
+ "sw.js": {
291
+ "sha256": "11cafc061bd264e26abc0d7728d335f12e0d89dd3926607985408f92c83b0c0e",
292
+ "bytes": 6829
293
+ },
294
+ "workbox-b3c04f83.js": {
295
+ "sha256": "da1e7f839a1e93ec217925d558d19dbfd97bb0e8ee143cb4da651a895305b7bd",
296
+ "bytes": 21669
297
+ }
298
+ },
299
+ "served_by": "llama-server --ui --path <runtime>/ui",
300
+ "inference_binary_rebuilt": false,
301
+ "inference_source_changed": false,
302
+ "live_server_tested": false
303
+ }
benchmarks/v3.1.0/binary-package-archive.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "name": "ciru-runtime-v3.1.0-nixos-gfx1151.tar.gz",
3
+ "sha256": "5bd716f23c3c52ed199c068fe2fddfbb125c5816a3a5573ba3367d4c99632515",
4
+ "bytes": 28216882,
5
+ "all_members_verified": true
6
+ }
benchmarks/v3.1.0/ciru-reference-release-r2-capacity-cache1024-capacity1-COMPLETE.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "PASS_EXACT_RETAINED_CAPACITY_REQUEST_IMPORTED",
3
+ "requests": 1,
4
+ "requested_context": 262144,
5
+ "actual_prompt_tokens": 261888,
6
+ "generated_tokens": 128,
7
+ "model_quality_claim": false,
8
+ "services_changed": false,
9
+ "time": 1789325242.2062638
10
+ }
benchmarks/v3.1.0/ciru-reference-release-r2-serving-cache1024-gate1-COMPLETE.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "COMPLETE_VALID_SERVING_PANEL_SCORED_AND_IMPORTED",
3
+ "finite_panel_pass": false,
4
+ "actual_capacity_qualified": false,
5
+ "requests": 15,
6
+ "time": 1789324529.8390071,
7
+ "services_changed": false
8
+ }
benchmarks/v3.1.0/ciru-reference-release-r2-serving-cache1024-gate1-provided-imports-r1-COMPLETE.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tasks": 8,
3
+ "base_pass": 8,
4
+ "plus_pass": 8,
5
+ "original_standalone_base_pass": 7,
6
+ "original_standalone_plus_pass": 7,
7
+ "generated_answers_unchanged": true,
8
+ "rule": "Prepend only original task prompt top-level import statements uniformly to every saved sanitized answer. No regeneration or answer edits. Original standalone7/8 remains unchanged."
9
+ }
benchmarks/v3.1.0/git-source.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": "3.1.0",
3
+ "tag": "v3.1.0",
4
+ "commit": "1ecb13fa7c8af45b60693a07af9e835ba81b4df6",
5
+ "tree": "759f295f64a7fda65b4302761bde0e1a413ed1fb",
6
+ "base_commit": "e2b584751f89e02334304365edfe4c5404fd9e5c",
7
+ "archive": "ciru-runtime-v3.1.0-source.tar.gz",
8
+ "archive_sha256": "46690824536616b89feb79e2701f097697896e9df8c007a9802de0ac984d5b24",
9
+ "file_count": 3811,
10
+ "manifest": "source-manifest.json",
11
+ "verification": "Every file content, executable mode and symlink target matches the release Git tree; named archive bytes are verified independently."
12
+ }
benchmarks/v3.1.0/packaging-r2-cache1024-text-gate1-COMPLETE.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "PASS_RELOCATED_BUNDLE_FUNCTIONAL_SMOKE",
3
+ "mode": "text",
4
+ "minimum_available_GiB": 11.316524505615234,
5
+ "source_revision": "ciru-reference-release-r2",
6
+ "services_changed": false
7
+ }
benchmarks/v3.1.0/packaging-r2-cache1024-vision-gate1-COMPLETE.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "PASS_RELOCATED_BUNDLE_FUNCTIONAL_SMOKE",
3
+ "mode": "vision",
4
+ "minimum_available_GiB": 18.829917907714844,
5
+ "source_revision": "ciru-reference-release-r2",
6
+ "services_changed": false
7
+ }
benchmarks/v3.1.0/source-identity.json ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate": "ciru-reference-release-r2",
3
+ "candidate_is_git_commit": false,
4
+ "reference_commit": "f5daaa3cfa6358e5dd398911ec741813745a5440",
5
+ "source_manifest_sha256": "df37c370a2625f612ce863543068d48f170580e2cd85dd3e783381dcb91febb4",
6
+ "frozen_files": 3612,
7
+ "identical_files": 3611,
8
+ "intentional_changes": {
9
+ "README.md": "Release documentation; original reference README retained in docs/UPSTREAM-README.md"
10
+ },
11
+ "compiled_source_matches_frozen_build": true,
12
+ "build_proof": {
13
+ "metadata_hashes": {
14
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/COMPLETE.json": "a9ec9e1e4dfaf5e0661dd5f1ea4ed99cf5bb35b8e3f42af0ebfb4202b95aae1c",
15
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/plan.json": "f184bcac052a580f6339c1691984618f730080c3b81d3ac778ff0cf941f6cb1e",
16
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/output-hashes.json": "e2b453842e369ceef001a9ae73f5bc10a4ec7143a035637a5a05d6fa5b5ab018",
17
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build-metadata.json": "353598af127f1c18f5e936ed40364751b3fc9d6d4bac7814964a508db452c39b",
18
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/loaded-library-hashes.json": "b7a2a893950007de79363552f6f1627ba6c5f9ccaecf20fae74f3600cd7bfffd",
19
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/source-after.json": "8b8dde87d2aae6caf73780640a0501a834711691c31811e9ed475201d1597b2e",
20
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/effective-configuration.json": "520a68c434b8985a31ea4f62edda8e6988df72853818c5f4dc19ee33bd45ac58",
21
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/cleanup.json": "8f24a3fe3c2a15a08019caa9f910d16e7a10133ca812c91dd5d91482ed117013",
22
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/step-configure.json": "4a7fe0e24f6f066cd921817ed9c09898cbd786f829967b33b7df51cd991899c7",
23
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/logs/configure.log": "5461d1f64d3cf4391aab2f9b03e72b9308e0b1e761785ed92060e47fe090c111",
24
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/step-compile.json": "71a1a990e86a8517e1f58737aaee2126d6c04501baf9be726c3963d53036d914",
25
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/logs/compile.log": "237c0e84919b66ae397c3e0617d84ae3c52fbc248f83cab1514eb0654108c7cf",
26
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/step-scheduler-ring.json": "b3509bc494c9e4952fe14fd0c58df2ef1a94087a20be0f82f2c6929bbbd34f62",
27
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/logs/scheduler-ring.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
28
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/step-ldd-bench.json": "450284bd1956fa27e14b934e911e14bd9d25007497132e2233366df36515ca69",
29
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/logs/ldd-bench.log": "0719b40739ab213816a8282bc5d05d69946bb9eabba1a983458cc0672c86109f",
30
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/step-ldd-server.json": "61212e4c9fb46e5b4a2171eda739ca434d22542c24790a6b5ac6f2e657f01660",
31
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/logs/ldd-server.log": "973b3a0b6dbfbbde824ba0454f3703e9cc438a8183b6fa320fa8e6449d888c0e",
32
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/reference-release-r2-backend/verify-candidate.py": "2e678c30897545cd0f3fc7d08440ee84e4702b0f7d3d13511d716c8dcbaed0e7",
33
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/reference-release-r2-build/build-release-candidate.py": "e801264ba996dee26f9ff923b38bb697284ec5599bbc00395ec8fb2494c4690b",
34
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/reference-release-r2-build/BUILD-SPEC.json": "2c313c7e6026ebec65f7f6e89fa50e2a32924b561b64647875defe93aa7eccc6",
35
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/reference-release-r2-build/SOURCE-MANIFEST.json": "df37c370a2625f612ce863543068d48f170580e2cd85dd3e783381dcb91febb4",
36
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/pwilkin-stock-rocm10-r2-resume-r2/resume-reference-build.py": "8919c44f70d2866988cd483af2be03c2a7e760238ef8e25ce280b3b12c09f560",
37
+ "/srv/llm/work/pwilkin-prefill-20260913/phase2/pwilkin-stock-rocm10-r2-build/build-reference.py": "70a5216dec13f86b5c89fe03a17038ecb99cf2f4c76e3d63c5f4c2482125e77c"
38
+ },
39
+ "binary_hashes": {
40
+ "libggml-base.so": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
41
+ "libggml-base.so.0": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
42
+ "libggml-base.so.0.23.0": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
43
+ "libggml-cpu.so": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
44
+ "libggml-cpu.so.0": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
45
+ "libggml-cpu.so.0.23.0": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
46
+ "libggml-hip.so": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
47
+ "libggml-hip.so.0": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
48
+ "libggml-hip.so.0.23.0": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
49
+ "libggml.so": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
50
+ "libggml.so.0": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
51
+ "libggml.so.0.23.0": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
52
+ "libllama-bench-impl.so": "1e610fe805a3ca48385624c527eb30687d05973424e9c1c1c400b47932b907d6",
53
+ "libllama-common.so": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
54
+ "libllama-common.so.0": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
55
+ "libllama-common.so.0.4.0": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
56
+ "libllama-server-impl.so": "d1610c37ddbaf42bfbd2a458552c8dd8090779c8e86642faeb224ff21b29cddf",
57
+ "libllama.so": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
58
+ "libllama.so.0": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
59
+ "libllama.so.0.4.0": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
60
+ "libmtmd.so": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
61
+ "libmtmd.so.0": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
62
+ "libmtmd.so.0.4.0": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
63
+ "llama-bench": "a939ebf4f181ab5daa6dd8f163e236d8b09cabf69da63db196eb272a17061f32",
64
+ "llama-server": "6651c8ea36b8bb4ecaa8b9a06bc1353c8a209c745017ac838409c0de348d4893",
65
+ "test-backend-ops": "4f84ad6bc59a2c437fbb88b1b194dc15f57c935e7eeb2d5cde962d2e7d9e902f",
66
+ "test-backend-sched-ring": "99f898a684ccece9681e1b501d31e4a53f7f567c3f3b975ff42716cb3c1ce0be"
67
+ },
68
+ "protected_resolved_hashes": {
69
+ "/nix/store/dx1zhzy951phnqyixy0z77s0gcp6wc2z-cmake-4.1.2/bin/cmake": "ff4c10f402b79eb394d6128e2c6cd2fd17c09304a42c695e2d6bada34cd06225",
70
+ "/nix/store/vvg707j9xgklk7j4yqa8s8zxzpgwypsq-ninja-1.13.2/bin/ninja": "56abbedc80568818b970d1e2b3130e37556389437b8f8946dd4b1080ee19ba02",
71
+ "/nix/store/pf30k3mg7n6bibc1k6609gyq7glk00k2-glibc-2.42-61-bin/bin/ldd": "e2250f9b35bc105290110771a712ccd6be3ec02fb2290769f0ab4b821bdd666d",
72
+ "/nix/store/c0277k5giric1mn9dklllavbzvxl6hzb-git-2.53.0/bin/git": "9fa84c05e2851d231bbf7b1f6ba5c20884497528e2e0c4ee7155b5351fc33884",
73
+ "/nix/store/qd70v8g0561vm8m33kmnp79z00cgyi5n-gcc-wrapper-15.2.0/bin/gcc": "6f5c8ba687399cc210be10214acdcc20bed1cc7e4cfbd5d08e7931bba7903d5b",
74
+ "/nix/store/qd70v8g0561vm8m33kmnp79z00cgyi5n-gcc-wrapper-15.2.0/bin/g++": "b71ef54c88481b52d698d9fda5f435ab3e4650e4b13bc5ff9a738a3a905f1146",
75
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/bin/amdllvm": "2ec8efcf34ee0676977e497e9611bf885927b8ef94922ec3ab5d39db926fa72b",
76
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libamdhip64.so.7.15.26333-0000000": "4ac6ac420d354e279b68c18bc426ab336ccf6d72834d2ea4e915d93cf269c646",
77
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libhsa-runtime64.so.1.21.0": "d38e16355591048c387b10ffca9b643947e9e6f878941305a057401c41ade626",
78
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libhipblas.so.3.6": "3c681b75fb68ae17b55f816e0fc60a92e37a8c463ad5b6deb0b1e93883731013",
79
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/librocblas.so.5.6": "cbdb217646a3f1acc99780482c4c8841322df21d82576b5df2a71c448f2573a8",
80
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libllama-bench-impl.so": "1e610fe805a3ca48385624c527eb30687d05973424e9c1c1c400b47932b907d6",
81
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libllama-common.so.0.4.0": "022d28184cd4c9d4bd71c2dc05a2eb329133f930b846a6d8ffd483724c5eb740",
82
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libllama.so.0.4.0": "15a0f9883cb35a16deaa79a2c16ca1a4addee95b86a6c8d54008bd463536ab38",
83
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libggml.so.0.23.0": "e0dc0d2f18d97b12c37fe6701763b17e4a23e00b8f55b39ca73e969c4f00e6ae",
84
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libggml-cpu.so.0.23.0": "f8922ae684d4315767696d6c644a101654d5d204a16539e79e14ed5ff27903b9",
85
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libggml-hip.so.0.23.0": "1547a7cfbade44fc3c7b9622956a2db54b224df3784342e3faef3ce710ad0376",
86
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libggml-base.so.0.23.0": "9b34abd2593986b49302fe9b46def6c899ef120639e062e195c40d4ed5121b44",
87
+ "/nix/store/si4q3zks5mn5jhzzyri9hhd3cv789vlm-gcc-15.2.0-lib/lib/libstdc++.so.6.0.34": "a2dcb70d9a52e47903bd53e343b8877c5811db80f1f97f78a882431188e36b0d",
88
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/libm.so.6": "1a5b421697440dc7095fed465890a3b964533a275b4043c689d1fd4ef57503e5",
89
+ "/nix/store/wrxyd3k2f4bmh52pr5rpdjxxsm5r2qxm-gcc-15.2.0-libgcc/lib/libgcc_s.so.1": "ae044ece9877d38a4a4bcee7b9c15eed9b50d0dad24d41617eec8fff8bbd262d",
90
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/libc.so.6": "6fcad203e10b304de3988b4e6e85df56a71f7ff9ae8898cb20fcf9bda330e2df",
91
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/ld-linux-x86-64.so.2": "1640ec4d1cfcc3c19430b368cbbb057c5652eac340ecba12cf9dfbe2c3769d07",
92
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/libdl.so.2": "b865862b59d19329e775704b53560ae87bc09f2c4161f94101a9913b1936946e",
93
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/lib/libomp.so": "ae68b99b04a8ee9a971fcacabd974ffb52bc928dda6e43e105e7e8aa5e795be6",
94
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/libpthread.so.0": "a91bfbc5485171fb38c6cce50e22c91f144628cadec61b57ce88c81b848d0828",
95
+ "/nix/store/fjkx1l5cnskzrqacf08z7i8z17256w0j-glibc-2.42-61/lib/librt.so.1": "6f485fa6927af7702c46ce27c2862a6459fdbfccae20b9e351ec54d0c76266b3",
96
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/librocsolver.so.0.11": "f1beebfc7db2fc029000de39741e92b1e454b5b94dc9e21f1708be9e7277c963",
97
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libroctx64.so.4.1.0": "7272659ab98898cb6fffb15e300989d500831506cdbc6766e40d99461e83dc49",
98
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libhipblaslt.so.1.4": "4f418b996f01273b4e3a22ea9e7d97f9cf9b47e4a21ca6ad0c5253ce8aa1112b",
99
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/librocm_kpack.so.0.1.0": "7e7d63d3ff95582b4ac87ea915c6797c44fed2473c457feaef805886913a0e83",
100
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/librocprofiler-register.so.0.6.0": "1ae1c97f37cc3e60ebe479da626071b6f85a3d41b6d8f77209905b8402e1fc16",
101
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/libamd_comgr.so.3.3.0": "822e25d21f0b7773c260d024db0ff6d2ac21f577e430ce1f4a7f547194e0d192",
102
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/liborigami.so.1.0": "44e9ea577c36f6a6fff58913801cc4c009134ed92b925af39d960a1e0dd029f7",
103
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_z.so.1.3.2": "27361c0c552d2afd5ecf9079f356309ed827e9a27d35f2fc68c7b5e6b5c83199",
104
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/librocroller.so.1.0.0": "8a1cdab3facd64268116741d7edf22d53cc7e3d6576a68bf4030de22ec6e87c2",
105
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_zstd.so.1.5.7": "5fc4ab0e6899318ece9bea43d3d397d20053418a5e40cb6bc86efe19a801c75e",
106
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/lib/libclang-cpp.so.23.0git": "b4b405e28632368cbc7f0ff0983648ec35f27b7606cb47882a0e2262f5c71dc3",
107
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/llvm/lib/libLLVM.so.23.0git": "94861a13bc545d3c4e4cb7d3f46e9394796741be0b71f65a7e676627734a6492",
108
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_elf.so.1": "cc7c1d8faa3f067072c6496cdaba16ed792d94130c41b2b0d5f01bc6367631f5",
109
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_drm.so.2": "cf203bcf5f42df87c5e292b254ea6cd801c3612027c04e5f29bfc71607877775",
110
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_drm_amdgpu.so.1": "e3cdcb253c88f9b79a63b4ee70d3696682c650a05fff1b7c5aa07eacc4eb2ff1",
111
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_numa.so.1": "333b980e3f706f7196c73a33967c7979e9fd47b6d5f5f51ed3990142ef4142cb",
112
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_liblzma.so.5.8.1": "15402b36e2fdb0762e0b6590c3470fccec5e80cc8010c84ac4835573d592c02d",
113
+ "/srv/llm/toolchains/therock-gfx1151-10.0.0/lib/rocm_sysdeps/lib/librocm_sysdeps_bz2.so": "fe4102b002321cea17405cf9c6aa04cf46e726bea5666c40ac8639684314de02",
114
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libllama-server-impl.so": "d1610c37ddbaf42bfbd2a458552c8dd8090779c8e86642faeb224ff21b29cddf",
115
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/libmtmd.so.0.4.0": "bfd37141ab90aa26024842be5424365658a7dab475e10fa29868f584b2612df6",
116
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/llama-bench": "a939ebf4f181ab5daa6dd8f163e236d8b09cabf69da63db196eb272a17061f32",
117
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/llama-server": "6651c8ea36b8bb4ecaa8b9a06bc1353c8a209c745017ac838409c0de348d4893",
118
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/test-backend-ops": "4f84ad6bc59a2c437fbb88b1b194dc15f57c935e7eeb2d5cde962d2e7d9e902f",
119
+ "/srv/llm/work/pwilkin-prefill-20260913/reference/ciru-reference-release-r2/build/bin/test-backend-sched-ring": "99f898a684ccece9681e1b501d31e4a53f7f567c3f3b975ff42716cb3c1ce0be"
120
+ }
121
+ }
122
+ }
benchmarks/v3.1.0/source-manifest.json ADDED
The diff for this file is too large to render. See raw diff
 
benchmarks/v3.1.0/strix-v3.1.0-evidence.tar.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a0ec4d26829af13e78f485e435593aa16d621ccd4a66509ef37b82ffcce8a0f8
3
+ size 3362147
benchmarks/v3.1.0/vision-artifact-receipt.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "path": "/srv/llm/work/pwilkin-prefill-20260913/phase2/vision-artifact-r1/vision/mmproj-Qwen3.8-Flash-F16.mmproj",
3
+ "bytes": 904003840,
4
+ "sha256": "db643482521c722ff1074afd5018c060ef6ce9b828421c7cfc27b2f235c2569b",
5
+ "source_revision": "94b2dfe0b3617128edd76a24eb32d3783916c679",
6
+ "verified": true
7
+ }
run-server.sh CHANGED
@@ -2,7 +2,7 @@
2
  set -euo pipefail
3
 
4
  package_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
- repo_root="${RUNTIME_DIR:?Set RUNTIME_DIR to the CIRU v3 source checkout}"
6
  repo_root="$(cd "$repo_root" && pwd)"
7
  build_dir="${BUILD_DIR:-${repo_root}/build-gfx1151-sdk}"
8
  server_bin="${SERVER_BIN:-${build_dir}/bin/llama-server}"
@@ -10,7 +10,7 @@ model_dir="${MODEL_DIR:-${package_root}}"
10
  model="${model_dir}/Qwen3.8-Flash-CIRU-STRIX-IU4.gguf"
11
  draft="${model_dir}/mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf"
12
  ple_dir="${model_dir}/ple"
13
- slot_dir="${SLOT_DIR:-${package_root}/slot-state}"
14
 
15
  # Launcher-only opt-in; remaining arguments are passed to llama-server.
16
  enable_vision="${ENABLE_VISION:-0}"
@@ -33,7 +33,14 @@ if [[ "$enable_vision" == 1 && ! -f "$mmproj" ]]; then
33
  exit 2
34
  fi
35
 
36
- # The released shortlist has one shared row map and requires exactly one slot.
 
 
 
 
 
 
 
37
  # Include trailing CLI overrides so --parallel/-np cannot bypass this check.
38
  parallel_slots="${PARALLEL_SLOTS:-1}"
39
  extra_args=("$@")
@@ -47,8 +54,8 @@ for ((i = 0; i < ${#extra_args[@]}; i++)); do
47
  -np=*) parallel_slots="${extra_args[i]#*=}" ;;
48
  esac
49
  done
50
- if [[ "${ENABLE_MTP:-1}" != "0" && "${parallel_slots}" != "1" ]]; then
51
- echo "The CIRU MTP shortlist requires exactly one slot (--parallel 1)." >&2
52
  echo "For parallel target-only serving, set ENABLE_MTP=0 and PARALLEL_SLOTS=2." >&2
53
  echo "See docs/RUNNING.md: Parallel requests and unified KV cache." >&2
54
  exit 2
@@ -61,6 +68,9 @@ for required in "${server_bin}" "${model}" "${ple_dir}/ple.payload.bin" "${ple_d
61
  fi
62
  done
63
 
 
 
 
64
  mkdir -p "${slot_dir}"
65
 
66
  set -a
@@ -80,9 +90,13 @@ args=(
80
  -ngl all
81
  -sm none
82
  --fit off
 
 
 
 
83
  -c "${CONTEXT_SIZE:-262144}"
84
- -b "${BATCH_SIZE:-1024}"
85
- -ub "${UBATCH_SIZE:-1024}"
86
  --parallel "${PARALLEL_SLOTS:-1}"
87
  -t "${THREADS:-8}"
88
  -tb "${BATCH_THREADS:-8}"
@@ -91,7 +105,7 @@ args=(
91
  -fa on
92
  --cont-batching
93
  --cache-prompt
94
- --cache-ram "${PROMPT_CACHE_MIB:-8192}"
95
  --cache-idle-slots
96
  --ctx-checkpoints "${CTX_CHECKPOINTS:-32}"
97
  --checkpoint-min-step "${CHECKPOINT_MIN_STEP:-8192}"
@@ -103,11 +117,39 @@ args=(
103
  --slots
104
  )
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  if [[ "$enable_vision" == 1 ]]; then
107
  args+=(--mmproj "$mmproj")
108
  fi
109
 
110
- if [[ "${ENABLE_MTP:-1}" != "0" ]]; then
111
  if [[ ! -f "${draft}" ]]; then
112
  echo "MTP is enabled but the draft model is missing: ${draft}" >&2
113
  exit 2
@@ -117,8 +159,8 @@ if [[ "${ENABLE_MTP:-1}" != "0" ]]; then
117
  --spec-draft-model "${draft}"
118
  --spec-draft-ngl all
119
  --spec-draft-device "${DRAFT_DEVICE:-ROCm0}"
120
- --spec-draft-type-k q8_0
121
- --spec-draft-type-v q8_0
122
  --spec-draft-threads "${DRAFT_THREADS:-8}"
123
  --spec-draft-threads-batch "${DRAFT_BATCH_THREADS:-8}"
124
  --spec-draft-n-max "${MTP_DEPTH:-6}"
@@ -126,6 +168,8 @@ if [[ "${ENABLE_MTP:-1}" != "0" ]]; then
126
  --spec-draft-p-min 0.0
127
  --spec-draft-p-split 0.10
128
  )
 
 
129
  fi
130
 
131
  unset GGML_HIP_GRAPH_EXEC_UPDATE CIRU_MTP_GPU_CONFIDENCE CIRU_MTP_GPU_ADAPTIVE CIRU_MTP_GPU_CONF_MIN CIRU_MOE_EXPERT_REUSE CIRU_MTP_TRACE CIRU_MTP_CONF_TRACE LD_PRELOAD
 
2
  set -euo pipefail
3
 
4
  package_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ repo_root="${RUNTIME_DIR:?Set RUNTIME_DIR to the CIRU v3.1.0 source checkout}"
6
  repo_root="$(cd "$repo_root" && pwd)"
7
  build_dir="${BUILD_DIR:-${repo_root}/build-gfx1151-sdk}"
8
  server_bin="${SERVER_BIN:-${build_dir}/bin/llama-server}"
 
10
  model="${model_dir}/Qwen3.8-Flash-CIRU-STRIX-IU4.gguf"
11
  draft="${model_dir}/mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf"
12
  ple_dir="${model_dir}/ple"
13
+ slot_dir="${SLOT_DIR:-${package_root}/slot-state/v3.1.0}"
14
 
15
  # Launcher-only opt-in; remaining arguments are passed to llama-server.
16
  enable_vision="${ENABLE_VISION:-0}"
 
33
  exit 2
34
  fi
35
 
36
+ # Image batches are qualified with target-only generation.
37
+ enable_mtp="${ENABLE_MTP:-1}"
38
+ if [[ "$enable_vision" == 1 ]]; then
39
+ enable_mtp=0
40
+ echo "Vision mode uses target-only generation (MTP disabled)." >&2
41
+ fi
42
+
43
+ # The release qualifies MTP with exactly one slot; preserve the public guard.
44
  # Include trailing CLI overrides so --parallel/-np cannot bypass this check.
45
  parallel_slots="${PARALLEL_SLOTS:-1}"
46
  extra_args=("$@")
 
54
  -np=*) parallel_slots="${extra_args[i]#*=}" ;;
55
  esac
56
  done
57
+ if [[ "${enable_mtp}" != "0" && "${parallel_slots}" != "1" ]]; then
58
+ echo "The CIRU v3.1.0 MTP profile requires exactly one slot (--parallel 1)." >&2
59
  echo "For parallel target-only serving, set ENABLE_MTP=0 and PARALLEL_SLOTS=2." >&2
60
  echo "See docs/RUNNING.md: Parallel requests and unified KV cache." >&2
61
  exit 2
 
68
  fi
69
  done
70
 
71
+ server_bin="$(realpath "${server_bin}")"
72
+ export LD_LIBRARY_PATH="$(dirname "${server_bin}")${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
73
+
74
  mkdir -p "${slot_dir}"
75
 
76
  set -a
 
90
  -ngl all
91
  -sm none
92
  --fit off
93
+ -lm none
94
+ -lzm on-direct
95
+ --no-kv-unified
96
+ --no-context-shift
97
  -c "${CONTEXT_SIZE:-262144}"
98
+ -b "${BATCH_SIZE:-8192}"
99
+ -ub "${UBATCH_SIZE:-8192}"
100
  --parallel "${PARALLEL_SLOTS:-1}"
101
  -t "${THREADS:-8}"
102
  -tb "${BATCH_THREADS:-8}"
 
105
  -fa on
106
  --cont-batching
107
  --cache-prompt
108
+ --cache-ram "${PROMPT_CACHE_MIB:-1024}"
109
  --cache-idle-slots
110
  --ctx-checkpoints "${CTX_CHECKPOINTS:-32}"
111
  --checkpoint-min-step "${CHECKPOINT_MIN_STEP:-8192}"
 
117
  --slots
118
  )
119
 
120
+ # External assets preserve the Web UI without rebuilding the inference binary.
121
+ enable_ui="${ENABLE_UI:-1}"
122
+ ui_dir="${UI_DIR:-${repo_root}/ui}"
123
+ for ((i = 0; i < ${#extra_args[@]}; i++)); do
124
+ case "${extra_args[i]}" in
125
+ --no-ui|--no-webui) enable_ui=0 ;;
126
+ --ui|--webui) enable_ui=1 ;;
127
+ --path)
128
+ ui_dir="${extra_args[i+1]:-}"
129
+ ((i += 1))
130
+ ;;
131
+ --path=*) ui_dir="${extra_args[i]#*=}" ;;
132
+ esac
133
+ done
134
+ if [[ "$enable_ui" == 1 ]]; then
135
+ if [[ ! -f "${ui_dir}/index.html" ]]; then
136
+ echo "Web UI assets are missing: ${ui_dir}/index.html" >&2
137
+ echo "Install this runtime's ui/ directory, set UI_DIR, or use ENABLE_UI=0 for API-only serving." >&2
138
+ exit 2
139
+ fi
140
+ args+=(--ui --path "$ui_dir")
141
+ elif [[ "$enable_ui" == 0 ]]; then
142
+ args+=(--no-ui)
143
+ else
144
+ echo "ENABLE_UI must be 0 or 1." >&2
145
+ exit 2
146
+ fi
147
+
148
  if [[ "$enable_vision" == 1 ]]; then
149
  args+=(--mmproj "$mmproj")
150
  fi
151
 
152
+ if [[ "${enable_mtp}" != "0" ]]; then
153
  if [[ ! -f "${draft}" ]]; then
154
  echo "MTP is enabled but the draft model is missing: ${draft}" >&2
155
  exit 2
 
159
  --spec-draft-model "${draft}"
160
  --spec-draft-ngl all
161
  --spec-draft-device "${DRAFT_DEVICE:-ROCm0}"
162
+ --spec-draft-type-k f16
163
+ --spec-draft-type-v f16
164
  --spec-draft-threads "${DRAFT_THREADS:-8}"
165
  --spec-draft-threads-batch "${DRAFT_BATCH_THREADS:-8}"
166
  --spec-draft-n-max "${MTP_DEPTH:-6}"
 
168
  --spec-draft-p-min 0.0
169
  --spec-draft-p-split 0.10
170
  )
171
+ else
172
+ args+=(--spec-type none)
173
  fi
174
 
175
  unset GGML_HIP_GRAPH_EXEC_UPDATE CIRU_MTP_GPU_CONFIDENCE CIRU_MTP_GPU_ADAPTIVE CIRU_MTP_GPU_CONF_MIN CIRU_MOE_EXPERT_REUSE CIRU_MTP_TRACE CIRU_MTP_CONF_TRACE LD_PRELOAD
runtime/v3.1.0/ciru-runtime-v3.1.0-nixos-gfx1151.tar.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5bd716f23c3c52ed199c068fe2fddfbb125c5816a3a5573ba3367d4c99632515
3
+ size 28216882
runtime/v3.1.0/ciru-runtime-v3.1.0-source.tar.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46690824536616b89feb79e2701f097697896e9df8c007a9802de0ac984d5b24
3
+ size 40629778
v3.1.0-checksums.sha256 ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 82659632a8ec24e0813e550f44b1acc37000f0f70e43f7b52e75218634b50311 README.md
2
+ 9f9fac2c4d374d2248ad498570077fcfe6a1ebdc2233da1dad6b77414726e067 benchmarks/v3.0.0/MODEL-CARD-BEFORE-V3.1.0.md
3
+ 2c313c7e6026ebec65f7f6e89fa50e2a32924b561b64647875defe93aa7eccc6 benchmarks/v3.1.0/BUILD-SPEC.json
4
+ 662b609fbe3f4120d76e8f520aba2849e258dbb04447e72aa2b057f4d861726c benchmarks/v3.1.0/FINAL-QUALIFICATION.json
5
+ f7b622b81613317c1630eb77963a339e4b308a94efa3acb10018ab01c94c1c28 benchmarks/v3.1.0/LAUNCHER-CHECKS.json
6
+ 1248c5c446d472d9ce11da1bbc7db953460d4d9552badd42d81d7165026f49cf benchmarks/v3.1.0/QUALIFICATION.md
7
+ b882f77764a4572fcd5efb9d4c2f367bd8d291638181350c8185cf50680ee192 benchmarks/v3.1.0/QUALITY-IMPORT-CONTEXT-AUDIT.json
8
+ 7e91d494efcc8c6ddf8e38f84256678bfce45d64ead252f292d58b95925a53d3 benchmarks/v3.1.0/RELEASE-OWN-MODEL-IDENTITY.json
9
+ df37c370a2625f612ce863543068d48f170580e2cd85dd3e783381dcb91febb4 benchmarks/v3.1.0/SOURCE-MANIFEST.json
10
+ bf2794bf2cc905730ec4bdefd5aa8831ff05d6ccd3a5067545236f91d53862ce benchmarks/v3.1.0/UI-PROVENANCE.json
11
+ df9840f360657031f7ead4e4e62697c5ea942275314c0186e762ec7c839e2e30 benchmarks/v3.1.0/binary-package-archive.json
12
+ 76a94816a4fb2e852a166fbfcb6d624091843720b49c9690e00f2d73e09bfe70 benchmarks/v3.1.0/ciru-reference-release-r2-capacity-cache1024-capacity1-COMPLETE.json
13
+ 7f9b42e5258ee9ba96aba4b2f4fd53683617998382d959bed2e8f62c697b6ba2 benchmarks/v3.1.0/ciru-reference-release-r2-serving-cache1024-gate1-COMPLETE.json
14
+ 50890867687d6e6d8dcd7093da3d024a7324181361504f4f7cac7eecbcd18659 benchmarks/v3.1.0/ciru-reference-release-r2-serving-cache1024-gate1-provided-imports-r1-COMPLETE.json
15
+ c44401ba5601b2ec0e077117a2821a70f8a64d634396ff63e1219521fb9e6ace benchmarks/v3.1.0/git-source.json
16
+ 3d8feda3b721c763ba845ee651013f53d34d8864a851287915430738af075fb4 benchmarks/v3.1.0/packaging-r2-cache1024-text-gate1-COMPLETE.json
17
+ f73fe47c7101f72a8b93ae5a774cdb6d71e76193e76966a01e73f51a068c95e3 benchmarks/v3.1.0/packaging-r2-cache1024-vision-gate1-COMPLETE.json
18
+ 050e67cbdeecbb9c84b9d9954985ed7b2635cafae36547152385ff367f0138e9 benchmarks/v3.1.0/source-identity.json
19
+ 6fd3edaef865d96150c2308a14ecdc44718097c0e5ce425b4751b111d629a85c benchmarks/v3.1.0/source-manifest.json
20
+ a0ec4d26829af13e78f485e435593aa16d621ccd4a66509ef37b82ffcce8a0f8 benchmarks/v3.1.0/strix-v3.1.0-evidence.tar.gz
21
+ cde2e7171904bc03189eb37eb8846ccdc9c6bcc548b15255934376a1d80f3414 benchmarks/v3.1.0/vision-artifact-receipt.json
22
+ 74ba42a340d3576c0334ffd63426f1b3937a14c5fd2c5935b530ae7102134803 run-server.sh
23
+ 5bd716f23c3c52ed199c068fe2fddfbb125c5816a3a5573ba3367d4c99632515 runtime/v3.1.0/ciru-runtime-v3.1.0-nixos-gfx1151.tar.gz
24
+ 46690824536616b89feb79e2701f097697896e9df8c007a9802de0ac984d5b24 runtime/v3.1.0/ciru-runtime-v3.1.0-source.tar.gz
25
+ 16de297d0d32eef07757769ac0f572f4159b71fd1de3b9de9f015886cb9affd9 vision/provenance.json
vision/provenance.json CHANGED
@@ -4,5 +4,5 @@
4
  "converter": "CIRU v3 conversion/qwen4exp.py Qwen4ExpVisionModel",
5
  "outtype": "f16",
6
  "sha256": "db643482521c722ff1074afd5018c060ef6ce9b828421c7cfc27b2f235c2569b",
7
- "bytes": 904004320
8
  }
 
4
  "converter": "CIRU v3 conversion/qwen4exp.py Qwen4ExpVisionModel",
5
  "outtype": "f16",
6
  "sha256": "db643482521c722ff1074afd5018c060ef6ce9b828421c7cfc27b2f235c2569b",
7
+ "bytes": 904003840
8
  }