Skip to content

[Benchmark] RX 7900 XTX 24 GB (gfx1100), Windows: 0.2.0-beta hip-rdna3 package vs 0.1.44.1, and the GPU vision encoder (Qwen3.8-Flash-Next IQ3_XXS) #3383

Open

Description

@jerem91150

What did you measure, or what went wrong

The windows-x86_64-hip-rdna3 package of 0.2.0-beta on an RX 7900 XTX, against 0.1.44.1 on the same machine, model and config. Measured on 2026-10-20. Main limitation: two runs per variant, one card, and a large download was writing to the model drive during the runs (about 60 MB/s), so all numbers are ~5-10% below what this box does on a quiet night, on both sides.

Hardware and software

  • GPU: AMD Radeon RX 7900 XTX 24 GB (gfx1100); CPU: Ryzen 9 7900X3D; RAM: 64 GB; model files on a PCIe 4 NVMe.
  • OS: Windows 11 Pro 26100.
  • A: Strata 0.1.44.1 (strata-windows-x64-hip.zip from the v0.1.44.1 release).
  • B: Strata 0.2.0-beta, engine 0.1.45.3 (strata-engine-0.1.45.3-windows-x86_64-hip-rdna3.tar.gz, SHA-256 checked; BUILD.json: commit 18f7b90, rocm 10.2.0a20260930, hipblaslt_version 100500). The log shows prefill gemm: hipBLASLt tuning enabled (32 rows, gfx1100, version 100500), so the tuned tables are in the package and used.
  • Model: Qwen3.8-Flash-Next GSQ-RCO IQ3_XXS, native pack iq3_xxs, expert profile data/expert-profile.bin (24576 ranked pairs).

Config (same for A and B)

strata.exe --serve --pack <pack> --native <gguf 1 of 2> --ple-gguf <gguf 2 of 2> --expert-profile <expert-profile.bin>
  --expert-cache auto --prefill auto --spec 4 --spec-min-p 0.5 --mtp <mtp/rt> --max-context 131072 --kv int8
  --kv-resident 131072 --short-read 512 --vision --vram-reserve-mib 1536
  --conversation-cache-mib 4096 --conversation-cache-slots 2
  (+ the experimental speed projection control vector, layers 4-44)

Method

One fresh engine per session, A and B alternated (A, B, A, B). Each session: a 20-token warm-up, then fresh prompts (unique text, 0 reused), additions to the same conversation, a 300-token story, and in a second session a fresh 26K prompt and two pictures (an invoice, a chart). Times are client-side, speeds are the engine's prompt ... tok/s / generated ... tok/s.

Results (run 1 / run 2)

A 0.1.44.1 B 0.1.45.3 rdna3
fresh 9K prompt 10.1 / 11.2 s (919 / 831 tok/s) 11.0 / 10.4 s (852 / 900 tok/s)
+2.8K added to that conversation 4.7 / 4.7 s 4.6 / 4.7 s
fresh 11.7K prompt 10.2 / 10.2 s (1187 / 1189 tok/s) 11.4 / 10.1 s (1060 / 1183 tok/s)
fresh 26K prompt (24.9) / 25.9 s (1072 / 1024 tok/s) 25.2 / 25.9 s (1053 / 1022 tok/s)
300-token story, decode 61.1 / 58.2 tok/s 57.8 / 59.4 tok/s
invoice picture, question (15.0) / 16.8 s 16.8 / 17.1 s
chart picture, question (14.5) / 16.2 s 15.2 / 15.6 s
expert cache 7829 / 7831 slots 7831 / 7831 slots

No measurable difference between A and B on this card: the spread between two runs of the same build is as large as the gap between builds.

GPU vision encoder of 0.2.0-beta (strata-vision-hip.exe, log: warmed up at 289 image tokens) against the CPU encoder (12 threads), engine B, same config, alternated:

CPU encoder GPU encoder
invoice 16.2 / (15.5) s 13.5 / 12.6 s
chart 15.7 / (14.3) s 12.1 / 12.4 s
photo 11.5 / (6.5) s 11.7 / 11.8 s
decode, 4 stories 61.2 / 59.4 tok/s 58.8 / 59.4 tok/s
expert cache 7912 / 7788 slots 7094 / 7094 slots

About 3 s faster on documents, nothing on the photo, and ~750 fewer expert-cache slots, with no visible effect on decode here. Answers to the pictures were right with the GPU encoder.

Poor results and failed requests

Reproduction status

Measured locally

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions