Repository navigation
Conversation
One row for 2 nodes x 16 ranks, AllReduce [32M, 144M): Tree/LL128 with 64 channels. It takes over from the three 2-node rows that cover these sizes today (Ring/LL128/64, Tree/Simple/64, Ring/Simple/48) and runs 1.1x to 1.8x faster there in float, bfloat16 and half. Larger sizes keep the current rows. All other rows are unchanged. Co-Authored-By: Claude <noreply@anthropic.com>
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
Member
Author
|
@argus review |
aduforest
marked this pull request as ready for review
November 3, 2026 21:43
aduforest
added a commit
that referenced
this pull request
Nov 3, 2026
1 task done
Member
Author
|
Folded into #14722, which now contains the combined two-node tuning and boundary/fallback tests. The original benchmark evidence and limitations are preserved and linked there. Closing this PR as superseded; no changes were merged into develop. |
Contributor
pr-rocm-systems-14969-oci-rccl-pr-smokeBuilds
FailuresNo failing tests in this run. 15 tests skipped. |
Contributor
pr-rocm-systems-14969-ruby64-rccl-pr-smokeBuilds
FailuresNo failing tests in this run. 15 tests skipped. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Improve AllReduce performance on MI350X, 2 nodes × 8 GPUs (16 ranks). The tested float cases take 5.9%-30.7% less time with Tree/LL128.
Technical Details
Adds this row to
projects/rccl/tuner/rccl_tuner_gfx950.csv:Uses Tree/LL128 with 64 channels for
32 MiB <= size < 144 MiB, only on two nodes with 16 ranks. It goes before the existing rows so it takes priority. Exactly 144 MiB and settings outside this scope are unchanged. The range follows #14722 without overlapping it.Test Plan
Verified float logs from job 115389: six rounds around the changed range, three wider 1-512 MiB rounds, and 12 execution-mode combinations. Existing and new settings were compared in the same allocation, with order rotated and repeated existing-settings runs as controls. Both in-place and out-of-place operations were checked.
Test Result
#wrong=0.Measurements and reproduction details
Median out-of-place float times, DEFAULT policy, registration 0, no graph:
The last sample is 128 bytes below 144 MiB. The baseline uses Ring/LL128 below 52 MiB, Tree/Simple below 112 MiB, then Ring/Simple. The new settings are Tree/LL128/64 throughout this interval.
The 12 tested modes span DEFAULT/EFFICIENCY/ZERO policies, registration modes and graph/non-graph runs—not every possible combination. The 18 MiB slowdown occurred with EFFICIENCY/R1/graph; another 18 MiB control varied by 9.2%.
The separate datatype summary reports 1.04x-1.8x speedups, except bfloat16 near 47 MiB took 0.7% longer. Range-finding showed slowdowns from 168 MiB; this rule stops before 144 MiB.
Command template; select one value per placeholder and add
-G 1for graphs:For the wider sweep, replace the size arguments with
-b 1M -e 512M -f 2.Both CSVs used RCCL 2.32.3 (
091930df78f8d9402e53034fda2adbd53e3e3aec), ROCm 10.1.0 and Open MPI 5.0.10. The baseline excludes #14722. These are same-build CSV comparisons, not PR/base builds. Full logs are retained, not attached.Issue Tracking
JIRA ID: AICOMRCCL-3532
Submission Checklist