[Feature]: Add rooted collectives broadcast, scatter, gather, reduce or pull all-to-all
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- backend, data-engineering, distributed-systems
Research direction
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.
Written by the indexing model from the issue text.
Description
Suggestion Description
There has been past work on enabling these rooted collectives. There are two main motivations:
- We need them to establish an MI450 baseline across various communication kernel implementations, tune and optimize them.
- 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:
MoEDispatcherfor expert-parallel token dispatch/combine (variable all-to-all) muhaawad/alltoall-pairwise-rebased: pairwise-exchange all-to-all andAllToAllvmuhaawad/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
- Dominant language
- Python
- Stars
- 202
- Forks
- 52
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 12
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ROCm/iris
-
benchmarks bug examples iris test
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 3 days
-
bug examples invalid iris
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 3 days
-
iris
Difficulty 5/5 Over a week Newbie friendliness 15/100
Maintainers usually reply within 3 days
-
bug iris test
Difficulty 4/5 3-5 days Newbie friendliness 40/100
Maintainers usually reply within 3 days
-
[Feature]: Formalize allocator-agnostic symmetric tensor address translationMay be free again @artulab claimed this 50 days ago, and no pull request is open. Openiris
ROCm/iris#546 · 2 comments · 1 assignee ·
Maintainers usually reply within 3 days
Similar issues
-
fix formatting of the sample database page of the docsPossibly taken @Aaqibhafeezkhan claimed this today. Opendocumentation good first issue help wanted
Difficulty 1/5 Under an hour Newbie friendliness 72/100
chaoss/CollectOSS#544 · 1 comment ·
Maintainers usually reply within 1 day
-
area/plugin good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
kestra-io/plugin-soda#137 ·
-
Difficulty 2/5 Half a day Newbie friendliness 62/100
ibm-granite/granite.build#504 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day