Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Feature]: Add rooted collectives broadcast, scatter, gather, reduce or pull all-to-all

Abierto
#561 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Review the unmerged branches listed, especially muhaawad/ccl for the most recent broadcast and reduce implementations. Examine the host API in ctx.ccl and device tile API in iris/mem/triton/context.py. Start by understanding the existing all_gather and all_reduce implementations to see the pattern. The work involves adding new collectives like broadcast, scatter, gather, reduce, and pull all-to-all, requiring integration with both Triton and Gluon backends.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

benchmarks gluon iris
Suggestion Description

There has been past work on enabling these rooted collectives. There are two main motivations:

  1. We need them to establish an MI450 baseline across various communication kernel implementations, tune and optimize them.
  2. They can be adapted per use case, moving away from the RCCL dependency for comm/compute fusion in TokenSpeed.

Current state on main

Collective Host API (ctx.ccl.*) Device tile API (iris/mem/triton/context.py)
all_gather ✅ ✅
all_reduce ✅ ✅ atomic / spinlock / one-shot / ring / two-shot
reduce_scatter ✅ ✅
all_to_all ✅ push only ✅ push only
broadcast ❌ ❌
scatter ❌ ❌
gather ❌ ⚠️ single-rank tile pull only (gather(tile, src_view, source_rank))
reduce ❌ ❌
all_to_all (pull) ❌ ❌

Existing work (unmerged branches, no open PR)

Branch Last commit What it adds
muhaawad/broadcast-reduce Mar 28, 2026 broadcast, reduce, with tests and benchmarks
impl/collectives-unified May 2, 2026 broadcast, scatter, gather, reduce, send/recv, barrier, in both Triton and Gluon
muhaawad/new-collectives May 2, 2026 same set as above, Triton only
muhaawad/new-collectives-v2 May 6, 2026 same set, plus ring and two-phase broadcast, and reworked all-gather / all-reduce / all-to-all
muhaawad/ccl Jul 10, 2026 broadcast, reduce (large Triton reduce), barrier; the most recent of these

Related all-to-all work (all push-based)

  • #417: port all-to-all to Gluon, with a benchmark sweep
  • #492: MoEDispatcher for expert-parallel token dispatch/combine (variable all-to-all)
  • muhaawad/alltoall-pairwise-rebased: pairwise-exchange all-to-all and AllToAllv
  • muhaawad/a2a-tdm-example: standalone all-to-all example using the Gluon Tensor Data Mover
Operating System

No response

GPU

No response

ROCm Component

No response

Lenguaje dominante
Python
Estrellas
202
Forks
52
Merge medio
5 d 2 h
PR fusionados (30 d)
23

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ROCm/iris

Todos los issues de ROCm/iris

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.