[Engine] Two prompt block scorers enabled at once: WMMA silently wins and no log line is printed
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- backend, performance
Direzione di ricerca
Inizia cercando nel motore STRATA_SELECT_WMMA, STRATA_SELECT_SIMT e STRATA_SCORES_THREAD per individuare la selezione dello scorer e i punti esistenti per la registrazione o la documentazione. Segui il modo in cui vengono controllate queste opzioni per confermare quale scorer prevale quando ne sono abilitate più di una. Il lavoro è completo quando una riga di log identifica lo scorer selezionato in caso di conflitto tra le opzioni e la precedenza è documentata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment (anonymized): RX 7900 XTX 24 GB (gfx1100), Ryzen 9 5900X, 62 GiB RAM, Debian 13 (kernel 7.2.12+deb13-amd64),
ROCm 10.1 (HIP 7.16), engine 0.1.59-linux-x86_64-hip-rx7900 from the signed feed (release v0.2.13).
Model Swift-1.5 IQ3_S (qwen4exp: 48 layers, 512 experts / 10 active, native ctx 262144).
Args: --parallel 2 --max-context 262144 --kv int8 --kv-resident 32768 --prefill auto --ple-io direct --expert-cache auto.
What I saw. With both STRATA_SELECT_WMMA=1 (the block scorer on the matrix cores, as the RDNA3 tuning note
suggests) and STRATA_SCORES_THREAD=1 (the exact four-lanes-per-query scorer) set at startup, the engine uses the WMMA
path and the thread scorer never runs. Nothing is logged — not even with STRATA_SCORES_THREAD_TRACE=1. The variables
are present in the engine's /proc/<pid>/environ.
Measurements — one fresh prompt of ~123K unique random tokens per arm, cached_tokens=0, max_tokens 8,
temperature 0, one engine start per arm (the engine's own prompt N tokens ... read in X ms line):
STRATA_SELECT_WMMA |
STRATA_SCORES_THREAD |
engagement line? | prefill |
|---|---|---|---|
| 1 | 0 | — | 3174.6 tok/s |
| 1 | 1 | no (masked) | 3175.7 tok/s |
| 0 | 1 | qsa exact thread: ... nq=256 active_blocks=16385 capacity=65538 |
3048.4 tok/s |
| 0 | 0 | — (warp scorer) | 1747.2 tok/s |
Why it matters. The thread scorer does work on gfx1100 under ROCm 10.1: when WMMA is off it engages and is
1.74x faster than the warp scorer (3048 vs 1747 tok/s) and about 4% slower than WMMA. With WMMA on, the option looks
dead — my first A/B measured a 0.03% difference and I nearly reported the kernel as broken. Others will hit the same.
The dispatch gate itself is fine: max_blocks = max_context/4 + 2 = 65538, active_blocks = 16385 at the scorer's
first window, nq = 256, so active_blocks >= 16385 && active_blocks <= max_blocks && nq >= 64 holds.
Requests. (1) Print one line when more than one prompt block scorer is enabled, naming the one that won (like the
prefill gemm: hipBLASLt tuning enabled (...) line does). (2) Document the precedence between
STRATA_SELECT_WMMA, STRATA_SELECT_SIMT and STRATA_SCORES_THREAD.
- Lingua principale
- C++
- Stelle
- 11.6k
- Fork
- 1k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Niko1221/Strata
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 4 giorni
-
needs-format
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
Niko1221/Strata#5632 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
needs-format
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
Niko1221/Strata#5631 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Niko1221/Strata#5611 · 3 commenti ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di Niko1221/Strata
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
charmplusplus/charm#4210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] VPN auth dialog spawned by the secret agent fails with "TLS support is not available" on NixOSApertabug nixos umbriel
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
noctalia-dev/noctalia#5310 ·
I maintainer di solito rispondono entro 1 giorno
-
area/docdb kind/bug priority/medium status/awaiting-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37426 ·
I maintainer di solito rispondono entro 1 giorno