Image-Text-to-Text
GGUF
llama.cpp
qwen
qwen3.8
qwen3.8-flash-next
amd
rocm
gfx1151
ryzen-ai-max-395
strix-halo
mixture-of-experts
iu4
mtp
speculative-decoding
nvme
ple
long-context
local-inference
vision
conversational
Instructions to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0 # Run inference directly in the terminal: llama cli -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0 # Run inference directly in the terminal: llama cli -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Use Docker
docker model run hf.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
- LM Studio
- Jan
- vLLM
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
- Ollama
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with Ollama:
ollama run hf.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
- Unsloth Desktop
- Pi
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with Docker Model Runner:
docker model run hf.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
- Lemonade
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Run and chat with the model
lemonade run user.Qwen3.8-Flash-CIRU-STRIX-IU4-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4:Q8_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Launch v2.0 with verified non-thinking coding, fidelity and prefill results
Browse files- README.md +140 -200
- assets/v2-bf16-fidelity.png +0 -0
- benchmarks/v2.0/METHODOLOGY.md +6 -0
- benchmarks/v2.0/controlled-coding-42tps.json +384 -0
- benchmarks/v2.0/ubuntu24-qualification.tar.gz +0 -0
- profiles/strix-halo-production.env +6 -1
- v2.0-checksums.sha256 +3 -2
README.md
CHANGED
|
@@ -32,146 +32,164 @@ tags:
|
|
| 32 |
|
| 33 |
[](https://llm.ciru.ai/research)
|
| 34 |
|
| 35 |
-
# Qwen3.8-Flash-CIRU-STRIX-IU4
|
| 36 |
|
| 37 |
-
**
|
| 38 |
|
| 39 |
-
|
| 40 |
-
> This is a text-only, custom-runtime release. The main GGUF is **not standalone**: it requires the CIRU [`llama.cpp` runtime](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4) and all three files under `ple/`. The MTP draft under `mtp/` enables the headline speculative-decoding profile. Stock `llama.cpp` and Hugging Face hosted inference cannot run this package correctly.
|
| 41 |
|
| 42 |
> [!IMPORTANT]
|
| 43 |
-
> **Use
|
|
|
|
|
|
|
| 44 |
|
| 45 |
-
##
|
| 46 |
|
| 47 |
-
| Result |
|
| 48 |
|---|---:|---|
|
| 49 |
-
|
|
| 50 |
-
|
|
| 51 |
-
|
|
| 52 |
-
|
|
| 53 |
-
|
|
| 54 |
-
|
|
| 55 |
-
| H121 8K generation | **30.80 tok/s** | 128 generated tokens, MTP depth 3 |
|
| 56 |
-
| Long-context coverage | **131,072 prompt tokens** | Cold exact-count context ladder |
|
| 57 |
|
| 58 |
-
|
| 59 |
|
| 60 |
-
|
| 61 |
|
| 62 |
-
|
| 63 |
|
| 64 |
-
-
|
| 65 |
-
- **Native IU4 execution.** Stored Q4_1 expert weights use a tuned unsigned-IU4 WMMA path on gfx1151. `IU4` describes runtime execution, not a uniform four-bit model or custom GGUF storage type.
|
| 66 |
-
- **NVMe-paged exact FP8 PLE.** The mandatory CIRUPLE1 sidecar pages exact FP8 E4M3 PLE weights from SSD with a 4 GiB decoded-page cache.
|
| 67 |
-
- **MTP speculation.** The included Q8_0 draft supports the public depth-3 speculative profile.
|
| 68 |
-
- **Production caching.** Version 1.1 enables prompt reuse, an 8 GiB RAM prompt cache, idle-slot caching, and synchronized target/draft/MTP context checkpoints.
|
| 69 |
-
- **Long context.** Native server configuration is 262,144 tokens; cold performance has been measured through 131,072 prompt tokens.
|
| 70 |
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
-
|
| 74 |
|
| 75 |
-
|
| 76 |
|
| 77 |
-
|
| 78 |
|
| 79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
|
| 81 |
-
|
| 82 |
|
| 83 |
-
|
| 84 |
|
| 85 |
-
|
| 86 |
-
ggml_set_output(inp->tokens);
|
| 87 |
-
ggml_set_output(inp->h);
|
| 88 |
-
```
|
| 89 |
|
| 90 |
-
|
| 91 |
|
| 92 |
-
|
| 93 |
|
| 94 |
-
|
| 95 |
|
| 96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
-
|
| 99 |
-
python3 -m venv .venv-hf
|
| 100 |
-
.venv-hf/bin/python -m pip install -U huggingface_hub
|
| 101 |
-
. .venv-hf/bin/activate
|
| 102 |
-
hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
|
| 103 |
-
--local-dir ./Qwen3.8-Flash-CIRU-STRIX-IU4
|
| 104 |
-
cd Qwen3.8-Flash-CIRU-STRIX-IU4
|
| 105 |
-
sha256sum -c checksums.sha256
|
| 106 |
-
```
|
| 107 |
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
```text
|
| 111 |
-
Qwen3.8-Flash-CIRU-STRIX-IU4/
|
| 112 |
-
├── Qwen3.8-Flash-CIRU-STRIX-IU4.gguf
|
| 113 |
-
├── mtp/
|
| 114 |
-
│ └── Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf
|
| 115 |
-
└── ple/
|
| 116 |
-
├── ple.manifest.json
|
| 117 |
-
├── ple.payload.bin
|
| 118 |
-
└── ple.scale.bf16
|
| 119 |
-
```
|
| 120 |
|
| 121 |
-
|
| 122 |
-
|---|---:|---:|---|
|
| 123 |
-
| `Qwen3.8-Flash-CIRU-STRIX-IU4.gguf` | 79,397,818,720 | 73.944981 | `c0ea11e4e24d0f909720b6c4e7462aa1e6fbf5e0f6acc796063f2aed4cf46ed0` |
|
| 124 |
-
| `mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf` | 4,135,893,248 | 3.851851 | `e6743badef1f2619fcb5addfa4344a2a3368cb75214735117e3af80c70b80642` |
|
| 125 |
-
| `ple/ple.payload.bin` | 52,429,053,952 | 48.828362 | `687fc742efb6888c6cd7cf9c80cb4b1ac8cb4707b9409c206699c43363e239b2` |
|
| 126 |
-
| `ple/ple.manifest.json` | 115,213 | 0.000107 | `eb7404ce5ef056729452df10ee888e0c300cd0459121444be3313c51788cc171` |
|
| 127 |
-
| `ple/ple.scale.bf16` | 2 | <0.000001 | `c7c58bd6007672362da2106fdbfaf9f50629e4bdf8598169c598027394ef9791` |
|
| 128 |
|
| 129 |
-
|
|
|
|
| 130 |
|
| 131 |
-
##
|
| 132 |
|
| 133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
|
| 135 |
-
|
| 136 |
|
| 137 |
-
```
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
./
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
|
| 144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 145 |
|
| 146 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
|
| 148 |
```bash
|
| 149 |
-
|
| 150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
./scripts/ciru/setup-linux-amd.sh --install-host-deps
|
| 152 |
```
|
| 153 |
|
| 154 |
-
The
|
| 155 |
-
|
| 156 |
-
If you see a missing `AMDDeviceLibsConfig.cmake` under `/opt/rocm` or a missing `hipblasConfig.cmake`, SDK discovery has failed before model loading. The Ubuntu 26 report resolved HIP from `/usr` while also using `/opt/rocm`; use a complete matching SDK instead of mixing the two package layouts. The isolated setup avoids that mixture. The ccache warning is harmless. See the [Linux troubleshooting guide](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1.1/docs/BUILD_LINUX.md#repairing-the-ubuntu-26-build-report).
|
| 157 |
|
| 158 |
-
|
| 159 |
|
| 160 |
```bash
|
| 161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 162 |
```
|
| 163 |
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
- [Linux setup, SDK troubleshooting, NixOS, and WSL2](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1.1/docs/BUILD_LINUX.md)
|
| 167 |
-
- [Native Windows CPU compatibility](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1/docs/BUILD_WINDOWS.md)
|
| 168 |
-
- [macOS Metal compatibility](https://github.com/ciru-ai/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/v1.1/docs/BUILD_MACOS.md)
|
| 169 |
|
| 170 |
-
|
| 171 |
|
| 172 |
-
##
|
| 173 |
|
| 174 |
-
From the
|
| 175 |
|
| 176 |
```bash
|
| 177 |
BUILD_DIR="$PWD/build-gfx1151-sdk" \
|
|
@@ -179,7 +197,7 @@ BUILD_DIR="$PWD/build-gfx1151-sdk" \
|
|
| 179 |
./scripts/ciru/run-server.sh
|
| 180 |
```
|
| 181 |
|
| 182 |
-
|
| 183 |
|
| 184 |
```bash
|
| 185 |
curl http://127.0.0.1:8080/v1/chat/completions \
|
|
@@ -190,131 +208,53 @@ curl http://127.0.0.1:8080/v1/chat/completions \
|
|
| 190 |
"temperature": 1.0,
|
| 191 |
"top_p": 0.95,
|
| 192 |
"top_k": 20,
|
|
|
|
| 193 |
"cache_prompt": true
|
| 194 |
}'
|
| 195 |
```
|
| 196 |
|
| 197 |
-
|
| 198 |
|
| 199 |
-
-
|
| 200 |
-
- Prompt cache: enabled, 8 GiB RAM cache, idle-slot caching.
|
| 201 |
-
- Context checkpoints: 32, minimum spacing 8,192 tokens.
|
| 202 |
-
- Context/batch/microbatch: 262,144 / 2,048 / 512.
|
| 203 |
-
- One slot, F16 target KV, Q8_0 draft KV, flash attention on.
|
| 204 |
-
- MTP depth 3 with `p_split=0.10`.
|
| 205 |
-
- Loopback-only bind at `127.0.0.1:8080`.
|
| 206 |
|
| 207 |
-
|
| 208 |
|
| 209 |
-
|
| 210 |
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
Upstream Qwen recommendations:
|
| 214 |
-
|
| 215 |
-
| Mode | Temperature | Top-p | Top-k | Min-p | Presence penalty | Repetition penalty |
|
| 216 |
-
|---|---:|---:|---:|---:|---:|---:|
|
| 217 |
-
| Thinking, default | 1.0 | 0.95 | 20 | 0 | 0 | 1.0 |
|
| 218 |
-
| Non-thinking | 0.7 | 0.80 | 20 | 0 | 1.5 | 1.0 |
|
| 219 |
-
|
| 220 |
-
For non-thinking mode, send `"chat_template_kwargs":{"enable_thinking":false}`. Keep `"cache_prompt":true` for normal reusable chat traffic on version 1.1.
|
| 221 |
-
|
| 222 |
-
## Quality results
|
| 223 |
-
|
| 224 |
-
| Benchmark | Result | Coverage and caveat |
|
| 225 |
|---|---:|---|
|
| 226 |
-
| HumanEval |
|
| 227 |
-
| HumanEval+ |
|
| 228 |
-
| ARC-Challenge |
|
| 229 |
-
| ToolEval Standard |
|
| 230 |
-
| ToolEval Hard |
|
| 231 |
-
| GPQA-Diamond | **46/50 (92.0%)** | Sampled first/default-order 50 of 198; not a full score |
|
| 232 |
-
| MMLU-Pro | **61/70 (87.143%)** | Sampled 5 from each of 14 subjects |
|
| 233 |
-
| GSM8K | **97/100 (97.0%)** | Sampled local run |
|
| 234 |
-
| IFEval strict | **92/100 (92.0%)** | Sampled prompt-level-strict local run |
|
| 235 |
-
|
| 236 |
-
HumanEval serving averages were 211.108 prefill tok/s and 31.531 generation tok/s, with depth-1 MTP acceptance of 19,618/20,098 (97.612%) and zero API, validation, pager, or slot-erase failures.
|
| 237 |
-
|
| 238 |
-
The sampled GPQA, MMLU-Pro, GSM8K, and IFEval rows are **not full-suite or leaderboard-comparable claims**. ToolEval is a local functional rubric and recorded injection/safety misses in standard TC33/TC34 and hard TC81; do not use the aggregate as evidence for unsupervised tool safety.
|
| 239 |
-
|
| 240 |
-
## Performance
|
| 241 |
-
|
| 242 |
-
Version 1.0/H121 matched performance row; version 1.1 changes cache-state correctness rather than kernels or model execution:
|
| 243 |
-
|
| 244 |
-
| Prompt + generation | Cold prefill | Generation | TTFP | MTP accepted |
|
| 245 |
-
|---|---:|---:|---:|---:|
|
| 246 |
-
| 8,192 + 128 | **359.4267 tok/s** | **30.7970 tok/s** | 22.807 s | 84/128 |
|
| 247 |
-
|
| 248 |
-
Cold context ladder, same artifacts on the pre-fix H111 runtime, 128 generated tokens per row:
|
| 249 |
-
|
| 250 |
-
| Prompt tokens | Prefill tok/s | Generation tok/s |
|
| 251 |
-
|---:|---:|---:|
|
| 252 |
-
| 512 | 298.3149 | 29.9648 |
|
| 253 |
-
| 2,048 | 376.9801 | 24.3850 |
|
| 254 |
-
| 4,096 | 378.9664 | 22.8458 |
|
| 255 |
-
| 8,192 | 372.8099 | 32.1142 |
|
| 256 |
-
| 16,384 | 295.0188 | 28.3220 |
|
| 257 |
-
| 32,768 | 228.2670 | 23.2864 |
|
| 258 |
-
| 65,536 | 174.6093 | 14.7909 |
|
| 259 |
-
| 131,072 | 121.0477 | 11.3400 |
|
| 260 |
-
|
| 261 |
-
All context rows were exact-count, real-source, cold prompts with no logged error. H121 changes MTP continuation-buffer lifetime, not prefill, but only the 8K release row has been repeated post-fix. The configured context is 262,144; the tested ladder stops at 131,072.
|
| 262 |
-
|
| 263 |
-
## BF16 and Q5 diagnostic comparison
|
| 264 |
-
|
| 265 |
-
On a small 64-position, four-domain full-vocabulary panel, the CIRU model tied the size-matched Q5 control at **59/64 (92.19%) BF16 top-token agreement**. On the shared 60-token observed-next-token slice:
|
| 266 |
-
|
| 267 |
-
- BF16 PPL: 2.017988
|
| 268 |
-
- CIRU IU4 PPL: **2.242104 (+11.106%)**
|
| 269 |
-
- Q5 PPL: 2.341209 (+16.017%)
|
| 270 |
-
|
| 271 |
-
The CIRU arm had lower observed-token PPL on this tiny slice, while Q5 had better aggregate full-distribution forward KL (0.170264 vs 0.223406 nats). This is diagnostic evidence, not a broad perplexity benchmark.
|
| 272 |
-
|
| 273 |
-
## Architecture and storage
|
| 274 |
-
|
| 275 |
-
The 1,223 target tensors are stored as:
|
| 276 |
-
|
| 277 |
-
| Type | Tensors |
|
| 278 |
-
|---|---:|
|
| 279 |
-
| F32 | 388 |
|
| 280 |
-
| Q5_K | 328 |
|
| 281 |
-
| Q8_0 | 290 |
|
| 282 |
-
| Q4_1 | 144 |
|
| 283 |
-
| Q5_1 | 48 |
|
| 284 |
-
| BF16 | 25 |
|
| 285 |
|
| 286 |
-
|
| 287 |
|
| 288 |
-
##
|
| 289 |
|
| 290 |
-
|
| 291 |
-
- Fast NVMe is mandatory for the external PLE pager.
|
| 292 |
-
- Allow at least 160 GiB free storage for model files and verification/work space.
|
| 293 |
-
- Linux is required for the measured P16/`O_DIRECT` PLE prefill path.
|
| 294 |
-
- The model is text-only; no projector is shipped.
|
| 295 |
-
- Bind to loopback unless you add authentication, TLS, request limits, and a reverse proxy.
|
| 296 |
|
| 297 |
-
|
| 298 |
|
| 299 |
-
|
| 300 |
-
- PLE lineage: [`Qwen/Qwen3.8-Flash-Next-FP8@bcd9f01ddc9cff2316eb84281bebcd5b058bddce`](https://huggingface.co/Qwen/Qwen3.8-Flash-Next-FP8/tree/bcd9f01ddc9cff2316eb84281bebcd5b058bddce)
|
| 301 |
-
- Runtime base: [`ggml-org/llama.cpp@f5e85d43a048f3d5adefb4c5e29867d8077fba62`](https://github.com/ggml-org/llama.cpp/commit/f5e85d43a048f3d5adefb4c5e29867d8077fba62)
|
| 302 |
|
| 303 |
-
|
| 304 |
|
| 305 |
-
|
|
|
|
|
|
|
| 306 |
|
| 307 |
-
|
| 308 |
|
| 309 |
-
|
| 310 |
|
| 311 |
```bibtex
|
| 312 |
@software{ciru_qwen38_flash_strix_iu4_2026,
|
| 313 |
-
title
|
| 314 |
-
author
|
| 315 |
-
year
|
| 316 |
-
|
| 317 |
-
url
|
| 318 |
-
version = {1.1}
|
| 319 |
}
|
| 320 |
```
|
|
|
|
| 32 |
|
| 33 |
[](https://llm.ciru.ai/research)
|
| 34 |
|
| 35 |
+
# Qwen3.8-Flash-CIRU-STRIX-IU4 · v2.0
|
| 36 |
|
| 37 |
+
**Mixed-precision Qwen3.8 for AMD Strix Halo, with ROCm 10 execution, NVMe-paged PLE, and depth-6 MTP.**
|
| 38 |
|
| 39 |
+
Version 2.0 brings together CIRU's retained ROCm 10 correctness and execution improvements. The measured strengths are **42.3 tok/s on the controlled non-thinking coding probe**, **382 tok/s cold prefill at 2K**, and **0.03045 mean forward KL to BF16** on the shared diagnostic panel. The target, MTP and PLE weights are unchanged.
|
|
|
|
| 40 |
|
| 41 |
> [!IMPORTANT]
|
| 42 |
+
> **Use the [v2.0 runtime source](runtime/v2.0/ciru-runtime-v2.0-source.tar.gz).** This text-only package requires the custom CIRU runtime and all three `ple/` files. The `mtp/` draft enables speculation. Stock `llama.cpp` and Hugging Face hosted inference do not run this package correctly.
|
| 43 |
+
>
|
| 44 |
+
> **The target GGUF, MTP draft and PLE weights are unchanged.** Existing users only need the new runtime and profile. v2.0 identifies the runtime/package release.
|
| 45 |
|
| 46 |
+
## Release results
|
| 47 |
|
| 48 |
+
| Result | CIRU v2.0 | Measurement |
|
| 49 |
|---|---:|---|
|
| 50 |
+
| Served non-thinking coding generation with MTP | **42.28–42.31 tok/s** | Two retained repetitions; 57-token prompt, 520 generated tokens, greedy coding profile |
|
| 51 |
+
| Cold prefill at 2K | **382.03 tok/s** | 2,048 exact prompt tokens, MTP off |
|
| 52 |
+
| Cold prefill at 128K | **232.95 tok/s** | 131,072 exact prompt tokens, MTP off |
|
| 53 |
+
| Mean forward KL to BF16 | **0.03045** | 64 full-vocabulary distributions across four domains |
|
| 54 |
+
| Observed-token PPL | **2.08401** | 60-token diagnostic slice; BF16 reference 2.01799 |
|
| 55 |
+
| Native-chat speed sanity | **10/10 passed** | HumanEval tasks 0–9; separate thinking-chat protocol |
|
|
|
|
|
|
|
| 56 |
|
| 57 |
+
The 42.3 tok/s result uses an explicitly closed thinking block and our retained fixed-six configuration: ROCm10, a 32,768-row draft shortlist, F16 target KV, Q8_0 draft KV, 16K context and the performance CPU governor. Both runs produced the same 520 output tokens. **It is a controlled coding-probe rate, not a HumanEval average or a claim that every workload runs at that speed.** [Recorded coding results](benchmarks/v2.0/controlled-coding-42tps.json).
|
| 58 |
|
| 59 |
+
The comparison preserves each package's own recorded runtime settings. On the shared MTP-off sweep, CIRU has higher prefill from 2K through 128K: at 128K it is **26.4% faster than Agention/Laurent and 22.7% faster than Unsloth**. On the small BF16 panel, mean forward KL is **72.9% lower than Agention/Laurent and 82.6% lower than Unsloth**. These are fidelity and prefill measurements, not overall task-quality or generation-speed percentages.
|
| 60 |
|
| 61 |
+
## Three-way comparison
|
| 62 |
|
| 63 |
+
The three-way sweep and native-thinking panel ran on **Sozo: Ryzen AI MAX+ 395 / Radeon 8060S, gfx1151, 128 GiB shared memory, NixOS**, with one model workload at a time. Ciru handled the new CIRU BF16 captures and the clean Ubuntu build/GPU smoke. The comparisons preserve each arm's recorded execution settings; they are package comparisons, not a controlled kernel-only experiment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
+
| Arm | Target and runner | MTP policy in the native-chat panel |
|
| 66 |
+
|---|---|---|
|
| 67 |
+
| CIRU v2.0 | Released IU4 weights; locked RC2 ROCm 10 runtime | Fixed maximum 6, p-min 0, 32,768-row draft shortlist; target F16 KV, draft Q8_0 KV |
|
| 68 |
+
| Agention / Laurent | [FP4 FAST model](https://huggingface.co/agentionai/Qwen3.8-Flash-Next-ROCmFP4-FAST-imatrix-GGUF/tree/ad4c5717254a630ee0c5a8db5208eb1f8476e56c); [Laurent's Vulkan fork](https://github.com/LaurentZuijdwijk/llama.cpp/commit/5e085d123eead2e89b5c19f824fccb05727da6a2) | Publisher adaptive 2–4 with its FP4 draft; target Q8_0 KV |
|
| 69 |
+
| Unsloth / recommended | [IQ4_XS model](https://huggingface.co/unsloth/Qwen3.8-Flash-Next-GGUF/tree/38bb39ee97821de2c9009abb7e93950eec396e66); [Daniel Han Chen's MTP branch](https://github.com/danielhanchen/llama.cpp/commit/d1a92352cbd417fd840b4e765c0b82f5fe3d1d89), native Vulkan build | Unsloth [MTP README option 2](https://huggingface.co/unsloth/Qwen3.8-Flash-Next-GGUF/blob/38bb39ee97821de2c9009abb7e93950eec396e66/MTP/README.md), maximum 2 and shared Q8_0 draft; publisher defaults |
|
| 70 |
|
| 71 |
+
Only these three combinations are included. Exact model/shard hashes and runner commits are in [competitor artifacts](benchmarks/v2.0/competitor-artifacts.json); complete recorded settings are in [runtime recipes](benchmarks/v2.0/runtime-recipes.json).
|
| 72 |
|
| 73 |
+
### BF16 numerical fidelity
|
| 74 |
|
| 75 |
+

|
| 76 |
|
| 77 |
+
| Configuration | Mean forward KL ↓ | p95 KL ↓ | BF16 top-token agreement | Observed-token PPL ↓ |
|
| 78 |
+
|---|---:|---:|---:|---:|
|
| 79 |
+
| BF16 reference | 0 | 0 | 64/64 | 2.01799 |
|
| 80 |
+
| CIRU ROCm10 v2.0 | **0.03045** | 0.15453 | 61/64 | 2.08401 |
|
| 81 |
+
| Agention / Laurent | **0.11223** | 0.29765 | 60/64 | 2.38380 |
|
| 82 |
+
| Unsloth / recommended | **0.17457** | 0.55722 | 61/64 | 2.42931 |
|
| 83 |
|
| 84 |
+
This fixed diagnostic contains **64 full-vocabulary distributions and 60 observed next-token losses** across four short domain prefixes. MTP is off. CIRU uses F16 KV and flash-attention auto; the retained competitor captures use Q8_0 KV and flash attention on. CIRU's two independent model loads produced byte-identical logits.
|
| 85 |
|
| 86 |
+
The result measures these implementations' fidelity on a small shared panel. It does not establish general task-quality superiority or full-corpus perplexity. The old CIRU/Q5 diagnostic used an earlier runtime and is superseded for the current three-way comparison.
|
| 87 |
|
| 88 |
+
[Full statistics and hashes](benchmarks/v2.0/bf16-fidelity.json) · [CSV](benchmarks/v2.0/bf16-fidelity.csv)
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
+
### MTP-off context sweeps
|
| 91 |
|
| 92 |
+

|
| 93 |
|
| 94 |
+
Each cell is **prefill / generation tok/s**. All seven points use the same exact-token source fixture, a cold prompt, and 128 generated tokens.
|
| 95 |
|
| 96 |
+
| Prompt tokens | CIRU ROCm10 v2.0 | Agention / Laurent | Unsloth / recommended |
|
| 97 |
+
|---:|---:|---:|---:|
|
| 98 |
+
| 512 | 306.53 / 22.55 | 357.63 / 25.93 | 235.03 / 24.54 |
|
| 99 |
+
| 2,048 | 382.03 / 20.94 | 363.83 / 25.58 | 270.12 / 23.98 |
|
| 100 |
+
| 8,192 | 370.41 / 19.19 | 325.59 / 24.95 | 274.78 / 22.69 |
|
| 101 |
+
| 16,384 | 352.13 / 17.47 | 302.72 / 24.36 | 266.87 / 21.28 |
|
| 102 |
+
| 32,768 | 321.33 / 14.32 | 273.95 / 22.77 | 254.68 / 18.79 |
|
| 103 |
+
| 65,536 | 282.99 / 10.17 | 229.68 / 20.25 | 228.78 / 13.37 |
|
| 104 |
+
| 131,072 | 232.95 / 6.75 | 184.33 / 17.86 | 189.79 / 9.98 |
|
| 105 |
|
| 106 |
+
Server context is 262,144, sampling is greedy with seed 1234, EOS is ignored for the 128-token measurement, and a 512+32 warmup is excluded. Each row verifies exact prompt/output counts and zero drafted/accepted tokens.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
|
| 108 |
+
CIRU leads prefill at 2K and above. **Both competitor arms have higher MTP-off generation rates across this sweep.** These are target-only context measurements, separate from the native MTP panel. Unsloth's target-only sweep uses Q8_0 KV, 16 threads, batch 2048/microbatch 512 and explicit CPU PLE placement with lazy mode off; its native MTP panel uses publisher defaults. CIRU uses F16 KV, 8 threads, and its 4 GiB PLE cache. See the recorded recipes for all differences.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
|
| 110 |
+
[Full sweep CSV](benchmarks/v2.0/mtp-off-context-sweep.csv) includes TTFP and memory. [Structured results](benchmarks/v2.0/comparison.json) preserve idle/peak/delta RAM, GTT and VRAM counters. RAM is whole-system usage; these overlapping shared-memory counters must not be summed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
+
<details>
|
| 113 |
+
<summary>Native-thinking HumanEval 0–9: all results and protocol details</summary>
|
| 114 |
|
| 115 |
+
### Additional native-thinking HumanEval speed panel
|
| 116 |
|
| 117 |
+
| Configuration | Weighted decode tok/s | Generated tokens | Total request time | Functional sanity |
|
| 118 |
+
|---|---:|---:|---:|---:|
|
| 119 |
+
| CIRU ROCm10 v2.0 | **27.36** | 4,257 | 164.98 s | 10/10 |
|
| 120 |
+
| Agention / Laurent | **25.47** | 19,752 | 784.59 s | 10/10 |
|
| 121 |
+
| Unsloth / recommended | **34.34** | 5,183 | 166.91 s | 10/10 |
|
| 122 |
|
| 123 |
+
The ten canonical HumanEval prompts are submitted through each embedded chat template, with thinking enabled and temperature 1.0, top-p 0.95, top-k 20, min-p 0. The first response is retained: no output cap, custom stop strings, retries or repair. Each request starts without a reused prompt prefix. All slots report 262,144-token context.
|
| 124 |
|
| 125 |
+
The weighted decode rate is `sum(n_i) / sum(n_i / r_i)`, using each request's generated-token count `n_i` and server-reported decode rate `r_i`. Request time also includes prefill and transport. The arms generate different reasoning lengths, so request times are descriptive, not a fixed-work speedup. This is one panel per arm with **10 functional sanity checks, not a full HumanEval quality score**.
|
| 126 |
+
|
| 127 |
+
Laurent’s completed raw-greedy HumanEval 0–9 panel measured **38.05 tok/s with 10/10 sanity**. Its native-thinking panel below is a separate protocol; the two must not be treated as the same measurement. CIRU’s **42.3 tok/s** controlled coding result also uses a different workload. This panel does not replace the separately measured coding-probe result.
|
| 128 |
+
|
| 129 |
+
[Per-task CSV](benchmarks/v2.0/humaneval-0-9-mtp.csv) · [Prompts, outputs and checks](benchmarks/v2.0/humaneval-request-evidence.json)
|
| 130 |
+
|
| 131 |
+
These native-thinking measurements used the recorded powersave governor and 262144 context. They are a separate workload diagnostic, not a demonstration of each package’s maximum speed. A later attempt to extend CIRU’s raw-greedy coding profile to HumanEval passed tasks 0–2 but did not terminate normally on task 3; that incomplete diagnostic is not scored as a full panel. It does not invalidate the completed coding probe or native-chat panel.
|
| 132 |
+
|
| 133 |
+
</details>
|
| 134 |
+
|
| 135 |
+
## What changed in v2.0
|
| 136 |
+
|
| 137 |
+
The locked candidate includes the retained Sozo quality-lane and Ciru speed-lane fixes:
|
| 138 |
|
| 139 |
+
- Correct attention descriptor strides, GPU admission for long QSA top-k, and restored-KV fast-path admission.
|
| 140 |
+
- Seven-column Q5_K weight reuse, the GPU MTP top-10 selector and a 32,768-row draft-output shortlist.
|
| 141 |
+
- Decode-entry and internal-microbatch synchronization repairs.
|
| 142 |
+
- Fresh HIP graph recapture, plus a launcher working-directory fix.
|
| 143 |
+
- The complete ROCm SDK installation helpers from v1.1.1, with the updated depth-6 production profile.
|
| 144 |
|
| 145 |
+
The previous allocator-lifetime and cached-prefix/MTP state fixes remain included. The adaptive runner and broad expert-reuse/fusion experiments are not enabled in this release. No weights were requantized or retrained.
|
| 146 |
+
|
| 147 |
+
The core source matches **`qwen38-ciru-rocm10-20260905-rc2`**. Portable build helpers are based on public v1.1.1 (`764ee491`); the retained core patch is based on v1.1 (`baba5e06`). [Provenance and runtime hashes](benchmarks/v2.0/ciru-provenance.json) record the exact inclusion evidence. The additional long-QSA/restored-KV admission code does not by itself establish a measured production cache-recovery speedup.
|
| 148 |
+
|
| 149 |
+
## Download and build
|
| 150 |
+
|
| 151 |
+
The model artifacts total **135,962,881,135 bytes (126.625 GiB)**, excluding runtime source and reports. Target storage is 73.945 GiB, the MTP draft is 3.852 GiB, and the mandatory PLE payload is 48.828 GiB. The target and all three `ple/` files are required; the MTP draft is optional only when speculation is disabled.
|
| 152 |
+
|
| 153 |
+
On Ubuntu/Debian, install `python3-venv`, then download the package:
|
| 154 |
|
| 155 |
```bash
|
| 156 |
+
sudo apt update
|
| 157 |
+
sudo apt install -y python3-venv
|
| 158 |
+
python3 -m venv .venv-hf
|
| 159 |
+
.venv-hf/bin/python -m pip install -U huggingface_hub
|
| 160 |
+
. .venv-hf/bin/activate
|
| 161 |
+
hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
|
| 162 |
+
--revision v2.0 --local-dir ./Qwen3.8-Flash-CIRU-STRIX-IU4
|
| 163 |
+
cd Qwen3.8-Flash-CIRU-STRIX-IU4
|
| 164 |
+
sha256sum -c checksums.sha256
|
| 165 |
+
sha256sum -c v2.0-checksums.sha256
|
| 166 |
+
tar -xzf runtime/v2.0/ciru-runtime-v2.0-source.tar.gz
|
| 167 |
+
cd ciru-runtime-v2.0
|
| 168 |
./scripts/ciru/setup-linux-amd.sh --install-host-deps
|
| 169 |
```
|
| 170 |
|
| 171 |
+
The helper installs host build tools and a private, complete **ROCm 10.0.0** SDK with gfx1151 device libraries. It builds into `build-gfx1151-sdk/`. Keep `.venv-rocm/` for runtime libraries. The host must already provide a compatible AMD GPU driver and access to `/dev/kfd` and its render node.
|
|
|
|
|
|
|
| 172 |
|
| 173 |
+
**Existing users:** keep your model directory. Download only the runtime archive, updated profile and release checksums into a separate directory, then rebuild:
|
| 174 |
|
| 175 |
```bash
|
| 176 |
+
hf download jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4 \
|
| 177 |
+
--revision v2.0 --local-dir ./ciru-v2-update \
|
| 178 |
+
--include "runtime/v2.0/*" "profiles/*" "v2.0-checksums.sha256"
|
| 179 |
+
cd ciru-v2-update
|
| 180 |
+
sha256sum -c v2.0-checksums.sha256 --ignore-missing
|
| 181 |
+
tar -xzf runtime/v2.0/ciru-runtime-v2.0-source.tar.gz
|
| 182 |
+
cd ciru-runtime-v2.0
|
| 183 |
+
./scripts/ciru/setup-linux-amd.sh --install-host-deps
|
| 184 |
```
|
| 185 |
|
| 186 |
+
The source archive includes `docs/BUILD_LINUX.md`, `docs/RUNNING.md`, provenance, licenses and third-party notices. Do not use the old GitHub v1.1.1 tag as the v2.0 source; this release's exact source is the archive linked above.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 187 |
|
| 188 |
+
A **clean Ubuntu 24.04 container build passed**, including all three executables and their shared-library checks. That build then loaded the model on Ciru's gfx1151 GPU and completed an MTP-enabled 64-token smoke test. The container used the host's NixOS GPU driver; this is not a bare-metal Ubuntu driver qualification. The complete comparative speed and fidelity results refer to the NixOS RC2 binaries, not this short smoke. Other distros, WSL2, Windows and macOS have no new v2.0 inference qualification.
|
| 189 |
|
| 190 |
+
## Run the production profile
|
| 191 |
|
| 192 |
+
From the extracted runtime directory:
|
| 193 |
|
| 194 |
```bash
|
| 195 |
BUILD_DIR="$PWD/build-gfx1151-sdk" \
|
|
|
|
| 197 |
./scripts/ciru/run-server.sh
|
| 198 |
```
|
| 199 |
|
| 200 |
+
The profile uses one slot, a 262,144-token context, batch 2048/microbatch 512, 8 target threads, F16 target KV, Q8_0 draft KV, flash attention on, maximum MTP depth 6, p-min 0 and p-split 0.10. It enables a separate 4 GiB PLE cache with 16 workers, an 8 GiB prompt cache, idle-slot caching and context checkpoints. The server binds to `127.0.0.1:8080`.
|
| 201 |
|
| 202 |
```bash
|
| 203 |
curl http://127.0.0.1:8080/v1/chat/completions \
|
|
|
|
| 208 |
"temperature": 1.0,
|
| 209 |
"top_p": 0.95,
|
| 210 |
"top_k": 20,
|
| 211 |
+
"min_p": 0,
|
| 212 |
"cache_prompt": true
|
| 213 |
}'
|
| 214 |
```
|
| 215 |
|
| 216 |
+
For target-only serving, set `ENABLE_MTP=0` before launching. This omits the draft flags. Use the launcher option rather than appending `--spec-type none` to an already speculative command.
|
| 217 |
|
| 218 |
+
Thinking defaults are temperature 1.0, top-p 0.95, top-k 20, min-p 0. For non-thinking mode, send `"chat_template_kwargs":{"enable_thinking":false}` with temperature 0.7, top-p 0.8 and presence penalty 1.5. Normal chat can retain prefix caching; the cold benchmark settings are not the production preset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
|
| 220 |
+
## Historical task-quality results on the unchanged weights
|
| 221 |
|
| 222 |
+
These earlier H96/depth-1 results were **not rerun as full suites on v2.0**. The current release checks comprise the bounded BF16 panel, the 10-task native speed sanity panel, and the scoped runtime correctness/build checks described above.
|
| 223 |
|
| 224 |
+
| Benchmark | Earlier result | Scope |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 225 |
|---|---:|---|
|
| 226 |
+
| HumanEval | 160/164 (97.56%) | Full local-custom chat run, first sample |
|
| 227 |
+
| HumanEval+ | 155/164 (94.51%) | Full EvalPlus 0.1.10 run |
|
| 228 |
+
| ARC-Challenge | 1,143/1,172 (97.53%) | Full EvalScope dataset |
|
| 229 |
+
| ToolEval Standard | 115/138 (83.33%) | 69 local-custom cases |
|
| 230 |
+
| ToolEval Hard | 23/30 (76.67%) | 15 local-custom cases |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
|
| 232 |
+
Historical methodology and additional sampled results remain available in the [previous model card](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/blob/9327d8c4b796d983d97870f0908e8667c0cbab2d/README.md). Local-custom or sampled scores are not canonical leaderboard submissions.
|
| 233 |
|
| 234 |
+
## Storage and hardware
|
| 235 |
|
| 236 |
+
The target contains 1,223 tensors: 144 routed-expert Q4_1 tensors, 328 Q5_K, 290 Q8_0, 48 Q5_1, 25 BF16 and 388 F32. **IU4 describes the optimized unsigned four-bit execution path**, not a uniform model quantization or a new GGUF storage format. The PLE payload preserves exact FP8 E4M3 weights with one BF16 scale.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
|
| 238 |
+
The intended machine is a Ryzen AI MAX+ 395 / Radeon 8060S with 128 GiB unified memory and fast NVMe. Allow at least 160 GiB for model files and verification, plus space for the source, SDK and build. Linux provides the measured P16/O_DIRECT pager path. The configured context is 262,144; cold sweep coverage stops at 131,072.
|
| 239 |
|
| 240 |
+
[File tree](https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4/tree/v2.0) · [Weight checksums](checksums.sha256) · [Runtime/report checksums](v2.0-checksums.sha256) · [Measurement methodology](benchmarks/v2.0/METHODOLOGY.md)
|
|
|
|
|
|
|
| 241 |
|
| 242 |
+
## Lineage, license and credit
|
| 243 |
|
| 244 |
+
- Text lineage: [Qwen/Qwen3.8-Flash-Next](https://huggingface.co/Qwen/Qwen3.8-Flash-Next/tree/f5d08274bafd880402bd16f5e3e6c514136ec06c).
|
| 245 |
+
- PLE lineage: [Qwen/Qwen3.8-Flash-Next-FP8](https://huggingface.co/Qwen/Qwen3.8-Flash-Next-FP8/tree/bcd9f01ddc9cff2316eb84281bebcd5b058bddce).
|
| 246 |
+
- Runtime base: [ggml-org/llama.cpp](https://github.com/ggml-org/llama.cpp/commit/f5e85d43a048f3d5adefb4c5e29867d8077fba62).
|
| 247 |
|
| 248 |
+
Model artifacts use the included **Qwen Community License 1.0**; runtime code retains its MIT license and component notices. Credits include Qwen, ggml-org, Ryan Monsurate's MTP integration, AMD's ROCm ecosystem, and contributors recorded in the source notices. Thanks also to Laurent Zuijdwijk, Agention AI, Unsloth and Daniel Han Chen for the publicly available comparison models and runtimes, and OpenAI's HumanEval authors for the benchmark tasks.
|
| 249 |
|
| 250 |
+
CIRU is an independent community research project. AMD and Qwen marks do not imply sponsorship or endorsement.
|
| 251 |
|
| 252 |
```bibtex
|
| 253 |
@software{ciru_qwen38_flash_strix_iu4_2026,
|
| 254 |
+
title = {Qwen3.8-Flash-CIRU-STRIX-IU4},
|
| 255 |
+
author = {{CIRU}},
|
| 256 |
+
year = {2026},
|
| 257 |
+
version = {2.0},
|
| 258 |
+
url = {https://huggingface.co/jcbtc/Qwen3.8-Flash-CIRU-STRIX-IU4}
|
|
|
|
| 259 |
}
|
| 260 |
```
|
assets/v2-bf16-fidelity.png
CHANGED
|
|
Git LFS Details
|
benchmarks/v2.0/METHODOLOGY.md
CHANGED
|
@@ -52,3 +52,9 @@ All 51 selected speed rows were checked against their raw SSE streams and the of
|
|
| 52 |
The original quality-store import had null competitor model hashes that inherited the global CIRU hash. Scores were correct. A corrected nine-row import supplies each model identity, including all three Unsloth shards; the first-shard hash is explicitly distinguished from a whole-model hash. The original append-only rows are preserved with an erratum and must be excluded in favor of `20260905T152000Z-bf16-three-arm-corrected`. See the included erratum and corrected manifest.
|
| 53 |
|
| 54 |
The source archive combines RC2 core code with the v1.1.1 portable SDK helpers and updated launcher/profile. A clean Ubuntu 24.04 build passed all three executables and shared-library checks, then completed an actual gfx1151 64-token MTP smoke using the NixOS host driver. That smoke's timing is not a comparison benchmark. Core source/build-helper identity is checked separately from mutable release documentation. No full task-quality suite or full Ubuntu performance suite was rerun for v2.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
The original quality-store import had null competitor model hashes that inherited the global CIRU hash. Scores were correct. A corrected nine-row import supplies each model identity, including all three Unsloth shards; the first-shard hash is explicitly distinguished from a whole-model hash. The original append-only rows are preserved with an erratum and must be excluded in favor of `20260905T152000Z-bf16-three-arm-corrected`. See the included erratum and corrected manifest.
|
| 53 |
|
| 54 |
The source archive combines RC2 core code with the v1.1.1 portable SDK helpers and updated launcher/profile. A clean Ubuntu 24.04 build passed all three executables and shared-library checks, then completed an actual gfx1151 64-token MTP smoke using the NixOS host driver. That smoke's timing is not a comparison benchmark. Core source/build-helper identity is checked separately from mutable release documentation. No full task-quality suite or full Ubuntu performance suite was rerun for v2.0.
|
| 55 |
+
|
| 56 |
+
## Release coding result and subsequent diagnostics
|
| 57 |
+
|
| 58 |
+
The release headline42.28–42.31tok/s comes from two retained short-code repetitions,57prompttokens and520generatedtokens,greedy seed123,fixed-six MTP,16Kcontext and performance CPU governor. It is not a HumanEval mean. Source rows,raw hashes,actual commands and generation settings are in controlled-coding-42tps.json. All16recorded runtime binaries match the native-chat release run.
|
| 59 |
+
|
| 60 |
+
The later raw-greedy HumanEval extension passed tasks0–2 but task3 continued generating a long sequence of assertions/lists instead of terminating; it was stopped and the partial trace retained. No full-panel ranking is made from that diagnostic. A follow-on native-performance diagnostic was interrupted without producing a complete panel; it is not used to replace the completed10-task results.
|
benchmarks/v2.0/controlled-coding-42tps.json
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"workload": "Controlled greedy short-code probe; 57 prompt tokens, 520 generated tokens, not HumanEval",
|
| 3 |
+
"configuration": "ROCm10 fixed-six, p_min0, shortlist32768, F16targetKV, Q8draftKV,16Kcontext, performance CPU governor, greedy seed123",
|
| 4 |
+
"rows": [
|
| 5 |
+
{
|
| 6 |
+
"case": "C1",
|
| 7 |
+
"prompt": "short-code",
|
| 8 |
+
"tg": 42.280053297306495,
|
| 9 |
+
"pp": 115.42901115813775,
|
| 10 |
+
"prompt_tokens": 57,
|
| 11 |
+
"generated_tokens": 520,
|
| 12 |
+
"ttfp_ms": 538.7954711914062,
|
| 13 |
+
"client_total_ms": 12814.576148986816,
|
| 14 |
+
"client_after_first_ms": 12275.78067779541,
|
| 15 |
+
"draft_generated": 674,
|
| 16 |
+
"draft_accepted": 400,
|
| 17 |
+
"token_sha256": "5115118aef25826d9d904cd30f47a28fc9aeac842457b17ff906deba653fb731",
|
| 18 |
+
"peak_ram_used_bytes": 89481662464,
|
| 19 |
+
"delta_ram_used_bytes": 486907904,
|
| 20 |
+
"idle_ram_used_bytes": 88994754560,
|
| 21 |
+
"vram_available": false,
|
| 22 |
+
"source_row_sha256": "ec1a933cdc15ba1f288d7717e8f1d2c56e48b351d7baa5054833eae6affe3476",
|
| 23 |
+
"timings": {
|
| 24 |
+
"cache_n": 0,
|
| 25 |
+
"draft_n": 674,
|
| 26 |
+
"draft_n_accepted": 400,
|
| 27 |
+
"predicted_ms": 12275.292,
|
| 28 |
+
"predicted_n": 520,
|
| 29 |
+
"predicted_per_second": 42.280053297306495,
|
| 30 |
+
"predicted_per_token_ms": 23.651815028901733,
|
| 31 |
+
"prompt_ms": 493.81,
|
| 32 |
+
"prompt_n": 57,
|
| 33 |
+
"prompt_per_second": 115.42901115813775,
|
| 34 |
+
"prompt_per_token_ms": 8.663333333333334
|
| 35 |
+
},
|
| 36 |
+
"generation_settings": {
|
| 37 |
+
"adaptive_decay": 0.8999999761581421,
|
| 38 |
+
"adaptive_target": -1.0,
|
| 39 |
+
"backend_sampling": false,
|
| 40 |
+
"chat_format": "Content-only",
|
| 41 |
+
"dry_allowed_length": 2,
|
| 42 |
+
"dry_base": 1.75,
|
| 43 |
+
"dry_multiplier": 0.0,
|
| 44 |
+
"dry_penalty_last_n": 64,
|
| 45 |
+
"dry_sequence_breakers": [
|
| 46 |
+
"\n",
|
| 47 |
+
":",
|
| 48 |
+
"\"",
|
| 49 |
+
"*"
|
| 50 |
+
],
|
| 51 |
+
"dynatemp_exponent": 1.0,
|
| 52 |
+
"dynatemp_range": 0.0,
|
| 53 |
+
"frequency_penalty": 0.0,
|
| 54 |
+
"generation_prompt": "",
|
| 55 |
+
"grammar": "",
|
| 56 |
+
"grammar_lazy": false,
|
| 57 |
+
"grammar_triggers": [],
|
| 58 |
+
"ignore_eos": false,
|
| 59 |
+
"logit_bias": [],
|
| 60 |
+
"lora": [],
|
| 61 |
+
"max_tokens": 520,
|
| 62 |
+
"min_keep": 0,
|
| 63 |
+
"min_p": 0.0,
|
| 64 |
+
"mirostat": 0,
|
| 65 |
+
"mirostat_eta": 0.10000000149011612,
|
| 66 |
+
"mirostat_tau": 5.0,
|
| 67 |
+
"n_discard": 0,
|
| 68 |
+
"n_keep": 0,
|
| 69 |
+
"n_predict": 520,
|
| 70 |
+
"n_probs": 0,
|
| 71 |
+
"post_sampling_probs": false,
|
| 72 |
+
"presence_penalty": 0.0,
|
| 73 |
+
"preserved_tokens": [],
|
| 74 |
+
"reasoning_format": "deepseek",
|
| 75 |
+
"reasoning_in_content": false,
|
| 76 |
+
"repeat_last_n": 64,
|
| 77 |
+
"repeat_penalty": 1.0,
|
| 78 |
+
"samplers": [
|
| 79 |
+
"penalties",
|
| 80 |
+
"dry",
|
| 81 |
+
"top_n_sigma",
|
| 82 |
+
"top_k",
|
| 83 |
+
"typ_p",
|
| 84 |
+
"top_p",
|
| 85 |
+
"min_p",
|
| 86 |
+
"xtc",
|
| 87 |
+
"temperature"
|
| 88 |
+
],
|
| 89 |
+
"seed": 123,
|
| 90 |
+
"speculative.types": "none,draft-mtp",
|
| 91 |
+
"stop": [],
|
| 92 |
+
"stream": true,
|
| 93 |
+
"temperature": 0.0,
|
| 94 |
+
"timings_per_token": false,
|
| 95 |
+
"top_k": 1,
|
| 96 |
+
"top_n_sigma": -1.0,
|
| 97 |
+
"top_p": 1.0,
|
| 98 |
+
"typical_p": 1.0,
|
| 99 |
+
"xtc_probability": 0.0,
|
| 100 |
+
"xtc_threshold": 0.10000000149011612
|
| 101 |
+
},
|
| 102 |
+
"raw_sha256": "9495dee67c6af80c616aa71b5dcb9442ae452188a1d898d734c4d13969122c51",
|
| 103 |
+
"command": {
|
| 104 |
+
"argv": [
|
| 105 |
+
"/srv/llm/work/sozo-adaptive-diagnosis-20260905/candidates/fixed6-graph-boundaries/bin/llama-server",
|
| 106 |
+
"--model",
|
| 107 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/Qwen3.8-Flash-CIRU-STRIX-IU4.gguf",
|
| 108 |
+
"--alias",
|
| 109 |
+
"qwen38-mtp-probe",
|
| 110 |
+
"--host",
|
| 111 |
+
"127.0.0.1",
|
| 112 |
+
"--port",
|
| 113 |
+
"18186",
|
| 114 |
+
"--jinja",
|
| 115 |
+
"--ple-sidecar",
|
| 116 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/ple",
|
| 117 |
+
"--ple-cache-mib",
|
| 118 |
+
"4096",
|
| 119 |
+
"-ngl",
|
| 120 |
+
"all",
|
| 121 |
+
"-sm",
|
| 122 |
+
"none",
|
| 123 |
+
"--fit",
|
| 124 |
+
"off",
|
| 125 |
+
"-c",
|
| 126 |
+
"16384",
|
| 127 |
+
"-b",
|
| 128 |
+
"2048",
|
| 129 |
+
"-ub",
|
| 130 |
+
"512",
|
| 131 |
+
"--parallel",
|
| 132 |
+
"1",
|
| 133 |
+
"-t",
|
| 134 |
+
"8",
|
| 135 |
+
"-tb",
|
| 136 |
+
"8",
|
| 137 |
+
"-ctk",
|
| 138 |
+
"f16",
|
| 139 |
+
"-ctv",
|
| 140 |
+
"f16",
|
| 141 |
+
"-fa",
|
| 142 |
+
"on",
|
| 143 |
+
"--cont-batching",
|
| 144 |
+
"--cache-prompt",
|
| 145 |
+
"--cache-ram",
|
| 146 |
+
"8192",
|
| 147 |
+
"--cache-idle-slots",
|
| 148 |
+
"--ctx-checkpoints",
|
| 149 |
+
"32",
|
| 150 |
+
"--checkpoint-min-step",
|
| 151 |
+
"8192",
|
| 152 |
+
"--metrics",
|
| 153 |
+
"--slots",
|
| 154 |
+
"--spec-type",
|
| 155 |
+
"draft-mtp",
|
| 156 |
+
"--spec-draft-model",
|
| 157 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf",
|
| 158 |
+
"--spec-draft-ngl",
|
| 159 |
+
"all",
|
| 160 |
+
"--spec-draft-device",
|
| 161 |
+
"ROCm0",
|
| 162 |
+
"--spec-draft-type-k",
|
| 163 |
+
"q8_0",
|
| 164 |
+
"--spec-draft-type-v",
|
| 165 |
+
"q8_0",
|
| 166 |
+
"--spec-draft-threads",
|
| 167 |
+
"8",
|
| 168 |
+
"--spec-draft-threads-batch",
|
| 169 |
+
"8",
|
| 170 |
+
"--spec-draft-n-max",
|
| 171 |
+
"6",
|
| 172 |
+
"--spec-draft-n-min",
|
| 173 |
+
"0",
|
| 174 |
+
"--spec-draft-p-min",
|
| 175 |
+
"0",
|
| 176 |
+
"--spec-draft-p-split",
|
| 177 |
+
"0.10"
|
| 178 |
+
],
|
| 179 |
+
"env": {
|
| 180 |
+
"GGML_CUDA_Q41_MOE_FORCE_J": "32",
|
| 181 |
+
"GGML_QWEN4EXP_PLE_WORKERS": "16",
|
| 182 |
+
"GGML_QWEN4EXP_PLE_STRICT_SHA": "0",
|
| 183 |
+
"ROCBLAS_USE_HIPBLASLT": "1",
|
| 184 |
+
"LD_LIBRARY_PATH": "/srv/llm/work/sozo-adaptive-diagnosis-20260905/candidates/fixed6-graph-boundaries/bin:/srv/llm/engines/Qwen3.8-Flash-CIRU-STRIX-IU4-v1.1/build-hip-rocm10-release/bin:/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",
|
| 185 |
+
"GGML_QSA_LONG_TOPK": "1",
|
| 186 |
+
"GGML_QSA_RESTORE_FAST": "1",
|
| 187 |
+
"CIRU_MTP_TOPK10": "1",
|
| 188 |
+
"CIRU_MTP_SHORTLIST": "32768"
|
| 189 |
+
}
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"case": "C2",
|
| 194 |
+
"prompt": "short-code",
|
| 195 |
+
"tg": 42.314176153996854,
|
| 196 |
+
"pp": 106.23189864358639,
|
| 197 |
+
"prompt_tokens": 57,
|
| 198 |
+
"generated_tokens": 520,
|
| 199 |
+
"ttfp_ms": 581.5215110778809,
|
| 200 |
+
"client_total_ms": 12847.277402877808,
|
| 201 |
+
"client_after_first_ms": 12265.755891799927,
|
| 202 |
+
"draft_generated": 674,
|
| 203 |
+
"draft_accepted": 400,
|
| 204 |
+
"token_sha256": "5115118aef25826d9d904cd30f47a28fc9aeac842457b17ff906deba653fb731",
|
| 205 |
+
"peak_ram_used_bytes": 89557381120,
|
| 206 |
+
"delta_ram_used_bytes": 521732096,
|
| 207 |
+
"idle_ram_used_bytes": 89035649024,
|
| 208 |
+
"vram_available": false,
|
| 209 |
+
"source_row_sha256": "afe2c7def7083fb2199d0e47da8ab0c22ad32f51de136f2596087cfc2ef91e3d",
|
| 210 |
+
"timings": {
|
| 211 |
+
"cache_n": 0,
|
| 212 |
+
"draft_n": 674,
|
| 213 |
+
"draft_n_accepted": 400,
|
| 214 |
+
"predicted_ms": 12265.393,
|
| 215 |
+
"predicted_n": 520,
|
| 216 |
+
"predicted_per_second": 42.314176153996854,
|
| 217 |
+
"predicted_per_token_ms": 23.632741811175336,
|
| 218 |
+
"prompt_ms": 536.562,
|
| 219 |
+
"prompt_n": 57,
|
| 220 |
+
"prompt_per_second": 106.23189864358639,
|
| 221 |
+
"prompt_per_token_ms": 9.413368421052631
|
| 222 |
+
},
|
| 223 |
+
"generation_settings": {
|
| 224 |
+
"adaptive_decay": 0.8999999761581421,
|
| 225 |
+
"adaptive_target": -1.0,
|
| 226 |
+
"backend_sampling": false,
|
| 227 |
+
"chat_format": "Content-only",
|
| 228 |
+
"dry_allowed_length": 2,
|
| 229 |
+
"dry_base": 1.75,
|
| 230 |
+
"dry_multiplier": 0.0,
|
| 231 |
+
"dry_penalty_last_n": 64,
|
| 232 |
+
"dry_sequence_breakers": [
|
| 233 |
+
"\n",
|
| 234 |
+
":",
|
| 235 |
+
"\"",
|
| 236 |
+
"*"
|
| 237 |
+
],
|
| 238 |
+
"dynatemp_exponent": 1.0,
|
| 239 |
+
"dynatemp_range": 0.0,
|
| 240 |
+
"frequency_penalty": 0.0,
|
| 241 |
+
"generation_prompt": "",
|
| 242 |
+
"grammar": "",
|
| 243 |
+
"grammar_lazy": false,
|
| 244 |
+
"grammar_triggers": [],
|
| 245 |
+
"ignore_eos": false,
|
| 246 |
+
"logit_bias": [],
|
| 247 |
+
"lora": [],
|
| 248 |
+
"max_tokens": 520,
|
| 249 |
+
"min_keep": 0,
|
| 250 |
+
"min_p": 0.0,
|
| 251 |
+
"mirostat": 0,
|
| 252 |
+
"mirostat_eta": 0.10000000149011612,
|
| 253 |
+
"mirostat_tau": 5.0,
|
| 254 |
+
"n_discard": 0,
|
| 255 |
+
"n_keep": 0,
|
| 256 |
+
"n_predict": 520,
|
| 257 |
+
"n_probs": 0,
|
| 258 |
+
"post_sampling_probs": false,
|
| 259 |
+
"presence_penalty": 0.0,
|
| 260 |
+
"preserved_tokens": [],
|
| 261 |
+
"reasoning_format": "deepseek",
|
| 262 |
+
"reasoning_in_content": false,
|
| 263 |
+
"repeat_last_n": 64,
|
| 264 |
+
"repeat_penalty": 1.0,
|
| 265 |
+
"samplers": [
|
| 266 |
+
"penalties",
|
| 267 |
+
"dry",
|
| 268 |
+
"top_n_sigma",
|
| 269 |
+
"top_k",
|
| 270 |
+
"typ_p",
|
| 271 |
+
"top_p",
|
| 272 |
+
"min_p",
|
| 273 |
+
"xtc",
|
| 274 |
+
"temperature"
|
| 275 |
+
],
|
| 276 |
+
"seed": 123,
|
| 277 |
+
"speculative.types": "none,draft-mtp",
|
| 278 |
+
"stop": [],
|
| 279 |
+
"stream": true,
|
| 280 |
+
"temperature": 0.0,
|
| 281 |
+
"timings_per_token": false,
|
| 282 |
+
"top_k": 1,
|
| 283 |
+
"top_n_sigma": -1.0,
|
| 284 |
+
"top_p": 1.0,
|
| 285 |
+
"typical_p": 1.0,
|
| 286 |
+
"xtc_probability": 0.0,
|
| 287 |
+
"xtc_threshold": 0.10000000149011612
|
| 288 |
+
},
|
| 289 |
+
"raw_sha256": "e9c57e471feea6fad3b188c24dc67277d040df0772bdb6d7b86fff5b6fa6571f",
|
| 290 |
+
"command": {
|
| 291 |
+
"argv": [
|
| 292 |
+
"/srv/llm/work/sozo-adaptive-diagnosis-20260905/candidates/fixed6-graph-boundaries/bin/llama-server",
|
| 293 |
+
"--model",
|
| 294 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/Qwen3.8-Flash-CIRU-STRIX-IU4.gguf",
|
| 295 |
+
"--alias",
|
| 296 |
+
"qwen38-mtp-probe",
|
| 297 |
+
"--host",
|
| 298 |
+
"127.0.0.1",
|
| 299 |
+
"--port",
|
| 300 |
+
"18186",
|
| 301 |
+
"--jinja",
|
| 302 |
+
"--ple-sidecar",
|
| 303 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/ple",
|
| 304 |
+
"--ple-cache-mib",
|
| 305 |
+
"4096",
|
| 306 |
+
"-ngl",
|
| 307 |
+
"all",
|
| 308 |
+
"-sm",
|
| 309 |
+
"none",
|
| 310 |
+
"--fit",
|
| 311 |
+
"off",
|
| 312 |
+
"-c",
|
| 313 |
+
"16384",
|
| 314 |
+
"-b",
|
| 315 |
+
"2048",
|
| 316 |
+
"-ub",
|
| 317 |
+
"512",
|
| 318 |
+
"--parallel",
|
| 319 |
+
"1",
|
| 320 |
+
"-t",
|
| 321 |
+
"8",
|
| 322 |
+
"-tb",
|
| 323 |
+
"8",
|
| 324 |
+
"-ctk",
|
| 325 |
+
"f16",
|
| 326 |
+
"-ctv",
|
| 327 |
+
"f16",
|
| 328 |
+
"-fa",
|
| 329 |
+
"on",
|
| 330 |
+
"--cont-batching",
|
| 331 |
+
"--cache-prompt",
|
| 332 |
+
"--cache-ram",
|
| 333 |
+
"8192",
|
| 334 |
+
"--cache-idle-slots",
|
| 335 |
+
"--ctx-checkpoints",
|
| 336 |
+
"32",
|
| 337 |
+
"--checkpoint-min-step",
|
| 338 |
+
"8192",
|
| 339 |
+
"--metrics",
|
| 340 |
+
"--slots",
|
| 341 |
+
"--spec-type",
|
| 342 |
+
"draft-mtp",
|
| 343 |
+
"--spec-draft-model",
|
| 344 |
+
"/srv/llm/models/Qwen3.8-Flash-CIRU-STRIX-IU4/mtp/Qwen3.8-Flash-CIRU-STRIX-IU4-MTP-Q8_0.gguf",
|
| 345 |
+
"--spec-draft-ngl",
|
| 346 |
+
"all",
|
| 347 |
+
"--spec-draft-device",
|
| 348 |
+
"ROCm0",
|
| 349 |
+
"--spec-draft-type-k",
|
| 350 |
+
"q8_0",
|
| 351 |
+
"--spec-draft-type-v",
|
| 352 |
+
"q8_0",
|
| 353 |
+
"--spec-draft-threads",
|
| 354 |
+
"8",
|
| 355 |
+
"--spec-draft-threads-batch",
|
| 356 |
+
"8",
|
| 357 |
+
"--spec-draft-n-max",
|
| 358 |
+
"6",
|
| 359 |
+
"--spec-draft-n-min",
|
| 360 |
+
"0",
|
| 361 |
+
"--spec-draft-p-min",
|
| 362 |
+
"0",
|
| 363 |
+
"--spec-draft-p-split",
|
| 364 |
+
"0.10"
|
| 365 |
+
],
|
| 366 |
+
"env": {
|
| 367 |
+
"GGML_CUDA_Q41_MOE_FORCE_J": "32",
|
| 368 |
+
"GGML_QWEN4EXP_PLE_WORKERS": "16",
|
| 369 |
+
"GGML_QWEN4EXP_PLE_STRICT_SHA": "0",
|
| 370 |
+
"ROCBLAS_USE_HIPBLASLT": "1",
|
| 371 |
+
"LD_LIBRARY_PATH": "/srv/llm/work/sozo-adaptive-diagnosis-20260905/candidates/fixed6-graph-boundaries/bin:/srv/llm/engines/Qwen3.8-Flash-CIRU-STRIX-IU4-v1.1/build-hip-rocm10-release/bin:/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",
|
| 372 |
+
"GGML_QSA_LONG_TOPK": "1",
|
| 373 |
+
"GGML_QSA_RESTORE_FAST": "1",
|
| 374 |
+
"CIRU_MTP_TOPK10": "1",
|
| 375 |
+
"CIRU_MTP_SHORTLIST": "32768"
|
| 376 |
+
}
|
| 377 |
+
}
|
| 378 |
+
}
|
| 379 |
+
],
|
| 380 |
+
"scope": "Two retained candidate repetitions inside order-balanced graph comparison. Raw output tokens identical. Not a native-thinking HumanEval average or a competitor speedup.",
|
| 381 |
+
"binary_hashes_match_current_16_of_16": true,
|
| 382 |
+
"reasoning_mode": "Explicitly closed think block before generation; non-thinking coding probe",
|
| 383 |
+
"prompt": "<|im_start|>user\nWrite a Python TTL LRU cache using collections.OrderedDict and time.monotonic. Implement get, put, capacity eviction, and lazy expiration. Include three concise unit tests. Explain the expiry and recency invariants.<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n"
|
| 384 |
+
}
|
benchmarks/v2.0/ubuntu24-qualification.tar.gz
CHANGED
|
Binary files a/benchmarks/v2.0/ubuntu24-qualification.tar.gz and b/benchmarks/v2.0/ubuntu24-qualification.tar.gz differ
|
|
|
profiles/strix-halo-production.env
CHANGED
|
@@ -1,6 +1,11 @@
|
|
| 1 |
-
# Audited production environment
|
| 2 |
GGML_CUDA_Q41_MOE_FORCE_J=32
|
| 3 |
GGML_QWEN4EXP_PLE_WORKERS=16
|
| 4 |
GGML_QWEN4EXP_PLE_STRICT_SHA=0
|
| 5 |
ROCBLAS_USE_HIPBLASLT=1
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Audited public production environment for Qwen3.8-Flash-CIRU-STRIX-IU4.
|
| 2 |
GGML_CUDA_Q41_MOE_FORCE_J=32
|
| 3 |
GGML_QWEN4EXP_PLE_WORKERS=16
|
| 4 |
GGML_QWEN4EXP_PLE_STRICT_SHA=0
|
| 5 |
ROCBLAS_USE_HIPBLASLT=1
|
| 6 |
|
| 7 |
+
# Version 2 retained runtime components.
|
| 8 |
+
GGML_QSA_LONG_TOPK=1
|
| 9 |
+
GGML_QSA_RESTORE_FAST=1
|
| 10 |
+
CIRU_MTP_TOPK10=1
|
| 11 |
+
CIRU_MTP_SHORTLIST=32768
|
v2.0-checksums.sha256
CHANGED
|
@@ -1,15 +1,16 @@
|
|
| 1 |
c16fda8809ad10f0d25d2243f4f83e76c29b80e0ee1622a4357a6f7235df97b4 .gitattributes
|
| 2 |
-
|
| 3 |
3a46a7fd054305b2c1a931682015d93094312fb3b76c8ef83a2adb350b0f584c assets/qwen38-flash-ciru-strix-iu4.jpg
|
| 4 |
e260f72cba14e4c4e523794345f7de001444626240ab620d96dc44ee51beee90 assets/v2-bf16-fidelity.png
|
| 5 |
88dd940fda0790ec6f474dc0a99019703114df253758ee14136c9686e93ea404 assets/v2-context-sweep.png
|
| 6 |
bcba3de214851cce46ed5af42d6698044616eeace887c3231bc7a20474ab639e benchmarks/v2.0/HUMANEVAL-LICENSE
|
| 7 |
-
|
| 8 |
4caca1c5e03ede5a9518a379e6ff24d161847454fe5a9a498caedc11ee4cb14f benchmarks/v2.0/bf16-fidelity.csv
|
| 9 |
01d34892371352271ddb98ac0a46cbfd0c3a8509abfcf7a0e826d8074a067462 benchmarks/v2.0/bf16-fidelity.json
|
| 10 |
cfb6b00e9a98525b9abee62ce37431677d5dae33c08b00448aa65585edf4d9db benchmarks/v2.0/ciru-provenance.json
|
| 11 |
1b38f2a9514c557aaf2089ca76bbf6456565fc242f360037e133754248d59a66 benchmarks/v2.0/comparison.json
|
| 12 |
a16df59acb7bfbbf436ea0f0356cd5e3760f8b2e82470dc65187008f2e336e26 benchmarks/v2.0/competitor-artifacts.json
|
|
|
|
| 13 |
7813d7451334059d7fa048df1c4ab44f03dc63917e0bef4b7dafa3915c20568e benchmarks/v2.0/humaneval-0-9-mtp.csv
|
| 14 |
4f0552c8f4c4a8ea9bf4fbbabdbd1d7094c475e960ce652efff7dc510a297711 benchmarks/v2.0/humaneval-request-evidence.json
|
| 15 |
fc4578f2148007209a4307ce34e8b0bb8fc72b28386e7b4e8506ee0bdf8b77b8 benchmarks/v2.0/mtp-off-context-sweep.csv
|
|
|
|
| 1 |
c16fda8809ad10f0d25d2243f4f83e76c29b80e0ee1622a4357a6f7235df97b4 .gitattributes
|
| 2 |
+
019e734dfeaed8662339a1b20430e00e3385d5662d4f6e2bf98cee012d083518 README.md
|
| 3 |
3a46a7fd054305b2c1a931682015d93094312fb3b76c8ef83a2adb350b0f584c assets/qwen38-flash-ciru-strix-iu4.jpg
|
| 4 |
e260f72cba14e4c4e523794345f7de001444626240ab620d96dc44ee51beee90 assets/v2-bf16-fidelity.png
|
| 5 |
88dd940fda0790ec6f474dc0a99019703114df253758ee14136c9686e93ea404 assets/v2-context-sweep.png
|
| 6 |
bcba3de214851cce46ed5af42d6698044616eeace887c3231bc7a20474ab639e benchmarks/v2.0/HUMANEVAL-LICENSE
|
| 7 |
+
6f2706987b99fae89f8b38cd1b5a6be8965df884a8f6d3ac7159a43f628fe9a6 benchmarks/v2.0/METHODOLOGY.md
|
| 8 |
4caca1c5e03ede5a9518a379e6ff24d161847454fe5a9a498caedc11ee4cb14f benchmarks/v2.0/bf16-fidelity.csv
|
| 9 |
01d34892371352271ddb98ac0a46cbfd0c3a8509abfcf7a0e826d8074a067462 benchmarks/v2.0/bf16-fidelity.json
|
| 10 |
cfb6b00e9a98525b9abee62ce37431677d5dae33c08b00448aa65585edf4d9db benchmarks/v2.0/ciru-provenance.json
|
| 11 |
1b38f2a9514c557aaf2089ca76bbf6456565fc242f360037e133754248d59a66 benchmarks/v2.0/comparison.json
|
| 12 |
a16df59acb7bfbbf436ea0f0356cd5e3760f8b2e82470dc65187008f2e336e26 benchmarks/v2.0/competitor-artifacts.json
|
| 13 |
+
f665c5b67e162ee08a465e17702704cd972a43e2f4268a1ac030d21046091308 benchmarks/v2.0/controlled-coding-42tps.json
|
| 14 |
7813d7451334059d7fa048df1c4ab44f03dc63917e0bef4b7dafa3915c20568e benchmarks/v2.0/humaneval-0-9-mtp.csv
|
| 15 |
4f0552c8f4c4a8ea9bf4fbbabdbd1d7094c475e960ce652efff7dc510a297711 benchmarks/v2.0/humaneval-request-evidence.json
|
| 16 |
fc4578f2148007209a4307ce34e8b0bb8fc72b28386e7b4e8506ee0bdf8b77b8 benchmarks/v2.0/mtp-off-context-sweep.csv
|