Repository navigation
Conversation
Six rows for 1 node x 8 GPUs, Broadcast and Reduce: Ring/LL with 112 channels for [512K, 2M) and Ring/LL with RCCL's channel choice for [2M, 8M). The previous choice there, Ring/Simple, runs 1.5x to 3x slower. 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. |
|
@argus review |
There was a problem hiding this comment.
ARGUS
Findings
2 more finding(s), not posted inline
projects/rccl/tuner/rccl_tuner_gfx950.csv:9(Nit) Broadcast rows 8-9 (and reduce rows 11-12) have identical ring/ll/112 settings over contiguous ranges; each pair can be one 524288-2097151 row.projects/rccl/tuner/rccl_tuner_gfx950.csv:13(Low) Follow-up: no csv-tuner test asserts every shipped row parses, so a misspelled row would be silently skipped (csv_tuner.cc:355-362); assert numConfigs == countConfigLines() in EmbeddedAndFileParseIdentically.
Bottom line: LGTM.
Comment @argus review to re-run, or @argus re-review after pushing.
Broadcast and Reduce [512K, 1M) and [1M, 2M) had the same Ring/LL/112 choice; one row each covers [512K, 2M). Lookups are unchanged at every size. Co-Authored-By: Claude <noreply@anthropic.com>
Tuner-table-only changes don't carry a CHANGELOG entry. Co-Authored-By: Claude <noreply@anthropic.com>
1b388ba to
dd1f320
Compare
pr-rocm-systems-14484-oci-rccl-pr-buildBuilds
FailuresNo failing tests in this run. 116 tests skipped. |
pr-rocm-systems-14484-ruby64-rccl-pr-smokeBuilds
FailuresNo failing tests in this run. 15 tests skipped. |
PedramAlizadeh
left a comment
There was a problem hiding this comment.
LGTM!
Thank you @aduforest!
pr-rocm-systems-14484-oci-rccl-pr-buildBuilds
FailuresNo failing tests in this run. 116 tests skipped. |
pr-rocm-systems-14484-oci-rccl-pr-smokeBuilds
FailuresNo failing tests in this run. 15 tests skipped. |
pr-rocm-systems-14484-ruby64-rccl-pr-smokeBuilds
FailuresNo failing tests in this run. 15 tests skipped. |
|
Validation follow-up for
The description is shorter, with reproduction details collapsed. Required lead/team approval is still outstanding; this comment does not replace it. |
|
Final compatibility check with #14722 passed at the current PR heads: the seven new tuning rules do not overlap, and 1,139,712 CSV selection-model comparisons preserve each PR’s selections and the existing fallback behavior. This is a selection-model check, not an additional GPU benchmark. Details: #14722 (comment) The existing benchmark evidence and this cross-check support merging once the remaining review requirements are satisfied; no further broad benchmark campaign is indicated. All three required CI checks on this PR are green. GitHub still reports it blocked under review requirements. |
Motivation
Improve Broadcast and Reduce performance on MI350X, 1 node × 8 GPUs (8 ranks). Ring/LL outperforms the existing Ring/Simple settings at the tested sizes below 8 MiB.
Technical Details
Adds four rows to
projects/rccl/tuner/rccl_tuner_gfx950.csv, only for one node with eight ranks:512 KiB <= size < 2 MiB2 MiB <= size < 8 MiBExactly 2 MiB uses the second rule; exactly 8 MiB is excluded. Settings outside this scope are unchanged. Two-node tuning is excluded because Ring/LL was slower there.
Test Plan
Verified rccl-tests logs: repeated baseline/candidate/control comparisons, dense size sweeps and a wider 128 KiB–32 MiB sweep. The current-build check covers float/bfloat16/half with DEFAULT policy, registration 0 and no graphs. Earlier float tests cover 12 CTA/registration/graph combinations.
Test Result
#wrong=0.#wrong=0; outside-range differences below 0.9%.Measurements and command template
Before: Ring/Simple with 32, 64, 112 and 112 channels respectively. After: Ring/LL with 112 channels. At 2 and 4 MiB, 112 is RCCL's default rather than a fixed value in the new rows (
-1). Inclusive CSV byte ranges:524288..2097151and2097152..8388607.Current-build validation: job 103314, exact four-row candidate, RCCL 2.32.3 (
091930df78f8d9402e53034fda2adbd53e3e3aec), ROCm 10.1.0 and Open MPI 5.0.10. Six dense rounds and three wider float rounds; datatype checks use DEFAULT/R0/no graph. Earlier jobs 100018 and 102856 use an older RCCL build and six lookup-equivalent rows; they are not a current-build 12-mode matrix.The tables are compared using the same RCCL binary. Raw logs were audited and are retained, not attached. rccl-tests reports
2.19.6-HEAD:7ee494a5d4.Eight ranks, one per GPU. Select one value per placeholder and add
-G 1for graphs:Repeat with size arguments
-b 524304 -e 9961392 -i 1572848, then-b 128K -e 32M -f 2. These are templates, not a complete run transcript.Issue Tracking
JIRA ID: AICOMRCCL-3447
Submission Checklist