Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Community Report: Q4_XS on Multi-GPU NVIDIA

Đang mở Phù hợp với người mới
#2,129 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
68/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp
Lĩnh vực
backend, performance

Hướng nghiên cứu

Đây là báo cáo hiệu năng chi tiết cho Strata 0.1.43 tại commit 7695859a. Hãy bắt đầu bằng cách kiểm tra tài liệu benchmark của dự án và tools/strata_bench.py --long, được sử dụng trong báo cáo. So sánh các kết quả xử lý prompt được báo cáo với UD-IQ4_XS và IQ3_XXS trên cùng cấu hình bốn GPU, đồng thời ghi lại các phát hiện nếu dự án theo dõi báo cáo phần cứng. Issue có các kết quả benchmark nhưng không yêu cầu thay đổi mã cụ thể.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Field report: UD-IQ4_XS on NVIDIA (first NVIDIA run, I think) — 4x RTX (5060 Ti + 2x 3090 + 3060), 262K context, mapped mode, 55 GiB RAM budget

Headline: it runs, it is stable, decode is fine (91-96 tok/s), and prompt processing is 2.4-2.9x slower than the same
rig's IQ3_XXS arm (520 / 926 / 1,270 tok/s at 4K / 16K / 32K vs 1,296 / 2,690 / 3,228).
For an agent client that
resends a 90-130k-token conversation every turn, that is the whole decision and we are keeping IQ3_XXS. Two full
tools/strata_bench.py --long runs, 3 runs per test, medians below; run 1 and run 2 agree within 0.3% on every prompt
arm. No correctness suite was run.

Hardware and software

  • GPUs: RTX 5060 Ti 16 GB + RTX 3090 24 GB + RTX 3090 24 GB + RTX 3060 12 GB = 76 GiB VRAM, all four selected
  • PCIe: the 5060 Ti probes 13.9 GB/s (x8); both 3090s and the 3060 probe 3.1 GB/s (an Oculink/x4 riser and a
    x4-shaped slot). The engine prices an expert miss at x6.35 on three of the four cards.
  • Power: both 3090s capped at 225 W, the 3060 at 125 W (the cap binds during generation).
  • CPU / RAM / disk: Xeon W-1350 @ 3.30 GHz (6C/12T), 123.3 GiB RAM, NVMe.
  • Linux, driver 595.91.07, CUDA 13.2. Strata project 0.1.43, commit 7695859a, engine 0.1.43.
  • Model: unsloth/Qwen3.8-Flash-Next-GGUF UD-IQ4_XS, revision 38bb39e, three shards 93.7 GB, all three SHA-256
    match the table in docs/UNSLOTH_Q4.md.

Configuration

strata --serve --pack packs/ud-iq4_xs
       --native .../Qwen3.8-Flash-Next-UD-IQ4_XS-00001-of-00003.gguf
       --resident-budget-gib 55 --expert-profile data/expert-profile.bin --expert-cache auto
       --prefill auto --spec 4 --mtp mtp/rt --max-context 262144 --kv q4_0 --vision
       --vram-reserve-mib 700 --spec-min-p 0.5 --layer-split auto

STRATA_PF_FUSED=1, one parallel slot, thinking off, temperature 0, loading not timed. No --ple-gguf: shard 1 holds
0 tensors and shard 2 holds per_layer_token_embd.weight (IQ4_NL, [160, 320001536]), which the engine found by name,
as documented. Vision encoder on the 5060 Ti; no image was sent (the doc says images are untested on this pack).

Pack built with tools/iq_pack.py --compat-bf16: 1,079 tensors, 303 served natively, arena 1.38 GiB, 460
conversions (264 exact, 196 rounded, max |err| 0.0144), native_experts.txt v4 with the per-role
gate,up,down shard column on 14 rows, expert arena 59,519,795,200 bytes (55.4 GiB). tools/test_iq_pack.py
24/24 OK. The --compat-bf16 rounding is on, so the 6-9% PPL penalty the doc notes on Strix Halo applies to this arm too.

What the engine chose (this is where the story is)

this pack our IQ3_XXS arm, same four cards
split chosen by auto K=3,11,30 (5060 Ti takes layers 3-10, 3,715 slots) K=3,6,30 (5060 Ti takes 3 layers)
measured decode — chat / agent tok/s 90.9 / 96.1 (11.0 / 10.4 ms per token) 111.3 / 109.8 (9.0 / 9.1 ms)
expert pairs cached 20,132 of 24,576 (~99.2% of the routed mass) 24,387 of 24,576
experts resident 81% 98%
RAM tier 24.23 GiB page-locked + mapped in 16 s; 18,388 experts left on the mmap fallback none (plain mode)
prompt chunk 7,424 tokens, 96-slot ring, 5,566 cache slots borrowed 4,096 tokens
decode cache hit 98.0-99.8%, 0 blob reads from the file 99.9-100.0%

So decode was in good shape: 81% resident, ~99% hit rate, nothing read from the SSD while generating. The prompt path
is the one that suffers, and it is not a chunk clamp (this arm got a bigger chunk than IQ3_XXS). Reading a prompt
streams every expert once per chunk, and 19% of them are not in VRAM on three cards whose links probe 3.1 GB/s.

Results — run 2 (medians, range over 3 runs; 9 requests for the chat arm)

test prompt tokens reused generated prompt tok/s decode tok/s TTFT (s)
short chat 46 (43-51) 0 100 — 90.9 (84.4-121.3) 0.30 (0.28-0.34)
4K prompt, fresh 4,019 0 24 cap 519.8 (519.7-519.8) — 7.75
16K prompt, fresh 16,058 0 24 cap 925.5 (925.3-925.7) — 17.38
32K prompt, fresh 32,049 0 24 cap 1,269.5 (1,268.9-1,269.9) — 25.28
agent session, follow-up turns 14,494 at the last turn see below ≤ 64 see below 96.1 (77.0-115.5) 6.88 (5.52-7.32)

Agent cache hit 68.8% (68.8-68.9), earlier-turn tokens re-read per session 2 (2-4), first turn (nothing cached)
TTFT 3.27 s. Suite total 292 s.

Run 1 vs run 2

metric run 1 run 2
4K prompt tok/s 518.1 519.8
16K prompt tok/s 923.9 925.5
32K prompt tok/s 1,268.3 1,269.5
chat decode tok/s 87.3 (61.8-129.6) 90.9 (84.4-121.3)
chat first token (s) 0.35 0.30
agent decode tok/s 88.1 96.1
agent turn TTFT (s) 6.88 6.88

Prefill is reproducible to 0.3%. Decode wanders ±8% run to run, same as our other arms on this box.

Head to head with the same rig's IQ3_XXS arm (same suite, same day, both at layer_split auto's own optimum)

IQ3_XXS (plain) UD-IQ4_XS (mapped, 55 GiB) delta
4K prompt tok/s 1,295.9 519.8 -60%
16K prompt tok/s 2,689.9 925.5 -66%
32K prompt tok/s 3,227.8 1,269.5 -61%
chat decode tok/s 111.3 90.9 -18%
agent decode tok/s 109.8 96.1 -12%
TTFT at 32K 9.96 s 25.28 s +154%
agent turn TTFT 2.61 s 6.88 s +164%
chat TTFT 0.30 s 0.30 s 0

A 100k-token agent turn with a 1k-token answer goes from ~40 s to ~80 s. The +39% of expert bytes
(42.9 → 55.4 GiB) does not fit in 76 GiB of VRAM next to a 262K q4_0 KV cache, and on this box a miss costs 6.4x
what the engine's default pcie_frac assumes.

Not measured

Correctness (speed suite only; needle probes not run on this pack), prompts past 32K, --clients concurrency (one
slot), images, sampled decoding, and any comparison against llama.cpp on the same file. --compat-bf16 rounding is on,
so quality is the pack's, not the GGUF's. Storage model and CPU temperature not recorded.

Ngôn ngữ chính
C++
Star
11.6k
Fork
1k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Niko1221/Strata

Tất cả issue của Niko1221/Strata

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.