Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

all_reduce: every iris.store passes a vectorization hint, none of the iris.load calls do

Aperta
#592 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@anchit-goel ci sta già lavorando.

Dal 20/10/2026.

Valutazione

Difficoltà
3/5
Tempo stimato
Mezza giornata
Idoneità per principianti
62/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Start with iris/ccl/triton/all_reduce.py at lines 319, 411, 661, 665, 684 and 688, the six iris.load calls, and compare them with the hint=(1, BLOCK_SIZE_N) already passed to the iris.store calls in the same kernels. The hint is applied in iris/mem/triton/ops.py around line 59. Done means all six loads carry the hint, the 2/4/8-rank correctness check against torch.distributed passes, and benchmark/ccl/bench_all_reduce.py shows before/after numbers for every variant. Multi-GPU ROCm hardware is needed to finish.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

good first issue help wanted iris

all_reduce: every iris.store passes a vectorization hint, none of the iris.load calls do

hint= applies tl.multiple_of / tl.max_contiguous to the translated
pointer (iris/mem/triton/ops.py:59). It matters because translation rebases
through heap_bases, a runtime value, which erases the alignment and contiguity
the compiler knew about the original pointer — so the access falls back to a
narrower width. The hint restores it.

iris/ccl/triton/all_reduce.py:

line op hint=
332, 538, 675, 698 iris.store yes, all four
319, 411, 661, 665, 684, 688 iris.load no, none of the six

661/665 are the two_shot full-tile path, 684/688 its masked twin, 319 and 411 the
one_shot and spinlock paths.

The other three collectives are complete — all_gather 2/2, all_to_all 2/2,
reduce_scatter 4/4. all_reduce.py is the only file where the loads were missed.

Work

  • Add hint= to the six iris.load calls, matching the shape already used on
    the stores in the same kernel (hint=(1, BLOCK_SIZE_N))
  • Confirm the access width changes in the ISA, per variant
  • Correctness vs torch.distributed on 2/4/8 ranks before timing
  • Before/after through benchmark/ccl/bench_all_reduce.py, all variants

We expect a performance improvement here; it needs measuring.

Lingua principale
Python
Stelle
203
Fork
56
Merge medio
5g 4h
PR unite (30g)
27

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ROCm/iris

Tutte le issue di ROCm/iris

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.