A lockstep batch of small runs on a GPU reaches a fraction of the throughput of large ones
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- performance
Direzione di ricerca
The issue is a measurement plus a possible design decision, not a self-contained code change. Start from the batch lockstep stage passes described in docs/dev/roadmap.md and docs/dev/decisions.md (ADR-058, batch axis of the state). The first step is to run the SEP 36 comparison in binary64 on an A40 at 2^14, 2^15 and 2^18 samples, recording machine and date. Done when those ratios are recorded and either a SEP covers the batch axis or the issue closes on the measurement.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What is missing
A lockstep batch runs several fixed-schedule members of one case together on a GPU. It fuses only the accepted update, so for small runs the stage passes stay one launch per member, and launch cost bounds the batch.
On an NVIDIA A40, SEP 36's rule compared a noise ensemble of small fibre runs with the same case at 2^18 samples. The batch at 2^14 and 2^15 samples reached 4.69e7 and 7.24e7 samples times steps per second, 0.25 and 0.39 of 1.85e8 at 2^18 (SEP 36's numbers, 2026-10-27). Below a half, the rule proposes a fused batch axis as a later SEP. Concurrent processes never beat the batch.
Context
- Those figures are in mixed precision, on SEP 36's code, withdrawn the same day, which is not on
main. The roadmap says binary64 runs are bound the same way. That was not measured in the same comparison, and the device work since (SEP 39, #59) has changed launch costs. Read, not run. - ADR-058 reserves the state's batch axis for change, and #110 proposes a SEP deciding that seam. This issue holds the GPU case for it. The launch costs behind it are #357.
To do
- Repeat SEP 36's comparison in binary64 at the current tree on an A40, at 2^14, 2^15 and 2^18 samples: the batch, concurrent processes and solo runs.
- If the small runs still reach less than half, write the SEP, or add the case to #110's. If not, close this with the numbers.
Needs a decision: whether this is its own SEP or part of #110's, by the maintainer. I recommend #110's, because a batch axis through the stage passes changes the same seam.
Done when
The binary64 ratios are recorded with machine and date, and either a SEP covers a batch axis through the stage passes or this closes on the measurement.
Checked against commit 8a9f764. Takes over the roadmap's entry "A fused batch axis for small runs on a GPU".
- Lingua principale
- Python
- Stelle
- 3
- Fork
- 3
- Merge medio
- 4h 42m
- PR unite (30g)
- 91
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 LupoLab/solprop
-
The TDSE steady-current certificate can refuse a resolved taper on a band far above its frequenciesApertaarea: tdse enhancement priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
I maintainer di solito rispondono entro 1 giorno
-
The band-edge term that floors comparisons between windows is recorded only in an archived SEPApertaarea: boundaries documentation priority: low
Difficoltà 2/5 Mezza giornata Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
area: backends bug priority: low
Difficoltà 2/5 Mezza giornata Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
area: single precision priority: low testing
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
area: native area: packaging bug priority: high
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di LupoLab/solprop
Issue simili
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesApertafollow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Built-in QUBO fallback applies bitwise xor to floating binary statesForse già presa @iloveeyjafjalla l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
qboson/kaiwu-pytorch-plugin#1702 ·
I maintainer di solito rispondono entro 3 giorni
-
bug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
modelcontextprotocol/python-sdk#3811 ·
I maintainer di solito rispondono entro 1 giorno
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
I maintainer di solito rispondono entro 1 giorno