Labels / Models & quants
Models & quants
Auto topic: Models & quants
Issues
- #1495 [Feature]: experimental per-stage KV-grow for a two-GPU layer split at native 262K
- #1485 [Bug]: update.sh cannot rebuild a locally compiled engine on a PC with a Volta card beside an RTX 40 (nvcc: Unsupported gpu architecture 'compute_70')
- #1484 [SYCL] 2x Arc Pro B70 + UD-IQ4_XS: the port's default expert kernels give corrupted output (silent wrong answers); STRATA_EXPERT_SPLIT=1 restores it
- #1483 Local-adaptation tuning directions (method, not values) — plus the hardware-specialization layer (model → GPU → CPU) that I'm building
- #1482 [Feature]: publish a ready-made Docker image, so users do not compile the engine themselves
- #1479 HIP: STRATA_HEAD_MIX_MULTI / STRATA_ONE_TOKEN_COMMIT are hard-off; as opt-ins head-mix is exact and +0.4% decode on R9700 (patch inside)
- #1478 gfx1201 (R9700): the gfx1151 prompt switches in arch_defaults.cpp are exact and +4-8% prompt; suggest a gfx12 entry (decode half is slower)
- #1474 hip_q2_zero fails on gfx1201 (R9700) with ROCm 7.10: Q2_0 signed-zero fix e9a5f8d is gated to gfx1012 / HIP < 7
- #1473 STRATA_SYCL_SPIN_MAX default: a JIT build of the B70 gets the A-series bound and loses 46-67% of decode
- #1470 Pascal (sm_61): decode halves since 0.1.40.2. 2e4ddf6 drops `__restrict__` and peels the MMVQ loop on every CUDA arch
- #1469 0.1.40.2: decode on a Tesla P40 (sm_61) is about half of 0.1.40's; bisected to 2e4ddf6, and restoring __restrict__ in pdl.hpp (STRATA_PDL_RESTRICT) gives back most of it
- #1468 prefill copy_i32: illegal memory access on long prompts when the prefill chunk is large (auto:32768)
- #1466 60G VRAM (3090+3060*3), 256K context, 75~85 T/S
- #1463 MI50 32 GB (gfx906) on 0.1.40.1: 126K/252K needles, a 16 GB-limit run, temperatures (results)
- #1453 Live agent workload on RX 7900 XTX (24 GB) + 30 GB RAM — 70–74 tok/s, 91–96% expert cache hits
- #1447 docs: MULTI_GPU.md says --pipeline-windows 2 and --adapt-async 1 exclude each other, but they combine
- #1445 vision encoder did not start on V100-SXM2-32GB
- #1442 Feature request: support chat title generating from Xcode's agent
- #1440 [Bug]: [SYCL] 0.1.40.2 on 2x Arc Pro B70: --layer-split fails three ways (#1054's fix from #1111 is not in main, plus two new split regressions)
- #1431 Feature request: tool-call emission recovery for low-bit quants in agent workloads (Qwen3.8-Flash-Next GSQ-RCO IQ3_XXS)
- #1428 --layer-split auto on a P40 + RTX 3070 (3070 first) flips from K=43 to K=47 with --kv int8 or --vram-reserve-mib 600, and prefill drops from 458 to 111-113 tok/s (0.1.40.2)
- #1425 [Windows, RTX 5090 32 GB, NVFP4 fork] ple: --ple-io direct streams the n-gram table at ~34 MB/s while the SSD does 1.4 GB/s - fresh long prompts prefill ~5x slow; cold passes can trip the #29 watchdog
- #1410 Support Intel Arc Pro B50 (Xe2 / BMG-G21) as a tested SYCL target — 16 GB at 70 W is the card users are actually buying
- #1407 [gfx1200, 2x RX 9060 XT layer split] prompt-read stalls (watchdog #29 aborts) + run-to-run prefill degradation: fresh prompts slow 3-4x mid-run, file tier re-reads 24-35 GB per request
- #1404 [Feature]: run the image encoder on a second PC
- #1403 Almost no changes from 2 recent updates,
- #1397 SYCL port on Windows/OpenCL: 0.1.40-sycl decodes at 22.3 tok/s with --spec 2 where 0.1.39-sycl does 53.6 (and short runs vary 40%)
- #1392 Web app: an assistant reply with no content is dropped from the conversation history (reasoning models repeat themselves)
- #1389 RX 7900 XTX (gfx1100): 925 -> 2,503 tok/s prompt read (+171%) - the method, and the 26% cliff below full lend coverage
- #1387 [Feature Request] Support for higher quantizations (Q8 / unquantized) for Qwen 3.8 / 4 with high-end hardware (128GB VRAM / 192GB RAM)
- #1386 2x RX 7900 XTX (gfx1100, layer split): STRATA_PF_GEMM is worth ~7% prefill and is off by default
- #1385 Intermittent 'int' object has no attribute 'ranks' in tokenizer
- #1375 Strata on an RX 6600 XT (gfx1032, 8 GB) and a Xeon E5-2678 v3 with DDR3
- #1373 Windows, 2-GPU layer split: 0.1.40.2 decode is 20% below 0.1.39 across the board, and STRATA_MMVQ_IL is 15% of it
- #1371 [ok] strata-swift-iq3_xxs x3
- #1369 Two 32K prompts on one RTX 5090: overlapping them matched back-to-back wall time
- #1357 mtp: the per-token drafter router call is missing the n_expert == 512 guard its three sibling call sites carry
- #1353 stager-transient-regression
- #1352 Multi-GPU performance is ~2x lower than Francesco Albano fork despite the changes being merged into v0.1.40
- #1349 2× RTX 2080 Ti (Turing, NVLink) field report: DDR4-2666→3600 memory A/B, own vs borrow vs peer-device by context size, three-switch stack
- #1347 serve: a full conversation cache drops the snapshot at the physical-RAM gate instead of evicting to pass it (270k tokens re-read, 96 s, 32 times)
- #1341 serve: a >100k-token prompt deadlocks the pipelined verify-window reader (--pipeline-windows >= 1) - the #29 watchdog aborts the engine and the server reloads the model
- #1322 setup re-run with --vision gpu does not add --vision to an existing config's args
- #1317 serve: an untimed read of the engine/vision pipe can hold the request turn forever (intermittent hang; the #481 lost-step class)
- #1312 [Windows][RTX 3090 24 GB, 64 GB RAM, IQ3_S] Feature request: expose the QSA indexer budget (512 blocks / 2048 tokens)
- #1308 Traitement de l'eau et rondelle de roue : les solutions industrielles de Tecnoter Group
- #1304 Prefill/Reading the prompt with multi-gpu cards is slow
- #1302 0.1.40 SYCL port on 2x Arc Pro B65: expert-cache fill stalls (1-core spin + xe "Timedout job" + device coredump); 0.1.38-based engine works on the same card
- #1301 docs: `--lookup-chain` — note the workload it targets (repeating context), since the default suffix path already covers non-repeating text
- #1300 bench: community report, 2x Tesla V100-PCIE-32GB (sm_70, CUDA 12 source build): IQ3_S at 512K with --layer-split, and what the new decode profiler says about where tok/s comes from
- #1299 AMD vison encoder on Windows
- #1286 PCIe Issue with Strata and RTX 3060
- #1285 Dual RTX 5090: Strata 0.1.40 production decode at 243 tok/s and synthetic peer-prefill results
- #1280 bench: community report, 2x RTX 3090 (Linux, Docker): 0.1.40 resident RAM mode on a split (#848) and --pipeline-windows (#859)
- #1277 HIP: fused IQ expert kernels via RDNA4 int8 WMMA (RX 9060 XT / gfx1200)
- #1275 Windows HIP: --prefill auto can pick a chunk whose VRAM borrow leaves too little for the verify captures — silent engine exit at serve init
- #1272 0.1.40: with the shared-expert stream fork off by default, decode on 2x RX 6900 XT (gfx1030, Linux) is 5-13% slower; STRATA_SH_STREAM=1 restores it, and the #884 stall does not come back with it
- #1267 gfx1151 (Strix Halo) gets the ROCm 7.10.0a20251120 wheels, not the 7.14.1 that docs/STRIX_HALO.md was measured on: the engine crashes on kernel 7.2.8, and prompts run at half speed
- #1261 461
- #1258 gfx1151 (Strix Halo) prompt: per-kernel profile of a 16K prompt (rocprofv3) - where would outside help be useful?
- #1254 [Optimization] Support CPPC / configurable core placement for host loop and expert pool
- #1250 [Linux][RTX 3080 12 GB, 62 GB RAM] 0.1.40.1 start OOMs the host while allocating the page-locked expert copy (IQ2_XS); 0.1.31 starts fine
- #1248 SYCL build fails on Intel Arc A770 (Alchemist) - v0.1.40.1
- #1244 Docker v0.1.40: persisted /data/config edits ignored on restart; stale /opt/strata config used (worked in v0.1.39)
- #1239 v0.1.40 two-GPU tester results on a P40 + RTX 3070: 150-request soak clean, --pipeline-windows 2 +9% / +15% decode in 5 of 5 pairs
- #1238 0.1.40: --layer-split auto with STRATA_STAGE_TRIM=1 still picks K=2 on a P40 + RTX 3070; 572b607 fixes it but is not in the release
- #1235 Sapphire Rapids (Xeon w7-2475X): +8% decode, +3% prefill and byte-identical greedy output. STRATA_IQ_MT_MIN=1 is faster here, and 8 stager threads beat 32
- #1234 Windows/RTX 4090 (0.1.39): stall report stage "decode -1" for 61 s; 0 layers served - thread stacks attached
- #1233 ``` Windows + Strix Halo (gfx1151, Radeon 8060S): UD-IQ4_XS runs end-to-end — decode flat 29.5-30.4 tok/s at 1K-32K, but a GPU driver timeout (TDR) during a cold 32K prefill ```
- #1229 serve: phone photos reach the model rotated by 90° (EXIF Orientation is ignored)
- #1217 gfx1150 (Radeon 890M / Strix Point) works: report and a one-line CMake patch
- #1212 Review: shared MTP head fix — sibling Q4 state omission and test configuration gaps
- #1211 Bench: --ple-io direct vs. --ple-io ram on system with sufficient headroom of RAM
- #1208 HIP layer split / gfx1030: batched prompt path produces NaN logits (output "!!!!") unless STRATA_HIP_PROMPT_F16=1 and the gfx1030 card is the first stage
- #1203 AMD Radeon Pro V620 (gfx1030) - Dockerfile ???
- #1200 RTX 5060 Ti 16 GB / Windows / IQ3_S: 36–42 tok/s — tuning directions & method (local gate scan, large pages, PLE FP8)
- #1194 `file_cache_keeps()` picks unbuffered (O_DIRECT) expert reads on a 32 GB + 12 GB GPU box with `--resident-budget-gib`, halving decode; `STRATA_UNBUFFERED_LOAD=0` restores it
- #1191 Automatic support of other variants and quants
- #1188 --kv k8v4 produces degenerate repetition when --kv-resident streams (0.1.40)
- #1180 STRATA_PF_FUSED on gfx1100: missing __syncthreads() in native_w11_kernel + waves_per_eu(8) wrong on clang 22 / ROCm 7.10
- #1178 serve: Special tokens (<|im_end|>) emitted during model thinking cause tasks to terminate early
- #1169 k8v4 + --kv-resident: the batched KV append (#783) skips the host mirror for hybrid — parking and KV streaming serve stale bytes (cross-conversation contamination on 0.1.40)
- #1168 Client-supplied stop sequences are ignored (OpenAI `stop` and Anthropic `stop_sequences`) — blocks agent/harness use
- #1165 Ship an MMQ-enabled engine build (or opt-in loading) for k-quant prompts: a full-RAM machine is GPU-bound on the FP16 dequant path
- #1155 [Windows / AMD] --vision cpu is still unreachable: hip_vision()'s WIN gate, find_vcvars()'s VS-18 range, and no encoder in the ready-made engine
- #1153 [Volta] STRATA_GDN_CHUNK=1 (PR #1098 chain-split) segfaults the engine on a 4-GPU layer split (4×V100)
- #1145 Resident RAM mode on a layer split — 3 GPUs, UD-IQ4_XS, 40 GB RAM (engine 0.1.40)
- #1143 Tester report (2× RTX 2080 Ti, Turing): #743 prompt A/B, #776 batch soak, #859 pipeline-windows, #848 resident soak — all pass
- #1141 Windows AMD: prebuilt HIP zip running a model on a discrete card (Radeon AI PRO R9700, gfx1201)
- #1139 GDN batch path skips activation quantization when STRATA_QFUSE=1
- #1138 Windows: higher process/thread priority improves decode throughput under CPU contention, with a measured background-work trade-off
- #1135 k8v4: deterministic token repetition on sequential generation (RTX 5090, 0.1.40) — byte-identical across two quants
- #1128 0.1.40 --kv-grow: a short request trims the K/V to 8192 cells and drops the conversation cache, so the next 128K+ continuation is re-read in full (20.9% of continuations, RTX 5090, IQ3_S)
- #1121 --batch-mtp kills the engine on an IQ3_S (GSQ-RCO) pack: mtp: unsupported native MMVQ GGML type
- #1118 Batch slots: the engine stalls ("no progress for 60 s … reading the prompt (batched)") when a long prompt is read while another slot decodes; STRATA_BATCH_DECODE_SHARE=0 avoids it
- #1116 major performance drop in latest 0.40 engine -kinda fixed
- #1113 sycl: the v0.1.40.1 port does not build as shipped (3 compile errors, 12 undefined symbols)
- #1103 hip: gfx1030 (RX 6800 XT) intermittent verify timeouts (#267): ROCm 7.14 gfx103X wheels regression, fixed by 7.13
- #1094 --layer-split auto fails on dual GPUs for 512k context
- #1085 Performance regression after updating to v0.1.40 - RTX 5090
- #1080 RTX 5000 PRO slow unsloth ud iq4_xs fix
- #1079 bench: community report, V100 32 GB + P100 16 GB (sm_70 + sm_60, Linux source build): IQ3_XXS at 262K with the P100 as a helper expert cache, 0.1.39 vs 0.1.40
- #1072 Vision: >64 unique images can evict .sve files still referenced by the current request
- #1069 Tesla P100 (Pascal, sm_60) + RTX 2070 SUPER, Linux/Docker (CUDA 12.9), 32 GB RAM: Q2_0 low-RAM mode, about 30 tok/s decode on the P100 alone and 36-38 tok/s with the second card as a helper expert cache (benchmark.py)
- #1059 serve: a request the engine rejects with ERR waits the full 300 s before failing (STOP + _drain_control("DONE") after an ERR), holding the control lock
- #1058 0.1.40: a tool call quoted in the thinking is delivered as a real call (fires on a max_tokens cut and inside code fences)
- #1056 Prefill: Stager threads yield-spin while waiting. On Linux with --mmap-experts (DGX Spark / GB10), prompts are read ~10x slower; elsewhere ~20 cores are burned during prefill
- #1054 [SYCL / Intel Arc] 2x Arc Pro B70 --layer-split auto deadlocks at startup after the host-mirror fill
- #1053 A reply that ends inside `<think>` (no `</think>`) comes back empty with `finish_reason: "stop"`, and the agent stops — close the thinking and continue once
- #1034 vram_elastic / POST /v1/vram: response schema and failure semantics (Windows 11, RTX 4090)
- #1029 docs: MULTI_GPU.md lists Pascal as unsupported for the layer split, but 2x Tesla P40 runs it (v0.1.39)
- #1018 [gfx906] gr_up_fast_kernel<GrMulti> aborts the engine with HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION on long-context chats (intermittent; the non-fast path is stable)
- #1015 Reasoning stuck in loop on Coder model
- #1012 0.1.39 serve: after an engine restart, waiting requests hang forever or fail with "list.remove(x): x not in list"
- #1009 8 GB card: 0.1.39's default prefill is ~40% slower than 0.1.31 (prompt chunk 512 -> 256 when borrowing cache slots)
- #1008 Title: 0.1.39 decode is ~15–23% slower than 0.1.38 on AMD (gfx1201/HIP, 2× R9700); prefill unchanged
- #1005 CRLF line-break tokens (`\r\n`, ids 317/845/8301) get far too little probability; everything else matches llama.cpp
- #997 0.1.39: engine exits (code 1) with "parallel": 4 on UD-IQ4_XS, RTX 3090 24 GB, three concurrent 8K prompts (reproducible; IQ3_S unaffected)
- #990 MCP install planning rejects supported AMD CPU vision (and retains the old Windows HIP restriction)
- #984 reasoning_budget_tokens is ignored?
- #980 Field report: local Qwen3.8-Flash-Next (Strata) as an agent building 3D scenes in Unreal Engine 5.8 via MCP — what broke, what fixed it, what is still missing
- #979 HIP: a gfx1201 hipBLASLt table for 1.2.1 (100201, ROCm 7.2.0) makes the prompt 6-17% slower than no table
- #977 --check prints [ok] for below-floor RAM and a misleading 'This PC can run Strata' verdict
- #974 Missing --kv-resident in generated args when --resident-budget-gib is set (tools/test_setup_unsloth.py)
- #973 Golden drift: all 46 test_enter_for_every_question subtests fail on main (tools/test_setup_golden.py)
- #971 Report: UD-IQ4_XS with images works (0.1.39, NVIDIA L40S vGPU in a VM, driver 550 / CUDA 12)
- #968 0.1.39: UD-IQ4_XS prompts read as garbage on an RTX 5090 (sm_120) through the MMQ prompt path; STRATA_PREFILL_MMQ=0 or an sm_86 card reads them correctly
- #964 SM75 (2080Ti) dual-GPU: "layer X never rang (illegal memory access)" and verify-window hang on IQ3_S
- #961 Windows (WDDM): verify window wedges nvlddmkm — 0x141 engine timeout → 0x116 TDR failure (driver defect, not a Strata bug)
- #957 using omp, pi with strata bad results.
- #954 [BUG] 0.1.39: fused int8 prompt experts (STRATA_PF_FUSED=1) + #583 byte-budget ring → kernel hang, `prefill mmq: iota: unknown error` on sm_120 (RTX 5090, WSL2)
- #953 Windows AMD report: UD-IQ4_XS on RX 7900 XTX (gfx1100) works, 34-64 tok/s decode
- #952 BrokePipeError when terminating Strata on Linux
- #951 crash after first inputs
- #942 AMD `gfx1102 / RX 7600 XT` - successful real model run on Strata 0.1.39
- #941 UPD: Successfully run on RTX 3090 24gb + Z590E + 64gb ddr4 3200 2ch
- #937 `[gfx1030] HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION in gdn_step_commit_kernel after a few long fresh prefills`
- #929 `--batch` with `--layer-split` exits ("verify batch: layer 34 never rang") with a 3070 first and a P40 second; works with the P40 first (CUDA, v0.1.39)
- #925 Setup: show progress in the browser from the first second (status page with steps, speed and ETA)
- #922 RTX 5070 Ti 16GB / Windows / IQ3_S: calibration ~14 tok/s and ~9–10 tok/s in controlled runs
- #921 CPU expert-pool 20 ms spin can hurt GPU-heavy decode; 100 µs gives ~15% higher TG and ~4× lower CPU usage on dual RTX 4090
- #918 Windows: Radeon 8060S (gfx1151) builds, selftests and passes the HIP ctest on top of #895
- #916 Unable to launch Strata on RTX 2060 6GB VRAM + 32 GB RAM
- #915 Windows AMD report: RX 6800M (gfx1031, laptop) works with a self-built HIP engine — please add 0x73DF / gfx1031 to the Windows path
- #906 Older PC (Haswell, DDR3, PCIe 3.0 x8): +15% decode on Q2_0 and IQ3_S from #706, #764 and a busier adaptive tier
- #892 Linux + RTX 50 (sm_120): an engine compiled with CUDA 13.2 answers garbage (IQ1_S/IQ2_S/IQ3_S miscompile); CUDA 13.0 works
- #890 HIP: "parallel": 2 + --layer-split on 2x R9700 exits (code 1) after "captured the batch window over slots 0,1"
- #884 HIP gfx1030, 2x RX 6900 XT: verify hangs after a long prompt when MMQ prompt path, adaptive expert swaps and SDMA meet (any one off avoids it)
- #881 [Windows / AMD] RX 6800M (gfx1031) runs with a self-built HIP engine — plus 2 Windows bugs found (packaging encoding, vision `vcvars`)
- #879 All-logits-NaN degeneration (one repeated token forever) still fires on 0.1.39b / current main — first poison traced to the MoE output rows: garbage bits, varying layer
- #875 P40 + 3070 (mixed Pascal/Ampere pair): `layer_split: auto` vs forced splits on 0.1.39, with hit rates (follow-up to #604)
- #872 Session RESTARTS COMPUTER after 25-30 mins (gfx1100)
- #871 Fresh prompts over --short-read decode !!!! (token 0) when the GPU holds 100% of the experts (48 GB card)
- #870 Intel Arc Pro B60 (e211), 24 GB: first run on 0.1.39 + 4 fixes for current main
- #867 Intel SYCL port on 2x Arc Pro B60: results, and "never rang (graph finished)" on the host-mirror path
- #857 "parallel": 2 lowers total throughput on a single 48 GB card (100% expert-cache hits): keep MTP drafts in batch windows?
- #843 Tool calls silently dropped in agent sessions after an empty assistant turn (fix: skip empty assistant turns when rendering)
- #841 not stable start with 3+ cards
- #840 --calibrate on Windows + AMD (HIP prebuilt 0.1.39) measures decode ~18x slower than the same engine through server.py, so the tuning is meaningless
- #831 The profile's length caps the expert arena — even an explicit --expert-cache N
- #830 Let a one-shot request skip the prompt-cache work (~45 ms per call that is never reused)
- #828 Heap corruption (munmap_chunk: invalid pointer) at startup in Prefill::init — crashes with 1/2/4 GPUs
- #825 Results for --model UD-IQ4_XS
- #816 0.1.39: decode on an RX 6800 (gfx1030, Windows) is 12-22% slower than 0.1.38; STRATA_SH_STREAM=0 removes it
- #806 Strange behavior for x2 RTX 5060 Ti (16Gb each) and UD-Q4_K_XL
- #804 Tool call written inside `<think>` (no `</think>`) is returned as `reasoning_content`: no `tool_calls`, `finish_reason=stop`
- #803 Perplexity ~7-10% above llama.cpp on the same GGUF (Qwen3.8-Flash-Next), also at 2K context, every version tested
- #795 Main engine strata.exe crashes with STATUS_ILLEGAL_INSTRUCTION (0xC000001D) on non-AVX-512 CPU - 20 WER crashes across v0.1.35/v0.1.38, fault offsets cluster in fixed code regions
- #791 Community benchmark: IQ3_S and community AP-Q4_K_M — single RTX 5070 Ti vs 2× RTX 5060 Ti layer split
- #781 1M context: identical expert work per window, but the VRAM-touching stages grow 7-8x
- #779 laptop crash with latest
- #776 --batch on a 100%-resident layer split: engine dies at "captured the batch window over slots 0,1" (zero-doorbell path?)
- #775 Community result: 2.5-3.1x output at 256K context on a 16 GB card (IQ3_S) - calibration, --spec 6, learned profile
- #771 Linux expert arena (0.1.39): MADV_HUGEPAGE + defrag=madvise makes the arena's faults 20x slower (25 s start -> 432 s), and 'loaded ... at X GiB/s' does not show it
- #770 Qwen 3.8 27B on Strata?
- #767 --vision cpu caps images at 300 tokens; llama.cpp's mtmd asks for >=1024 for Qwen-VL grounding
- #765 Make VRAM budgeting aware of KV, prefill staging and expert residency
- #760 524K via rope-scaling on consumer Blackwell (sm_120, no clusters): the histogram fallback works end to end — field data + two budget gotchas on 16GB cards
- #756 Title: Windows: llama.cpp UI ("llama-ui") opens at http://127.0.0.1:8080/. Where is the Strata web app / Monitor? (engine 0.1.38)
- #754 Anthropic API: tool calls intermittently emitted inside `thinking` and returned as `end_turn`
- #747 Feature request: multi-conversation parking on multi-GPU layer-split
- #739 [enhancement] Variance-normalized KV-cache quantization (KVarN) & KV cache precision tail
- #737 [enhancement] #498 follow-up: UD-Q4_K_XL split gate — allow confirm/override just below 135 GB total RAM
- #736 5090 Laptop 24G + 96 GB RAM swift-iq3_xxs和qwen-iq3_s 524K 是最优档:decode 完全不掉
- #735 can't load vision encoder
- #730 WARNING: the RAM budget (--resident-budget-gib) cannot be kept - experimental Q4
- #729 KV int8 vs fp16 KLD compare at 240K context
- #728 Infinite loop issue
- #723 Design question before we build: two lanes on a peer pair that help each other ("mutual help") — welcome upstream, or keep it in a fork?
- #713 Proposal: a common benchmark format and a comparison page for community reports
- #710 v0.1.38: cross-request tool loop repeats an ineffective repair 98 times despite a thinking budget
- #703 [AMD HIP] RX 6750 XT (gfx1031) works in heterogeneous layer split; long multimodal prompts can crash the engine
- #702 [AMD HIP] RX 9060 XT (gfx1200) Repeating output
- #697 Windows HIP / gfx1201: prompt stalls at `GPU rang 0`; post-store `__threadfence_system()` resolves it
- #694 fit_max_tokens issue, context problem with agentic coding.
- #691 Windows: generation slows when the server window is minimized (EcoQoS moves threads to E-cores) — fix included
- #690 Layer split: native prefill kernels fail on the second GPU (no kernel image available), regardless of which card it is
- #684 [Question] Prompt reProcessing
- #678 Feature request: Optional Intel NPU support for the vision encoder
- #675 Feature request: `logprobs` / `top_logprobs` on `/v1/chat/completions` (typed decisions from one forward pass)
- #671 serve: ordered lists whose items are separated by blank lines render every item as "1."
- #669 RTX 5090, 1M context: --prefill auto:32768 reads a 598K prompt 21% faster, and above 135K cells the reference top-k costs more than the block scores
- #661 Proposal: save and restore a conversation to disk (/slots/0?action=save|restore)
- #658 Proposal: single-GPU prefill buffer planning and RAM budgeting for conversation caching (RTX 5090 measurements)
- #657 Error while starting - PLE table size mismatch
- #654 HIP (gfx1200) RuntimeError Exception Code: 0xC0000005
- #649 HIP (gfx1030): intermittent 'verify: timed out at layer N (#267)' with UD-Q4_K_XL — repro data
- #647 Swift-Qwen3.8-Flash-Next-GSQ-RCO-IQ3_XXS works on double Vega 20 GPU (Radeon Pro VII 16gb each).
- #644 Specifying explicit GPU split crashes Strata
- #641 AMD Instinct MI50 / MI60 / Radeon VII (gfx906, wave64): a working port, numbers, and PRs to upstream it
- #629 Re-running setup with a different --context silently discards mcp_servers, mcp and sampling from the run config
- #625 Vision (CPU path): offer a Q8_0 mmproj and a higher image-token cap
- #621 Please add Unsloth Qwen3.8-Flash-Next-UD-IQ4_XS
- #620 IQ3_S: "native head upload: out of memory" at startup when the desktop runs on a second GPU (more free VRAM on the card)
- #617 V100-32GB field report: throughput, a thinking-budget pitfall, and Flash-125B vs Qwen3.8-27B on the same box
- #616 RTX A3000 / 0.1.38: AVX2 i-quant gate/up codebook gather — bit-exact ~1.3x isolated, +1.0% e2e, kept as opt-in
- #613 AMD 9070 XT on Windows causes VIDEO_ENGINE_TIMEOUT_DETECTED
- #610 RTX A3000 / 0.1.38: a native IQ3_XXS decode window decomposes via STRATA_VERIFY_PROFILE, and its GPU side is memory-bandwidth-bound
- #606 After a 36,689-token request at 155k, every later request answers one repeated token until the engine reloads
- #605 --ple-io direct on rotational storage deadlocks prefill; the watchdog reports it as a generic engine stall (triage discriminator + --ple-io ram fix)
- #604 Resident expert placement on a layer split, for mixed or older GPUs: where I think it helps, plus some doc notes, and an offer to test
- #602 Measured numbers: Qwen3.8-Flash-Next on 2× RTX 3060 (Q2_0 vs IQ3_S), plus a local reproduction of #75
- #597 setup: a draft vocabulary for French, acceptance 0.52 to 0.64 and decode 11% faster on an RTX 5090
- #592 serve: a malformed "tools" value kills the request thread (connection reset / 502 instead of a 400)
- #590 RX 7900 XTX (gfx1100), Ubuntu, setup's ROCm 7.10 wheel: ~0.8 tok/s decode, GPU at 100% / ~320 W
- #588 Reported expert-cache hit rate excludes --pcie-frac experts, so it rises as tok/s falls
- #587 tools/make_profile.py --base cannot reorder a complete base (shipped profile reports 0 from the traces)
- #585 Windows: source build for sm_70 (Volta) fails to link - LNK1169 (cudart_static.lib vs cudart.lib)
- #579 AMD/HIP RX 9070 XT (gfx1201) stalls during batched prompt ingestion on ROCm 10.0
- #577 0.1.38: UD-Q4_K_XL prompts 15-40% slower on a 96 GB PC, from the unbuffered file tier (STRATA_UNBUFFERED_LOAD=0 restores them)
- #560 AMD/Linux desktop: default VRAM reserve (700 MiB) lets the driver evict ~24 GB to RAM, OOM kills kwin; --vram-reserve-mib 3072 fixes it
- #558 Coder is no good, worse than 3.8 27B 4 bit
- #556 EXL3 (exllamav3 trellis) weight support
- #552 Is there any way to continue when the context llimit reached?
- #545 Error: 400: {"type":"invalid_request_error","message":"prompt (38963 tokens) + max tokens (226281) exceeds the context (262144); requests are never truncated"}
- #542 sm_120 + IQ packs: ~4x prefill regression 0.1.34-0.1.36 when libcudart's ABI is mismatched - the #420 fits() gate silently disables MMQ (smpbo reads 1)
- #541 AMD/HIP (R9700, engine 0.1.36): batched prompt read stalls at a repeatable token; STRATA_PLE_BATCH=0 avoids it
- #537 Literal </think> quoted in reasoning yields empty stop or leaked reasoning (v0.1.37)
- #535 Thinking speed suddenly drops to 0.5 token/s
- #534 Performance, RTX3060 vs RX7800XT
- #533 Hot VRAM resize: let the engine yield VRAM to other apps and take it back
- #528 Conversation cache: decode drops ~4-6x on continued conversations (0.1.36, Windows, RTX 5090, IQ3_XXS)
- #519 0.1.36 on an RTX 5090: STRATA_PF_FUSED=1 speeds up IQ3_XXS prompts 13-23%, and a ~550-token prompt spends ~470 ms in the batched prompt path
- #517 new error `raise RuntimeError("the engine exited before it was ready" + (f" (see {log})" if log else "") +`
- #515 Feature request: Intel Arc B390 / Panther Lake iGPU support on Windows (64 GB shared RAM)
- #513 Feature Request: experimental support for Qwen3.8-Whittle-MoE-27B-A17.8B
- #511 Engine stopped unexpectedly
- #509 layer_split auto is 2.86x slower than a balanced K on prefill with a heterogeneous pair (3080 + V100, measured)
- #507 Naive question about context window
- #506 RTX 5090 (sm_120): prefill ~3x slower on 0.1.34 than 0.1.31 (IQ3_S, single GPU)
- #505 gfx1100 (W7800 48 GB, 30 GB RAM): full-resident experts — decode 76.5 t/s @ ~100K ctx on 0.1.34 (no thinking), + hipBLASLt 100202 table, IQ2_XS vs IQ3_XXS reversed
- #498 setup: offer the layer split (`--gpus`) for UD-Q4_K_XL when the GGUFs fit in RAM — the engine already runs it without the budget (2x RTX 3090: 31 → 64-78 tok/s)
Pull requests
- #1499 core: write reduced helper rows directly to mapped output
- #1498 KV streaming under WSL: pin the K/V host copy with cudaHostRegister
- #1497 docs: tool selection and recovery analysis with model-family guide
- #1494 bench: heterogeneous RTX 5070 Ti + 5060 Ti, experimental PP32 KV-grow and adaptive DMA
- #1493 Experimental cooperative memory relief and resumable text requests
- #1491 bench: completed Flash Next tool-use results with charts and examples
- #1490 Add a workflow that builds and pushes the Docker image on a version tag
- #1489 Responses persistence and disk-only cache: CUDA/HIP integration
- #1486 feat: introduce Dockerfile.rocm-stable
- #1480 serve: --conversation-cache-disk-only - the conversation cache on disk, with no RAM budget (depends on #1271, #1269)
- #1476 Update GLM port to Project Maya v1.0.4
- #1472 Intel Arc A770 (DG2, 16 GB) support in the SYCL port
- #1471 feat: optionally offload idle session state while keeping model weights loaded
- #1467 bench: community report - RTX 4090, Flash-Next IQ3_XXS at 204800, engine 0.1.40.3
- #1465 cuda: retain HC norm products in existing scratch
- #1462 bench: RTX 5090 Laptop GPU follow-up for 0.1.40.2 and 0.1.40.3
- #1461 Peer tier with mutual help: concurrency 2 at 155 t/s aggregate on dual RTX 3090 (elastic peer pair, opt-in)
- #1460 Community benchmark: RTX 5080 in Docker Desktop on Windows (WSL2), Coder IQ1_M, 128K and 64K
- #1458 helper cache: configurable VRAM allowance with allocation-floor checks
- #1457 prefill: reuse shared scratch for the HC read
- #1456 bench: Flash Next variant tool-eval campaign
- #1455 serve: reuse prompt tokens across safe shared boundaries
- #1454 prefill: reuse embedding storage for half outputs
- #1452 bench: community report, Tesla V100 32 GB + P100 16 GB expert-helper (mixed Volta/Pascal), Flash-Next IQ3_XXS
- #1451 prefill: allocate PLE host buffers only when needed
- #1449 Add Metal backend support for Strata on macOS
- #1448 #606 follow-up: clamp the three remaining unclamped q8_1 scale/sum emit sites
- #1441 Prompt chunks sized for a layer split's pipeline (STRATA_PREFILL_PIPE=1, opt-in)
- #1439 perf(prefill): cache immutable BF16-to-FP16 weight conversions
- #1437 perf(cuda): add opt-in shape-tuned sm75 interleaved verify
- #1436 fix(serve): isolate CPU cores for independent Linux replicas
- #1435 docs: report RTX 8000 measurements of existing runtime switches
- #1429 bench: 2x TITAN RTX (sm_75) at Strata v0.1.40.3, IQ3_S at 262K
- #1426 dflash: experimental standalone DeepSpec DFlash block drafter for Qwen3.8-Flash-Next (greedy, correctness-first)
- #1424 Pascal GP100: a Q8_0 decode GEMV (STRATA_Q8_SM60=1, opt-in) and IQ3_XXS / IQ3_S tables in shared memory
- #1420 Add optional GLM-5.3-Flash support from Project Maya
- #1416 prefill: the CPU share's activations quantized on the GPU, copied down beside the routing sync (builds on #1414)
- #1415 cpu: add bit-exact AVX2 singleton expert rows
- #1414 prefill: the CPU share (STRATA_PREFILL_CPU_SHARE) up to 3,072-token chunks, from mapped experts, on a layer split
- #1411 OLDER_GPUS.md: the P100 row now has a measurement (2x P100, IQ3_S)
- #1406 bench: community report, RX 7900 XTX (gfx1100) on WSL2, Coder IQ1_M: 0.1.33 vs 0.1.40, prefill streaming, 16k-256k sweep
- #1405 tools: add configurable launches and reuse local model downloads
- #1402 Qwen3.6-35B-A3B and Ornith-1.5-35B-A3B (qwen35moe): a second, smaller model for 8-12 GB cards
- #1401 V100 (sm_70): prompt experts on FP16 tensor cores (+10% prompt) and three existing decode kernels as defaults (-6.8% GPU per window)
- #1400 docs: running Strata behind Open WebUI
- #1396 hip/gfx906: the tree does not build (q6_k MMQ instance and cudaEventBlockingSync)
- #1395 hip: a hipBLASLt tuning table for gfx1150 (Radeon 890M), and gfx1151's exact speed switches on gfx1150
- #1391 docs: STRATA_PREFILL_STREAM_MIN=128 in the gfx1151 fast configuration (agent-sized prompt reads on the fused experts: 3.4 -> 2.1 s per turn on Strix Halo)
- #1390 Windows: native Intel Arc build and setup (OpenCL), plus three Windows-SDK macro fixes
- #1388 hip: gfx1151 hipBLASLt tuning table for setup's ROCm 7.14.0a20260608 (hipBLASLt 1.4.0)
- #1383 generate: say that CUDA_LAUNCH_BLOCKING=1 hangs the verify windows (#1341 #964)
- #1381 mtp: the draft layer's experts at Q8_0 and BF16, alongside Q2_0
- #1378 bench: community report, RX 6600 8 GB (gfx1032), EPYC 7232P, IQ3_XXS 128K on Linux
- #1377 bench: community report - RTX 4090, Flash-Next IQ3_XXS at 204800, engine 0.1.40.2
- #1376 bench: add RX 7900 XT results for IQ3_S and IQ3_XXS
- #1374 experts: IQ1_S on GPU/AVX-2, IQ1_S+IQ1_M on AVX-512, and a measured PCIe share
- #1368 prefill: quantize each token's MoE input once and scatter it to its k rows (the same bytes)
- #1367 prompt attention: STRATA_PROMPT_ATTN_IMMA=1 - the int8-KV kernel on INT8 tensor cores (opt-in, closer to FP32)
- #1360 gfx1151: STRATA_EXPERT_V2K on by default (UD-Q4_K_XL decode experts: same text, +6.5% greedy / +9.9% sampled output on Strix Halo)
- #1359 setup: link the engine against the toolkit whose nvcc builds it (CUDAToolkit_ROOT)
- #1355 docs(bench): V100 follow-ups: 0.1.40 engine, UD-IQ4_XS tier, context decay, --parallel 4
- #1354 docs: the expert cache is a budget, and on Windows an over-sized one pages instead of failing
- #1351 Community benchmark: Flash-Next IQ3_S on an RTX 4080 SUPER (Windows), with the expert-pool worker sweep
- #1343 Add support for CYBER-FROST-3.8 (Blackfrost): read qwen4exp.nextn_predict_layers
- #1334 Adding support for 890M
- #1332 calibrate: the PCIe share sweep reaches 1.0, where no expert goes to the CPU pool
- #1331 Aporte/disk mirror y sesiones agnosticas
- #1330 Add community benchmark: 2x Tesla P100 16GB
- #1329 Fix batch MTP shared draft head type
- #1328 serve + engine: constrained decoding for JSON formats; accept tools together with json_schema
- #1327 serve: opt-in finite video input
- #1325 file tier (Windows): read each expert from experts.bin and a mirror on a second drive at once
- #1324 file tier: an LRU part of the RAM budget (--resident-lru-gib), elastic under memory pressure (Windows)
- #1323 prefill: batched unbuffered stager reads; close the experts.bin view once reads are unbuffered (port of #833)
- #1321 bench: publish an IQ2_XS speed report for the Radeon AI PRO R9700
- #1320 test: qualify existing exact HIP paths on gfx906
- #1319 serve: add opt-in bounded Responses history and continuation
- #1318 docs(AMD_HIP): my R9700 numbers for hipBLASLt 1.4.1 and STRATA_HIP_WMMA
- #1313 hipBLASLt table for gfx1201 at 100200 (R9700 calibrated, +15% prefill)
- #1309 bench: community results for an RTX 4090 Laptop GPU (IQ3_S, 128K and 256K)
- #1305 decode: --lookup-chain 1 and 2 do not change the window cap with the default --suffix-draft
- #1303 decode: --lookup-chain 1 and 2 do not change the window cap with the default --suffix-draft
- #1297 HIP: on-device autotuning for gfx1100 decode (kernel shapes, draft and CPU settings)
- #1296 hip: chunk-parallel GDN recurrence (WY form), two parity-gated arms (STRATA_GDN_WY)
- #1295 Experimental native Windows path for Intel Arc
- #1293 Community benchmark: RX 7900 XTX 24 GB — ROCm 7.1.1 vs ROCm 10.2 nightly
- #1292 Docs: AMD RX 7900 XTX (gfx1100) IQ3_S rates row (1K-128K)
- #1291 bench: community report - HP Z820, dual Xeon E5-2697 v2 (AVX only) + RTX 3090, Qwen3.8-Flash-Next IQ3_S, 512K context
- #1290 Fix shared MTP slot initialization and speculative row bounds
- #1287 feat(vision): support Windows HIP image encoding
- #1282 prefill: STRATA_PREFILL_CPU_SHARE=auto hands a small chunk's least-routed experts to the idle CPU pool (opt-in)
- #1281 sampler: coupled drafts with Gumbel-max picks (STRATA_SPEC_GUMBEL=1, opt-in): +7 points draft acceptance, +9% output at temperature 1.0 on Strix Halo
- #1279 perf(cuda): use exact GP100 VMAD for native DP4A emulation
- #1278 HIP: run the K-quant MMQ test on HIP builds; UD-Q4_K_XL measured on an R9700
- #1273 serve: session files work with --peer-device
- #1270 bench: community report, 2x RX 6900 XT (gfx1030) + Ryzen 5 5600X, IQ3_S at 131K on 0.1.40.1 - one card, layer split and expert helper; stock, the two gfx103x switches, and #1150 #1151 #1167
- #1269 serve: restore a session file without holding its K/V in RAM
- #1263 Community benchmark: RTX 5090 Laptop GPU (24 GB), Windows 11, Strata 0.1.40.1
- #1262 STRATA_HC_REQ8: hyper-connection projections requantized to int8 + fp32 scale per 32 at load (rebased #704)
- #1260 tests: order MMQ parity transfers on the compute stream
- #1259 setup: --draft-vocab it - the English/code subset plus the tokens of Italian text
- #1253 Enable serial multi-GPU batch MTP
- #1251 --peer-device prompt share without P2P: host route, per-token sums, FP16 transfers (2.1-2.5x prompts on a no-P2P pair)
- #1245 bench: UD-IQ4_XS first NVIDIA measurement (RTX 5090 Laptop, 24 GB)
- #1243 Bench/2026 10 05 community rtx 5080
- #1242 Isolate concurrent image positions and batch-MTP draft paths
- #1240 Avoid unused MTP branch stream on HIP
- #1237 perf(expert): the cache fill's stage buffers pinned with cudaHostAlloc
- #1232 enable --kv-grow with --batch
- #1231 kv-grow: a run that cannot lend cache slots maps the whole window up front instead of writing past its first 16K cells
- #1226 Community benchmark: 2x RTX PRO 4500 Blackwell, Swift IQ3_XXS, engine 0.1.40.1 (solo to 256k, --batch after #776)
- #1225 bench: add R9 dual RTX 2080 Ti community results
- #1223 generate: allow the elastic K/V with --peer-device (VMM ranges keep their memory on the owning GPU)
- #1222 serve: render a Codex compaction with that conversation's tool prefix
- #1221 serve: answer Codex thread-title turns without reading them
- #1220 fix #1121: preserve shared draft-head metadata in batch MTP slots
- #1219 setup: a Spanish draft subset (--draft-vocab es); Spanish answers dra…
- #1216 bench: community report, RTX 5070 Ti + Ryzen 7 9800X3D on Windows 11, IQ3_S, 5K to 164K prompt tokens (reland)
- #1215 prefill MoE (SYCL): batch the per-expert GEMMs via oneMKL strided gemm_batch (+43% prefill on Arc Pro B70)
- #1209 Speed up concurrent generation, fix QFUSE, and improve prefill monitoring
- #1207 fix(serve): keep cached images alive through request preparation
- #1204 serve: a Chinese / English language switch for the web app
- #1199 Community benchmark: RTX 3090 eGPU + 64GB, IQ2_XS vs IQ3_XXS
- #1193 bench: community report, 2x TITAN RTX (sm_75), IQ3_S at 262K
- #1192 Community benchmark: 4x Tesla P100 16 GB (Pascal), IQ3_XXS, CUDA 12 engine
- #1190 resident RAM mode with a layer split: the copy keeps each stage's lend region
- #1189 Add assistant prefill support for chat completions
- #1187 gfx906: opt-in Q2_0 gate/up weight reuse without singleton regression
- #1186 setup: --draft-vocab es - the English/code subset plus the tokens of Spanish text
- #1184 AMD HIP: the primary ordinal, and the helper caches beside the resident RAM mode
- #1181 perf(expert): the verify window's GPU plan in O(n) instead of O(n^2)
- #1179 batch: with --batch-groups, a group's lowest free slot first (+14-22% at 2-3 clients)
- #1176 strata_pack.py build --force: unmake the old pack before writing, so a build that stops part-way is an unfinished build, not a pack (#634 follow-up)
- #1173 bench: community report, RX 7900 XTX on Windows 11, IQ3_S, engine 0.1.40
- #1167 hip: a rocBLAS solution table for the FP16 prompt GEMMs on gfx103x (the GDN projection 7x below 1,152 tokens; short prompts -10 to -14%)
- #1166 cpu pool: --host-core sibling, the host off the interrupts' logical processor (hybrid CPUs too)
- #1164 conversation cache: a shared prefix is copied out of a parked conversation instead of taking it over, so the parked one keeps its history
- #1163 conversation cache: a re-parked conversation reserves at most 1/8 of each K/V buffer instead of up to 16 MiB, so fewer get evicted
- #1159 Community benchmark: 2x Tesla P40 22 GB (Pascal, experimental CUDA 12), single card and layer split
- #1158 bench: community reports, RTX 4090, IQ3_XXS 204800 and IQ3_S 143360 - 0.1.38 to 0.1.40.1
- #1157 Community benchmark: 2x Tesla P100, Flash-Next IQ3_S, 128k context
- #1156 setup: reach the CPU image encoder on Windows + AMD (#1155, #881)
- #1154 decode: support a three-GPU two-window pipeline on 3 P4s
- #1151 hip: the FP32 tiled QSA block scorer on HIP cards (opt-in STRATA_SELECT_SIMT=1, as on CUDA; a 128K prompt +7.4% on gfx1030)
- #1142 hip: accept gfx1010 and gfx1011 (RDNA1) in the arch gate
- #1140 bench: community report, 2x RX 7900 GRE (gfx1100), layer split, 0.1.40 #848/#859/#880 #776
- #1136 Add opt-in durable chat history, legacy import and browser compaction
- #1134 bench: community report — RTX 5090, IQ3_S at 1M context (YaRN), agent-style workload (re-submission of #466)
- #1133 prefill: the advisory VRAM plan - the startup arithmetic says what it sees, and only warns (#796 part C)
- #1132 docs: running Strata behind llama-swap
- #1131 generate: the prompt loan keeps its residency bookkeeping without the token graph (#796 part B)
- #1127 hip: rebased support for Radeon gfx1151 APUs
- #1126 Harden server, installer and engine against high-risk bugs
- #1125 cpu experts: an AVX2 Q8_K activation quantizer (byte-identical to ggml's)
- #1123 HIP RDNA2 (gfx103x): prompt GEMMs as FP32 SGEMMs, a faster default that cannot overflow (RX 6800: 343 -> 534 tok/s)
- #1122 Pipelined windows + async adaptive tier together (--pipeline-windows 2 --adapt-async 1)
- #1120 layer split: overlap the stages' hand-off (STRATA_SPLIT_OVERLAP=1, opt-in)
- #1117 serve: --elastic, an automatic elastic expert cache with a fixed core (opt-in; resubmission of #1030 on the new main)
- #1115 bench: community results, 2x RTX 5060 Ti 16 GB (PCIe gen3), Strata 0.1.34
- #1114 Monitor: per-GPU view, more cards, and a layout you can rearrange
- #1111 Intel arc 0.1.40
- #1110 fix(mtp): --batch-mtp exits on the first admission with a draft-vocab head (slot drafters never copy its type)
- #1109 docs(hip): GPU_PINNED_MIN_XFER_SIZE=1048576 stopped our gfx1030 mmap-experts stalls (#267, #649)
- #1108 Add architecture check condition in native_dense.cpp
- #1107 prefill: gather experts in groups on short prompts too
- #1105 serve: the Monitor's per-GPU cards, each card's free VRAM, and the vision footprint
- #1102 fix: batch host paths honor refreshed residency (deadlocks the engine during a prompt loan)
- #1101 prefill: let Stager threads sleep instead of yield-spinning (Linux + --mmap-experts: prompts ~10x faster on DGX Spark, ~1 core instead of ~20)
- #1100 s2_qpn8: opt-in QPN8 expert GEMV on Volta m8n8k4 (M >= 4)
- #1097 V100: bit-exact GEMV / MoE operator fusions (experimental build only)
- #1095 kv_q8: the gather decodes 8 int8 per thread (V100 experimental build, +11%)
- #1092 launcher: pick a model and its settings in one window (experimental)
- #1091 qsa_select: FP32 tiled block scores below sm_80 (+22% 128K / +44% 248K prefill on a 2080 Ti)
- #1090 serve: prefix snapshots on disk - a new chat restores its system prompt instead of reading it again
- #1089 tools: bench_eviction — the R4.1 sweep: compulsory-miss vs LRU vs LFU-decay vs oracle on real routing traces
- #1087 cpu: allow configuring expert-pool tasks per phase
- #1086 strata-vision: flash attention off when the CPU encoder's ggml has AVX-512 (3.3x faster there)
- #1084 hip/gfx906: `__dp4a` falls back to a 4-iteration loop although gfx906 has v_dot4_i32_i8
- #1083 hip/gfx906: the tree does not build (three STRATA_USE_HIP gates miss STRATA_HIP_GFX906)
- #1081 fix(build): qualify size_t in vmm.hpp (GCC 12 rejects the unqualified name)
- #1078 bench: RX 6800M (gfx1031) community report - self-built HIP engine on Windows
- #1077 feat(arm): build and run Strata on aarch64, including DGX Spark
- #1067 hip/gfx906: `__dp4a` falls back to a 4-iteration loop although gfx906 has v_dot4_i32_i8
- #1066 hip/gfx906: the 0.1.40 tree does not build (three STRATA_USE_HIP gates miss STRATA_HIP_GFX906)
- #1063 fix(mtp): --batch-mtp exits on the first admission with a draft-vocab head (slot drafters never copy its type)
- #1062 bench: community report, 2x RTX 4060 Ti 16 GB + Threadripper PRO 3975WX, UD-IQ4_XS at 131K, layer split
- #1060 Monitor: per-GPU view, more cards, and a layout you can rearrange
- #1057 prefill: let Stager threads sleep instead of yield-spinning (Linux + --mmap-experts: prompts ~10x faster on DGX Spark, ~1 core instead of ~20)
- #1050 prefill: STRATA_PREFILL_CPU_SHARE=auto hands a small chunk's least-routed experts to the idle CPU pool (opt-in)
- #1049 #606: the fused SwiGLU q8_1 quantizers keep the block's scale and sum finite too
- #1046 serve: a request's combined image file is deleted when the request is refused or never runs
- #1041 serve: an image in an Anthropic tool_result reaches the encoder (Claude Code's Read of a picture)
- #1040 Elastic K/V (--kv-grow, opt-in): the K/V takes VRAM as the context grows, the expert cache holds the rest (+68% cache on a 16 GB card at 262K)
- #1039 Start: register the expert arena per layer on a thread ahead of the readers (Windows; part 2 of #285)
- #1033 prefill: gather GPU-resident experts in groups on short prompts too
- #1032 serve: add opt-in bounded Responses history and continuation
- #1030 serve: --elastic, an automatic elastic expert cache with a fixed core (opt-in, CUDA VMM)
- #1028 Community benchmark: 2x Tesla P40 22 GB (Pascal, experimental CUDA 12), single card and layer split
- #1027 bench: community report, RX 6700 XT 12 GB (gfx1031), Ryzen 7 5700G, I…
- #1025 fix: unblock all-resident batch windows (batch verify waited for a doorbell the graph never publishes)
- #1024 s2_qpn8: opt-in QPN8 expert GEMV on Volta m8n8k4 (M >= 4)
- #1021 V100: bit-exact GEMV / MoE operator fusions (experimental build only)
- #1019 kv_q8: the gather decodes 8 int8 per thread (V100 experimental build, +11%)
- #1017 feature: RDNA3 support / Cache-aware routing
- #1016 Bench: RTX 5060 Ti 16 GB on Ryzen 9 7945HX, IQ3_S
- #1014 vision: downscale large images before CPU encoding (12MP: >8 min → 20 s)
- #1013 serve: a continued batch request reports its own prompt's reuse; input_tokens never 0
- #1011 kv: one pinned KV pool shared by the sessions (--kv-pool-tokens; 4 lanes x 256K pin 6.24 GiB instead of 15.5)
- #1010 batch: up to 3 MTP drafts per slot inside the 8-row window (2 lanes, code: 71.6 -> 84.3 tok/s)
- #1007 hip: the QSA block scores on rocBLAS SGEMM, the solution measured on the card (opt-in; a 128K prompt +2.8% on gfx1030)
- #1006 HIP RDNA2 (gfx103x): run the prompt path's 16-bit GEMMs as FP32 SGEMMs (RX 6800: prompts 312 -> 452 tok/s)
- #1003 resident RAM mode: release each layer's mapped experts as it is copied (Windows)
- #1002 arena: STRATA_ARENA_MMAP on Windows (mapped experts.bin, streamed first fill)
- #1001 generate: wait for the residency table's upload before the next window (#871)
- #1000 HIP: gfx1102 (RX 7600) community-validated, with an end-to-end run (follow-up to #192)
- #999 hip: the fused-int8 MoE kernels on gfx1100 rocWMMA - opt-in STRATA_PF_FUSED arm + parity fixture (engagement: parity, REJECT-at-parity recorded)
- #996 hip: accept gfx1010 and gfx1011 (RDNA1) in the arch gate
- #995 Community benchmark: RTX 4070 Ti SUPER 16 GiB (Shin-BlackMamba, upstream 6f32ec07)
- #994 Isolate concurrent image positions and validate vision records
- #993 bench: community report, RTX 5070 Ti + Ryzen 9 5900X, 64 GB DDR4-3600 (IQ2_XS / IQ3_XXS / IQ3_S, six-arm A/B)
- #992 security-hardening
- #991 tools: bench_eviction — the R4.1 sweep: compulsory-miss vs LRU vs LFU-decay vs oracle on real routing traces
- #988 Resident RAM mode with a layer split: only the experts no stage's cache holds (UD-Q4_K_XL on 2x 3090 with 64 GB)
- #981 hip: a rocBLAS solution table for the FP16 prompt GEMMs on gfx103x (the GDN projection 7x below 1,152 tokens; short prompts -10 to -14%)
- #970 serve: a tool call written inside the thinking ends it implicitly (#804)
- #969 serve: Q4 at 297.3 tok/s non-MTP (N=8); MTP +30.4% decode (N=2)
- #965 serve: pin Claude Code's per-request billing stamp, so the conversation cache reuses agent prompts
- #963 feat(server): stop unchanged completed tool-call loops
- #960 serve: prefix snapshots on disk - a new chat restores its system prompt instead of reading it again
- #958 #583: the fused layout shrinks the MoE buffers only when every layer can take the fused path
- #955 bench: Arc Pro B65 Gen4 results on patched v0.1.40
- #950 prefill: opt-in pointer-list bypass for gate/up gather (STRATA_PF_PTR_MMQ)
- #949 cpu: allow configuring expert-pool tasks per phase
- #946 launcher: pick a model and its settings in one window (experimental)
- #945 setup: the low-RAM and KV-streaming decisions as functions
- #944 hip: gfx11 WMMA prompt attention and selection scorer, gfx1151 hipBLASLt table
- #943 Add experimental deepMoE Vulkan backend for DeepSeek text chat
- #939 serve: a tool call written inside an unclosed thinking span is an implicit think end (#804)
- #936 layer split: overlap the stages' hand-off (STRATA_SPLIT_OVERLAP=1, op…
- #934 Per-layer expert cache: each layer's slots are that layer's blob
- #933 CPU trellis kernels (AVX2 / AVX-512) for TQ2_T / TQK6 / TQK7 expert-cache misses (stacked on #928)
- #931 serve: control-token text inside a message stays text (<|im_end|> in a file no longer ends the turn)
- #930 cpu: IQ3_S / IQ2_S AVX2 decode without the per-index shift/mask/or (1.07-1.6x per row)
- #928 Gyro (TQ2_T / TQK6 / TQK7 + Hadamard rotation): native support for the agentionai Qwen3.8-Flash-Next quants
- #927 bench: community report, 2x RX 6900 XT (gfx1030) + Ryzen 5 5600X, IQ3_S at 131K - one card, layer split and expert helper, stock 0.1.39 and with #835/#849/#854
- #924 serve: render Codex's compaction with the conversation's tool prefix (Codex compatibility)
- #920 docs(hip): GPU_PINNED_MIN_XFER_SIZE=1048576 stopped our gfx1030 mmap-experts stalls (#267, #649)
- #919 hip: Windows support for Radeon gfx1151 APUs (on #895)
- #917 bench: community report, Qwen3.8-Flash-Next-GSQ-RCO Q2_0 (Strix Halo/Radeon 8060S gfx1151 + 128 GB VRAM)
- #913 bench: community report, RTX 4060 Ti + Xeon E5-2673 v3 (DDR3, PCIe 3.0 x8), Q2_0 and IQ3_S, 0.1.39 path vs #706 + #764 + a busier tier
- #912 setup: show the GPU's PCIe link in step 1, warn on fewer lanes than the card has
- #911 setup: --inspect, a GGUF's real quantization and whether Strata runs it, from its headers only
- #910 Two-GPU decode: bounded attention merge (bitwise, opt-in) and pipelined PLE read-ahead / early chain (stacked on #905)
- #908 setup: ModelScope as a download source (--source), used when Hugging Face's files do not answer
- #907 calibrate: measure the adaptive expert tier (--adapt-every / --adapt-swaps / --adapt-decay)
- #905 Pipelined windows + async adaptive tier together (stacked on #859 and #876)
- #904 Verify window: PDL on sm_90+, graph branches, batched Q4_0 KV append and PLE post-ops (bit-identical)
- #903 prefill: a prompt reads in equal chunks; a short streaming tail stays (#693, rebased)
- #902 Community benchmark: Tesla V100-SXM2-32GB on Windows (CUDA 12.6 / MSVC)
- #901 Add ARM64 NVIDIA GB10 build and native-pack support
- #897 setup: the disk check counts only what step 6 still writes
- #896 ple: accept Q5_1 and Q8_0 n-gram tables
- #895 hip: support Radeon gfx1151 APUs
- #889 sycl: read doorbell flags with an uncached L1+L3 hint (the GPU never saw the host's store on an Arc Pro B60)
- #888 hip: chunk-parallel GDN recurrence (WY form), two parity-gated arms - opt-in STRATA_GDN_WY (measured on gfx1100)
- #887 layer split: score every four-way placement instead of guessing it
- #885 Perf/duplex transfers only
- #883 sm_60: PTX vmad for the __dp4a fallback (bit-exact, ~2.2x in isolation)
- #880 layer split: the stage weight trim works under `auto` too 4X gain in the prefill in 4 way ring
- #876 Asynchronous adaptive expert tier for the resident RAM mode (--adapt-async 1, opt-in)
- #869 serve: opt-in recovery from repeated reasoning passages
- #868 docs: Arc Pro B60 rows and notes, and the B60's PCI id (e211) in setup_intel.py
- #866 sycl: keep cudaStreamQuery's answer in the per-layer ring waits
- #865 ngram: add opt-in Q8_0 PLE table support
- #864 perf: opt-in resident expert exchange buffer rotation
- #863 cpu kernels: gathered decode on the cores where it is faster, AVX-VNNI rows, IQ3_S one-token kernel
- #861 serve: "strata_checkpoint": false lets a one-shot request skip its conversation checkpoint (#830)
- #860 Unsloth UD-Q6_K_XL: Q8_0 PLE rows and Q6_K gate/up experts
- #859 Layer split: pipelined verify windows for one conversation (--pipeline-windows, opt-in)
- #858 gfx906 compat: cudaFuncSetAttribute as a template function, the shared-memory carveout name (#646's fused_gr did not build)
- #854 expert plan: a helper GPU's experts are not part of the PCIe share (--remote-expert-opt decode 40 -> 66 tok/s on 2x RX 6900 XT)
- #853 cuda: specialize hyper-connection up for short verify windows
- #851 cpu experts: an AVX2 Q8_K activation quantizer (byte-identical to ggml's)
- #850 bench: community report, Tesla V100 32 GB + RTX 4070 layer split with 16 GB of RAM (IQ2_XS)
- #849 HIP gfx103x: PR #540's attention kernel with 8 cells per step and DPP lane exchanges (bit-exact, prompt +6-12% on RX 6900 XT)
- #848 Resident RAM mode with a layer split, --vram-reserve-later-mib (#642)
- #844 setup: Unsloth's UD-Q3_K_XL, set up as UD-IQ4_XS (its experts are IQ3_XXS / IQ4_NL - no Q3_K)
- #839 Add experimental Linux gfx900 setup with wave64 validation
- #838 #606: the fused SwiGLU q8_1 quantizers keep the block's scale and sum finite too
- #837 server: "return_progress": true puts the prompt's PP line on the stream as llama.cpp's prompt_progress
- #835 HIP gfx103x: the prompt path's 16-bit GEMMs in FP16 in and out (prompt reads ~2x on RX 6900 XT)
- #834 bench: community report, RTX 4090 + 32 GB RAM at 512K context (IQ2_XS)
- #833 Prefill: batched unbuffered expert reads, close the experts.bin view; opt-in RAM budget with helper caches
- #832 bench: community report, RTX 5070 Ti + Ryzen 7 9800X3D on Windows 11, IQ3_S, 5K to 164K prompt tokens
- #829 docs: running Strata behind llama-swap
- #826 verify: the shared-expert stream fork starts off on HIP (fixes the 0.1.38 -> 0.1.39 decode regression, #816)
- #823 bench: community report, Tesla V100 32 GB with 16 GB of RAM (Coder IQ1_M)
- #822 Add assistant prefill support for chat completions
- #820 prefill: the dense GGUF projections through MMQ on HIP (opt-in STRATA_DENSE_MMQ=1)
- #819 frontend: images inside Anthropic tool_result blocks reach the model
- #818 Windows: opt-in release of mapped expert pages after GPU uploads
- #815 bench: community results for an RX 6800 on Windows (0.1.39 against 0.1.38)
- #812 serve: Codex MCP tools (web search) fail as 'unsupported call': map namespace__name calls back to their namespace
- #811 Add an RTX 5090 + Ryzen 7 9700X IQ3_S benchmark on engine 0.1.39
- #809 Intel arc 0.1.39 + perf fixes
- #807 cuda: opt-in batched expert uploads to reduce host submission overhead
- #805 Lazy vision encoder: per-GPU elastic expert caches
- #802 Run IQ1_S (Unsloth UD-IQ1_S) on the GPU and AVX-2, and read the expert file tier faster
- #800 qsa_prompt_attn: Volta (sm_70) m8n8k4 kernel - keep the hi and lo halves in separate accumulator chains
- #799 docs: the expert cache size is a budget, and on Windows an over-sized one pages instead of failing
- #796 generate: one startup VRAM plan before the expert cache is committed (#765)
- #793 Pipelined windows over the active slots (+ slot allocator), /metrics for Prometheus (vLLM names) + monitoring kit
- #792 batch slots: the zero-doorbell graph (100% VRAM resident) rings no layer
- #790 serve: honour OpenAI tool_choice "required" and a named function
- #789 prefill: overlap shared-expert work with routed expert uploads
- #783 perf(cuda): fused decode/verify/MTP kernels and graph launch reductions on 0.1.39
- #780 Community benchmark: Flash-Next IQ3_S on an RTX 4080 SUPER (Windows), with the expert-pool worker sweep
- #777 Add an RTX 5090 + Ryzen 7 9700X IQ3_XXS benchmark on engine 0.1.39
- #773 file tier: unbuffered reads on Linux too (O_DIRECT + the kernel's asynchronous reads)
- #766 hip: a gfx1100 hipBLASLt tuning table for 100401 (packaged ROCm 10.0.0)
- #764 decode: STRATA_ADAPT_LAG - #463's reproducibility without its stall
- #761 stage no longer waits for the whole split below it
- #758 bench: community MI50 (gfx906) — Strata 0.1.38 speed and recall
- #757 bench: community results for an RTX 4090 Laptop GPU (IQ3_S, 128K and 256K)
- #755 hip: gfx1100 hipBLASLt 1.5.0 tuning table (ROCm 10.2 nightly) — closes the gfx1100 100500 gap
- #753 serve: isolate concurrent request metrics (depends on #559)
- #751 Persist conversation KV state in a bounded disk LRU cache
- #745 Community benchmark: RX 7900 XTX 24 GB — ROCm 7.1.1 vs ROCm 10.2 nightly, serve-path decode (Qwen3.8-Flash-Next IQ3_S)
- #744 HIP: on-device autotuning for gfx1100 decode (kernel shapes, draft and CPU settings)
- #743 qsa_select: coalesced streaming top-k for long Turing prompts (+23% 248K prefill)
- #742 qsa_select: FP32 tiled block scores below sm_80 (+22% 128K / +33% 248K prefill on a 2080 Ti)
- #741 prefill: BF16 projections on FP16 tensor cores below sm_80 (+8-17% prefill on a 2080 Ti)
- #740 Community benchmark: RX 7900 GRE (gfx1100, 16 GB), three Flash-Next quants
- #734 Reuse long chat history when the last user message is edited
- #733 Pipeline CPU expert work without a batch-wide phase barrier
- #732 Overlap streamed KV uploads with prefill computation
- #731 Avoid duplicate expert slots across helper and primary GPUs
- #727 Add opt-in durable chat history, legacy import and browser compaction
- #726 Add opt-in live cache resizing and desktop resource presets
- #722 Add Hadamard-INT2 GGUF support
- #721 Community benchmark: 2× RTX 3060 12 GB, Qwen3.8-Flash-Next IQ3_S (three prompt sizes, 3 runs each)
- #718 serve: park conversations on disk, keyed by a client id; requests without one stay in RAM
- #717 fix: make the CUDA language link the shared runtime (Windows sm_70 LNK1169, #585)
- #716 conversation parking with --layer-split
- #712 Fix Windows AMD telemetry and add optional Arabic UI
- #711 kv: --kv k8v4 streams with --kv-resident
- #707 docs: community benchmark row - Tesla V100-PCIE-32GB (sm_70 source build, before/after calibration)
- #706 Feat/q2 avx2 bitplane
- #704 STRATA_HC_Q8: hyper-connection projections as int8 + fp32 scale per 32
- #699 Linux: read ahead at startup (cold start ~920 s → 70 s)
- #698 Bench: RTX 5090 / 9950X3D (IQ3_S, three-pass A/B) + RTX 2080 Ti / 9900KF (IQ3_XXS, Turing)
- #696 web: saved chats and projects on the server, a file viewer, a coding agent, engine start/stop (#361)
- #693 prefill: auto:16384 tries every 1024 tokens above 8192, and equal chunks - prompts 21-38% faster from 20K on a 16 GB card
- #688 Bench: RTX 5090 / Ryzen 9 9950X3D, IQ3_S, v0.1.34 vs v0.1.38 vs fused prompt kernels
- #686 Add a tiny zero-dependency terminal launcher for Strata
- #685 Add optional Windows HIP vision encoder builds and package validation
- #683 setup: a re-run of setup carries over the hand-edited config blocks (#629)
- #680 Add persistent chat history, local model selection, and a Windows desktop client
- #677 bench: Linux + 2x AMD Instinct MI50 16 GB (gfx906), Coder IQ1_M, 4K to 128K prompt tokens
- #674 bench: community report, RTX 3090 Ti + 2x Xeon E5-2699 v3 (HP Z840), IQ3_S at 262K
- #673 Load the vision encoder lazily with the model
- #668 Session files: save and restore a conversation to disk (POST /slots/0?action=save|restore)
- #667 Add Intel XPU backend: Qwen decode on Arc Pro B60 via SYCL
- #666 setup, serve: the image encoder's device as its own role (--vision-device)
- #664 setup, tools: a draft vocabulary for French, and draft_vocab.py builds one from a text (#597)
- #663 prefill: a layer split's idle card streams a share of a one-chunk prompt's experts
- #660 strata-vision: flash attention off when the CPU encoder's ggml has AVX-512 (3.3x faster there)
- #659 Fix WDDM host pinning for gfx1031 native inference
- #656 serve: cooperative prefill preemption at safe chunk boundaries (--prefill-preempt)
- #655 sm_75: run the prompt path's BF16 products on the FP16 tensor cores (+15-18 % prefill on RTX 2080 Ti)
- #653 serve: park conversations with a layer split
- #652 serve: commit only the tokens a verify window hands out
- #651 ple: read Q8_0 and Q5_1 n-gram tables
- #650 pinned: back the Linux expert arena with transparent huge pages
- #648 native dense: run the architecture guard only on the first shard of a split
- #646 perf(cuda,decode): zero-doorbell resident verify graph, sub-warp expert packing & shared-mem staging (+39-72% tok/s)
- #640 STRATA_ARENA_MMAP=1: the expert arena as a read-only mapped file (Linux), for small-RAM machines
- #639 layer split: with explicit split points each GPU loads only its own layers' dense weights
- #638 hip: AMD Instinct MI50 / MI60 / Radeon VII (gfx906, wave64) as an opt-in build
- #637 serve: retry an engine start that fails, and keep the last known context after a failed restart
- #636 native: add opt-in GBNF constraints to existing generation
- #634 strata_pack.py build: refuse an output directory that already holds a pack, naming the file
- #630 serve: add opt-in stateless Responses API
- #628 bench: report Coder IQ1_M on Threadripper 3990X and RX 6900 XT
- #627 opt for sm_70(just test V100-16g*1 or 2)
- #624 bench: community report — RTX 4090, Ryzen 9 7950X, Flash-Next IQ3_S
- #622 iq: gather the AVX2 codebook from the grid table (STRATA_IQ256_GATHER)
- #619 Add support for CYBER-FROST-3.8 (Blackfrost): read qwen4exp.nextn_predict_layers
- #618 bench: Windows 11 + Radeon AI PRO R9700 (gfx1201), IQ2_XS, 4K to 248K prompt tokens
- #615 fix(serve): correct cache usage and timings across reasoning continuations
- #608 setup: a 200K context between the 128K rule and 256K (#406)
- #603 qsa_select: a 1,024-thread top-k past the register kernel's reach (CUDA) - a 243K-token prompt +26% on an RTX 3060
- #600 qsa_prompt_attn: tensor-core kernel for Volta (sm_70, mma.m8n8k4)
- #599 native experts: Q4_0 and Q4_1 GPU kernels, Q4_0 PLE table
- #595 No-AVX2 CPUs on a native build; run-script context override
- #593 prefill: run BF16 GEMMs through FP16 tensor cores on sm_70/sm_75
- #586 ple: read the PLE table at full BF16 precision (opt-in, alongside FP8)
- #583 Prefill chunk ring
- #582 Serve tool result images
- #581 serve: the Monitor's per-GPU cards, each card's free VRAM, and the vi…
- #580 Weight carve 0138
- #578 Improve multi-GPU decode performance via optimized expert-helper execution
- #576 multi-GPU: conversation parking across a layer split
- #575 qsa select: split the top-k past the register fit - 9% faster long-prompt prefill
- #571 Feat/responses api 451
- #570 setup: a read-only --gguf-dir no longer stops setup when marking checked shards
- #568 parity tests: ple_parity runs without the missing fixtures, gr_parity and ple_parity wait for their setup
- #567 serve: tokenise the prompt from the last shared prefix, not from the start
- #563 Give the expert cache's VRAM back without unloading the model (#533)
- #562 serve: /slots reports n_prompt_tokens, so a llama.cpp-style context m…
- #559 Several conversations at once: batch slots, a pipelined layer split, per-stage dense weights
- #555 serve: a request's combined image file is deleted when the request is refused or never runs
- #546 prefill: the fused layout's smaller MoE buffers only when every layer takes the fused path (STRATA_PF_FUSED=1 on IQ2_XS wrote past them)
- #538 Community benchmark: RTX 5060 Ti 16 GB + EPYC 7B12, UD-Q4_K_XL at 262,144 tokens
- #532 tests: prefill_mmq_kquant_test waits for its uploads before the kernels
- #531 multi-GPU: second GPU as an opt-in expert-cache tier (--peer-device), resubmit of #229 on v0.1.36
- #529 serve: an image in an Anthropic tool_result reaches the encoder (Claude Code's Read of a picture)
- #527 Experimental P100: pinned RAM complement for fixed layer-split CPU/GPU inference
- #512 prefill: use active QSA top-k bounds on Turing with large KV capacity
- #508 Community benchmark: 2x RTX 5060 Ti (16 GB), Xeon E5-2690 v4, IQ3_XXS, engine 0.1.35
- #500 perf(cpu-pool): eliminate host serialization barrier for intermediate activation quantization with adaptive threshold
- #499 bench: community results, RX 9070 XT 16 GB on Windows 11, ready-made AMD engine 0.1.35, IQ3_S
- #492 Heterogeneous multi-GPU roles: whole model on one GPU, the MTP draft head on the other
- #491 docker: GGUF_DIR, RESIDENT_BUDGET_GIB and KV_STREAMING env vars; document the stop timeout
- #489 bench/results: RTX A3000 12GB laptop + i7-12850HX (sm_86): hugepages, PCIe probe, calibration
- #484 Monitor: show the conversation cache at work (reuse, hits on switches, slots, cache RAM)
- #483 bench: community results, 2x RTX 5060 Ti 16 GB (PCIe gen3), Strata 0.1.34
- #482 Networked Pool support
- #480 serve, web: a space-free vision temp dir, lazy vision, and a Chinese UI
- #478 prefill: MMQ prompt kernels for Q6_K experts (STRATA_MMQ_KQUANTS)
- #473 native experts: Q5_0 GPU kernel (#222)
- #469 bench: community results, RTX 2080 Ti 11 GB + Threadripper 3960X, IQ3_S at 262K with KV streaming
- #466 bench: community report — RTX 5090, IQ3_S at 1M context (YaRN), agent-style workload
- #464 ple: read the n-gram table at full BF16 precision
- #463 decode: wait for an adaptive expert swap before reading the residency table
- #462 diagnostics: dump every verify window's logits, so greedy decode can be bisected
- #456 Monitor: the conversation cache card (parked conversations from the engine's CACHE lines)
- #453 prefill: the draft layer's batched K/V for a ring too (KV streaming) - prefill +4.6% with --kv-resident
- #452 qsa_prompt_attn: Q4_0 KV on tensor cores (mode 4) - long prompts with --kv q4_0 ~19% faster
- #443 kernels: add opt-in small-window GR and one-warp MMVQ experiments
- #442 hip: add community gfx1012 support with version-gated legacy compatibility
- #441 Contrib/non mtp serving
- #440 bench: community report, RTX 5090 + Ryzen 9 9950X3D, IQ3_S at the full 262K window; prefill auto:32768 A/B; conversation-cache 32 GiB demo
- #439 prefill: a group's expert gathers in one launch (bit-identical, long prompts +4%)
- #436 serve: a non-streaming request stops when its client disconnects (#430, part of #431)
- #435 setup: resuming a download asks only for the missing space, and a finished .part is not re-requested (#425)
- #434 Add optional unified Strata Manager
- #433 bench: community report, RTX 5090 + Ryzen 9 5950X (AVX2), UD-Q4_K_XL / IQ3_S / Swift IQ3_XXS on engines 0.1.31-0.1.39
- #428 tests: test_setup_golden passes on Linux (<EXE> only as a whole path part)
- #427 tools/vision: portable by default, setup.py/Dockerfile opt into native (#411 #412 #419 follow-up)
- #426 Windows AMD: the HIP backend detects, builds and runs (RX 9070 XT / gfx1201)
- #424 fix(setup): drop an engine archive that fails to unpack
- #422 hip: enable experimental Strix Halo gfx1151 source builds
- #418 bench: community entry, 2x RTX PRO 4500, Swift IQ3_XXS, engine 0.1.30 and 0.1.36
- #417 bench: community report, RTX PRO 4500 x1/x2 + RTX PRO 4000, Threadripper PRO 3975WX, engine 0.1.31
- #416 bench: IQ4_XS on a 64 GB PC - pinned arena vs experts.bin mmap vs the RAM budget
- #415 IQ4_XS expert rows on the AVX-2 path: the multi-token kernel this format never had
- #413 prefill: DeltaNet recurrence with the three value heads of a key head in one thread (bitwise; 1.4x on a 4080 SUPER, 1.3x on a 3090)
- #409 aarch64 / NVIDIA DGX Spark (GB10): build, run and set up with unified memory
- #407 Adaptive tier: --adapt-decay, and --adapt-tuned (opt-in): 31% fewer misses, -19% CPU pool, -22% PCIe on UD-Q4_K_XL
- #404 bench(gfx1100): 0.1.31 vs 0.1.30 prefill/decode, curated entry + raw trials
- #399 fix(setup): drop a refused engine archive instead of reusing it
- #395 Feature/nvidia p40
- #394 AVX1: run on a CPU with AVX but no AVX2, with an end-to-end run on Sandy Bridge-E
- #390 Multi-GPU: a --layer-split stage holds only its own layers' weights, and every card's leftover VRAM spills into a helper expert tier (4-way IQ3_S: 9,269 -> 14,172 expert slots, prefill chunk 2,048 -> 4,096)
- #389 bench: community report, 2x TITAN RTX (sm_75), IQ3_S at 262K
- #387 AMD: ship the gfx1200 hipBLASLt table, with the with/without measurements
- #386 tools/hip: gfx1201 hipBLASLt table for ROCm 7.2.4 (hipBLASLt 1.2.2), ~1.8x prompt speed on the R9700
- #382 HIP: MTP prompt pass per group by default (fixes prompt hang on gfx1201 with KV streaming)
- #381 Add HIP image encoder support and Linux AMD GPU telemetry
- #380 HIP: count the desktop's VRAM on Windows (WDDM budget, STRATA_WDDM_BUDGET)
- #378 Elastic K/V (--kv-grow, opt-in): the K/V takes VRAM as the context grows, the expert cache holds the rest (+68% cache on a 16 GB card at 262K)
- #374 Prompt path: the first chunk's n-gram (PLE) rows read beside layer 0, 256 at a time (same output)
- #372 Prompt path: an MMQ group's experts gathered in one launch, after one wait, released by one event (-9% on a 32K prompt, same output)
- #366 [RFC] EXPERIMENTAL Investigate DFlash2 support for Qwen3.8-Flash-Next
- #363 experts: smaller and fewer launches for the verify window's PCIe call
- #362 File tier: read the GGUF in place unbuffered when the file cache cannot keep it beside the RAM budget (Windows; #286 ported into the existing tier)
- #360 qsa_prompt_attn: Volta (sm_70) crashes in the prompt path - compare the full compute capability
- #358 Start: register the expert arena per layer on a thread ahead of the readers (Windows; part 2 of #285)
- #357 Start: read the expert arena unbuffered when the file cache cannot help (Windows; part 1 of #285)
- #353 NVFP4 routed experts on 0.1.35 (experimental): 120a only for the W4A4 unit (rebase of #292)
- #351 serve: preserve context across engine restart
- #350 Chat: a context gauge, per-request timings, and conversation compaction
- #346 setup: don't list the shared Chat settings file as a model config (KeyError: 'exe')
- #343 Don't pursue: BF16 decode GEMV via Turing tensor cores (sm_75) - measured negative
- #339 hip: hipBLASLt tuning table for gfx1201 (R9700) with ROCm 10.2.0a nightly (hipBLASLt 1.5.0)
- #337 hip: gfx12 (RDNA4) QSA select - WMMA block scorer, prompt-aware top-k dispatch
- #336 cuda: add experimental Tesla P4 8GB (sm_61) support
- #329 hip: gfx12 (RDNA4) WMMA kernel for the int8-KV QSA prompt attention (1.26-1.35x prompt processing)
- #325 AMD working on Windows (9070XT tested)
- #324 fix(setup): install the engine, model files and packages the checkout was tested with
- #323 hip: add experimental RX 5500 XT 8 GB (gfx1012) support
- #322 hip: fast packed-byte intrinsics for RDNA3/RDNA4 (v_perm_b32 + SWAR)
- #319 Docs: AMD RX 7900 XTX (gfx1100) IQ3_S rates row (1K-128K)
- #318 iq_pack: store an F32 ple_conv1d as F16
- #317 ple: keep the SSD awake while rows are read (STRATA_SSD_KEEPALIVE)
- #315 hc: the multi-token hyper-connection read split finer
- #314 feat: Qwen3.8-Flash-Next dense model, native Qwen3.5 attention kernel, strata-dense CLI
- #312 QSA select: ROCWMMA block-scores arm (opt-in STRATA_SELECT_WMMA=1, gfx1100)
- #311 HIP: support RDNA2 gfx1030 working and gfx103X is untested.
- #302 HIP/Windows: batch expert copy dependencies in long prefill
- #296 Add OrcaRouter Q4_K_S support (0.1.30)
- #294 Layer split auto: extract the planner into layer_split.hpp, pin the whole arena outside Windows
- #293 KV: optional Hadamard rotation for int8 K/V (STRATA_KV_ROT=1), with the drafter and batched verify made rotation-consistent
- #292 NVFP4 routed experts: converter, pack, decode, prompt path (W4A8, W4A4 on Blackwell), AVX-512 CPU rows
- #291 PLE: the n-gram table in FP8 E4M3, as Qwen ships it (opt-in)
- #290 Token embedding in BF16 from the checkpoint (--embd-gguf)
- #288 strata-vision: --flash-attn switch, CPU runs without a CUDA context or warm-up; relative vision paths
- #287 setup: --draft-vocab cyrillic (English/code + the whole Cyrillic script)
- #285 Start: read the expert arena unbuffered (the GGUF too, fixes #230), register it while it loads, on its own thread
- #282 prefill auto: chunks up to 32768 (was 8192), +15% on a 32K prompt
- #278 serve: count_tokens, Anthropic thinking only when asked, STRATA_REQUEST_LINES, a relative exe
- #277 iq_pack: keep experts.bin only when its blobs match the GGUF
- #275 Add bounded disk persistence for evicted conversations
- #272 feat(cpu): add hybrid architecture awareness and --pool-affinity for P/E-core CPUs
- #269 Split prefill: run the whole prompt on the main GPU (--prefill-main)
- #264 tests: make iq_parity reproducible from a fresh checkout
- #262 HIP: gfx1201 (Radeon AI PRO R9700) support, faster packed byte intrinsics, and a gfx1201 hipBLASLt table
- #260 RDNA3 WMMA kernels for the gfx1100 prefill (dense GEMMs and prompt attention)
- #258 fused_gr: TILE=1280 kernel specialization for sm_75 (Turing) down-projection
- #257 q2_avx2: two-block 256-bit unpack for the AVX2 Q2_0 expert rows (bit-exact)
- #256 HIP: support RDNA4 gfx1200 (RX 9060 XT)
- #255 Q8 0 support
- #247 HIP: Windows and gfx1201 (RX 9070)
- #242 IQ kernels: decode each weight part once for every column and entry, bitwise identical
- #241 Faster grouped and per-hit Q2_0 expert kernels, bitwise identical
- #240 gemm: name the cuBLAS/CUDA call that failed at init, and flag resource shortages
- #239 verify: stage the mode-2 PCIe share on the copy stream inside the captured window
- #238 Let the native router and the expert geometry take the count from the file
- #237 Use a second GPU's VRAM as an opt-in expert store for the prompt path
- #234 Bench: RTX 3090 / dual RTX 3090 on EPYC 7453
- #233 docs: add community benchmark guide and RTX 5090 results
- #229 multi-GPU: second GPU as an opt-in expert-cache tier with P2P rows (--peer-device), part 1 of #204
- #228 QSA select on tensor cores (rocWMMA, opt-in, gfx1100) + AMD RX 7900 XTX rates row + verify profiler columns fix
- #227 AVX1: the Q2_0 expert kernels for CPUs that have AVX but no AVX2
- #223 Multi gpu: Layer split: pinned arena, lent prompt buffers, tested planner (2 x 2080 Ti decode +34%, 29K prompts +61%)
- #216 Multi-GPU: the session carve and the per-stage prompt loans
- #208 server: optional idle unload, /unload and /load, a free-VRAM guard (share the GPU with other programs)
- #207 E-2 on the AVX-2 path too: prefetch the i-quant expert rows (same switch, CPUs without AVX-512)
- #205 fix(engine): clear stale error/cancellation string between requests and before prompt prefill
- #203 serve: prompt checkpoints copied out asynchronously (pinned staging on the prompt stream + a thread)
- #202 ple: --ple-io ram locks the n-gram table in RAM (no SSD read on the prompt/token path)
- #197 sampler: top_k by lexicographic threshold, split over the whole GPU
- #194 serve: clear the error string at the start of every request (fixes #183)
- #192 HIP: support RDNA3 gfx1101/gfx1102 (RX 7600/7700/7800), not only gfx1100
- #190 Spill evicted conversation snapshots to a bounded optional disk cache
- #189 Preserve alternating conversations with a shared snapshot core and bounded RAM cache
- #188 prefill: software-pipelined loads in the column-split GDN recurrence (bit-identical)
- #187 decode: QSA block scores read each key block once per window (bit-identical)
- #186 decode: hyper-connection read in 2 kernels, stream-split (-1.5 ms per verify window)
- #185 sampler: the sampled path over 64 vocabulary chunks per token (identical picks, ~12% faster sampled decode)
- #181 Windows: the engine, vision encoder and MCP servers end with the server (closing the window no longer orphans them)
- #177 Web UI: prefill speeds, request timings, a context gauge, chat compaction
- #176 HIP backend on gfx1200 (RDNA4, RX 9060 XT): the gfx1100 backend runs unchanged with three deltas (Changes made by GLM5.3-Flash from freebuff)
- #175 Preserve independent conversation caches across interleaved requests
- #168 hip: support Q2_K embeddings and type-aware PLE table rows
- #158 WSL2: survive the driver's ~1 GiB pinned host budget with 3 GPUs
- #154 Correctness fixes from #149 (s_gemv barrier, bf16 NaN, QSA page mask, verify-window bounds, MSVC, test build)
- #153 Expert cache keeps ~4 GiB more on WDDM (+10% decode on a 32 GB card); Ctrl+C and client hang-ups on Windows
- #151 Add secondary GPU expert store (--vram-experts) and low-RAM multi-GPU setup
- #140 Add OrcaRouter Qwen3.8 Flash-Next Q4_K_S support
- #139 perf(prefill): add shape-selected pre-Ampere BF16 SGEMM with current-main A/B
- #136 Linux prebuilt from CI: CUDA 12.8, sm_80/86/89 + PTX, attached to each release
- #134 setup: count the 3-bit models' 262K context against RAM, not a fixed 90 GB
- #129 core: add optional shared expert arena backing
- #126 Windows: the expert load runs 24x slower from Task Scheduler (0.05 vs 1.42 GiB/s); a hint names the cause
- #124 Pascal (sm_60): bring the engine up on compute capability 6.0
- #122 serve: add llama.cpp-compatible discovery endpoints
- #121 Add gfx1100 HIP support with tuned prefill and bounded expert uploads
- #120 `--kv k8v4`: hybrid KV cache — INT8 K + Hadamard-rotated Q4_0 V (816 B/cell)
- #111 Add secondary GPU expert store (--vram-experts) for low-RAM workstatins but with multi-GPU
- #110 Multi-GPU: a second GPU as an expert tier for decode and prompts (--peer-device), + multi-conversation cache
- #109 decode: batch the verify window's per-token kernels (bit-identical, +~10% decode)
- #108 prefill: bit-identical kernel speed-ups (batched indexer append, parallel GDN conv, column-split GDN recurrence, one-launch embedding gather)
- #107 serve: report cached prompt tokens, llama.cpp timings and GET /v1/status
- #102 feat: optional RAM and VRAM guard for the server it launches
- #101 build: allow sm_70 (Volta) builds — the only sm_80+ dependency is unreferenced
- #94 Add experimental gfx1100 HIP backend for RX 7900 XTX
- #92 setup: name a missing or short shard with its numbers; verify reads back the manifest sha256
- #91 GGUF reader: refuse a duplicate tensor name at open, naming the tensor and the file
- #89 loader: bulk-read the expert arena and the MTP drafter (MSVC splits ifstream reads into 4095-byte calls)
- #88 Pascal port: lower the CUDA floor to sm_61 (GTX 10 series)
- #84 EXPERIMENTAL Rope scaling: contexts past the trained 262K (none / linear / YaRN)
- #81 Accept sm_80+ GPUs at runtime, matching the build guard and the README
- #80 Add --tiered-experts: run with less RAM than the experts need (32 GB works)
- #79 linux: make DirectFile reads actually asynchronous
- #67 Support OrcaRouter IQ3_XXS with explicit BF16 compatibility packing
- #64 parity tool: a new-kernel mismatch must fail the run; dispatch comment fallback was stale
- #62 serve: the conversation cache keeps its shared prefix; the rest rotates LRU
- #59 Fix/53 sampler penalties. sampler: penalties apply once, as in llama.cpp's default chain (#53); guard the unsized penalty bitmap
- #54 Support pruned expert variants (GSQ-RCO-Coder: 256 of 512 experts)
- #50 tools: add mmproj quantization utility
- #44 generate: probe the real host->device bandwidth for pcie_frac
- #43 kernels: AVX2 multi-token i-quant row kernels (an AVX2-only CPU decoded every i-quant row once per token)
- #42 pinned: MEM_LARGE_PAGES on Windows never worked - enable the privilege, round the size
- #41 serve: preserve primary conversation state across auxiliary calls
- #38 moe: continuous adaptive expert cache eviction with exponential decay
- #37 core: elastic expert cache via CUDA VMM and on-demand GPU vision lifecycle
- #24 serve: optional --fit-max-tokens clamps the output cap to remaining context instead of rejecting
- #22 tools: add real-time web dashboard for hardware and engine monitoring
- #21 kv: add Q4_0 KV cache mode with FWHT-256 Hadamard rotation
- #19 serve: per-request temperature/top_p/top_k/min_p/penalties sampling
- #18 serve: treat unset/-1 max_tokens as remaining context, not 1024
- #16 Add optional multi-GPU expert caches and compact transfers
- #15 generate: residual control-vector projection from GGUFs
- #14 CPU pool: fix dangling else in Linux physical_cores() (fixes #13, root cause of #11)
- #12 Fork: uncensored model choices (OrcaRouter, mradermacher, RVN) in the…
- #7 serve: fix zero-token replies from engine-queue race between requests