TL/UCP: select exact allgather radix schedules - #1328
Conversation
|
/build |
|
@ci-triage-agent |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Build stage "Setup Image x86_64/ngc_pytorch/0" failed; Root cause: Implicated commit: File: Suggested fix: Replace
Then rebuild locally with
|
2d72f80 to
508e8d4
Compare
|
🤖 CI Triage Agent — TL;DR: The codestyle lint failed because commit Full analysisSummary: The "Lint (codestyle)" GitHub Actions job failed on its commit-title check — one commit title exceeds the 50-character maximum. Root cause: The commit-title validator in Implicated commit: The offending commit is the one titled File: Suggested fix: Reword that commit's title to ≤50 characters, e.g. Related: none
|
81f4268 to
afa8d2f
Compare
afa8d2f to
6e8663d
Compare
|
Maintainer note: this stacked PR inherits the intentional minimal Any clang-format/codestyle complaint about the surrounding legacy configuration |
058defb to
0603a54
Compare
|
🤖 CI Triage Agent — TL;DR: The codestyle "commit title" check failed because one commit title in PR #1328 exceeds the 50-character limit (it's 57 chars). Shorten that commit's title to ≤50 characters and force-push. Full analysisSummary: The Root cause: The commit-title check enforces Implicated commit: The commit in PR #1328 (branch File: Suggested fix: Reword the offending commit's title to ≤50 characters while keeping a valid header prefix (
Use an interactive rebase to edit that commit, then force-push: All other titles passed, so no further changes are needed. Related: none found. |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: The "Run set -eE" commit-title check step in the codestyle workflow exited 1 because a PR commit title is longer than the allowed 50 characters. Root cause: The linter's Implicated commit: The PR commit titled File: Suggested fix: Reword and amend the offending commit title to ≤50 characters, e.g. Related: PR #1328 ( |
|
🤖 CI Triage Agent — TL;DR: The codestyle lint job failed its commit-title-length check because one commit in PR #1328 has a 57-character title (limit is 50). Shorten that commit's title to ≤50 characters. Full analysisSummary: The Root cause: The lint script rejects non-merge commit titles longer than 50 characters. The commit titled Implicated commit: The PR commit titled File: Suggested fix: Reword the offending commit title to ≤50 characters, e.g. Related: none |
|
🤖 CI Triage Agent — TL;DR: The codestyle lint failed because one commit title in PR #1328 exceeds the 50-character limit; shorten Full analysisSummary: The Root cause: The check-title script in Implicated commit: The offending commit is the one titled File: Suggested fix: Reword that commit's subject to ≤50 characters and force-push the rebased branch. For example:
Use an interactive rebase ( Related: none
|
|
🤖 CI Triage Agent — TL;DR: The codestyle job failed its commit-title lint because one commit in PR #1328 has a 57-character title, exceeding the 50-character limit; shorten that commit's title to ≤50 chars. Full analysisSummary: The "Lint (codestyle)" GitHub Actions job failed at the commit-title check step with exit code 1. Root cause: The commit-title linter in Implicated commit: The commit with title File: Suggested fix: Reword that commit's title to 50 characters or fewer while keeping a valid
Apply via interactive rebase ( Related: none
|
|
🤖 CI Triage Agent — TL;DR: The codestyle job's commit-title linter failed because one commit title in PR #1328 exceeds the 50-character limit (57 chars); shorten that commit's subject line to ≤50 characters. Full analysisSummary: The Root cause: The check script in Implicated commit: The offending commit is the one titled File: Suggested fix: Reword that commit's title to ≤50 characters and force-push. For example, interactively rebase ( Related: none |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: GitHub Actions Root cause: The codestyle workflow's Implicated commit: The offending commit on branch File: Suggested fix: Reword the offending commit title to 50 characters or fewer while keeping a valid header prefix. For example, Related: PR #1328 (openucx/ucc); no related issues found.
|
4f2877c to
43a2ecf
Compare
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: The "Lint (codestyle)" GitHub Actions job failed at the commit-title check step with exit code 1. Root cause: The commit-title linter in Implicated commit: The offending commit is the one titled File: Suggested fix: Reword that commit title to ≤ 50 characters (keeping a valid
Related: none |
|
🤖 CI Triage Agent — TL;DR: The codestyle "Lint" job failed because one commit title in PR #1328 exceeds the 50-character limit; shorten Full analysisSummary: The Root cause: The workflow's Implicated commit: The offending commit in PR #1328 (branch File: Suggested fix: Reword the commit title to ≤50 characters and force-push. For example: Related: none |
|
🤖 CI Triage Agent — TL;DR: The codestyle job failed because one commit title in PR #1328 is 57 characters — over the 50-char limit — and the fix is to reword/amend that commit title to ≤50 characters. Full analysisSummary: The Root cause: The workflow's Implicated commit: The offending commit in PR #1328 with title File: Suggested fix: Reword the offending commit title to ≤50 characters and force-push. For example:
Since this is mid-history in a large series, rebase interactively and All other 36 titles passed, so only that one needs changing. Related: none found. |
|
🤖 CI Triage Agent — TL;DR: The codestyle job's commit-title linter failed because one commit title in PR #1328 exceeds the 50-character limit; shorten the offending commit title to ≤50 characters. Full analysisSummary: The Root cause: The CI script in Implicated commit: The commit in PR #1328 with title File: Suggested fix: Reword that single commit title to 50 characters or fewer and force-push. For example: Related: none |
|
🤖 CI Triage Agent — TL;DR: The codestyle "commit title" check failed because one commit in PR #1328 has a 57-character title, exceeding the 50-char limit; shorten that commit's subject line to ≤50 chars and force-push. Full analysisSummary: The Root cause: The check enforces a maximum commit-title length of 50 characters ( Implicated commit: The offending commit is the one with subject File: Suggested fix: Rewrite the overlong commit title to ≤50 characters, e.g. No source-code change is required; this is purely a commit-message policy violation. Related: none found.
|
|
🤖 CI Triage Agent — TL;DR: The Lint (codestyle) job failed because one commit title in PR #1328 exceeds the 50-character limit; shorten the offending commit message and the check will pass. Full analysisSummary: The commit-title lint step ( Root cause: The codestyle check iterates over every commit in the PR range and enforces Implicated commit: The commit whose title is File: Suggested fix: Reword that commit's title to ≤50 characters, e.g. Related: none found in logs. Note: the log contains a redacted git basic-auth header ( |
31eeeeb to
2b73955
Compare
Add explicit per-phase radix schedules to TL/UCP K-nomial AllGather while preserving the fixed-radix and AllGatherV paths. Parse and validate exact schedules through the existing team configuration.
Cover schedule parsing, legacy fixed-radix behavior, and exact mixed-radix peer and segment layouts.
2b73955 to
469d39e
Compare
Add opt-in automatic exact-schedule selection. Small messages minimize phase count and total fanout, with powers of two prioritized in the generated order. Large messages retain an R2-oriented factorization, and explicit schedules remain authoritative.
Cover minimum-phase fallback, fanout and order selection, radix 9, fixed-radix normalization, the large-message boundary, odd factors, and unsupported teams.
9c1d899 to
ecf55f9
Compare
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: clang-tidy static analysis failed on Root cause: In Implicated commit: File: Suggested fix: Remove the dead store on line 250 ( if (ct == UCC_COLL_TYPE_ALLGATHER) {
ucc_kn_ag_pattern_init(size, rank, radix, p->radices, p->n_iters,
args->dst.info.count, p);
- radix = p->radix;
offset = ucc_buffer_block_offset(args->dst.info.count, size, rank) *Verify Related: none found (the mixed-radix selector series: commits
|
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: clang-tidy-17 reported Root cause: In Implicated commit: File: Suggested fix: Remove the now-dead Related: PR #1328 (this change); prior radix-schedule commits |
|
🤖 CI Triage Agent — TL;DR: The ROCm Lint (clang-tidy) job failed because line 250 of Full analysisSummary: Root cause: In Implicated commit: File: Suggested fix: Remove the now-redundant Related: PR #1328 (this build); prior mixed-radix commits |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: The Root cause: At 16:13:06 apt tried to refresh the LLVM repo and failed: Implicated commit: none — the failure is environmental, not caused by commit [REDACTED:Hex High Entropy String]. File: Suggested fix: Re-run the job first; it will very likely pass. To make this step resilient to the recurring LLVM-repo/IPv6 flakiness, harden the workflow:
Related: none found in this repository.
|
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage "Run UCC MPI tests (bulk)" aborted (exit 134) during the Root cause: Implicated commit: unknown (not in this build's log; PR #1328 at commit 97b051f is the change under test — inspect its CL/HIER / triggered-post changes for a missing File: src/schedule/ucc_schedule.c:101 (assertion) — root cause is the CL/HIER ucp triggered collective init that leaves Suggested fix: In the CL/HIER (ucp) triggered-post code path exercised by PR #1328, ensure every task added to a schedule/queued for Related: none found via issue/PR search (queries for "ucc_dummy_progress assertion" and "triggered post progress schedule" returned no matches). |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Jenkins stage "Run UCC MPI tests (bulk)" (node 198) crashed with SIGABRT (exit 134 → pipeline 143) during the Root cause: The abort comes from Implicated commit: The PR head under test, [REDACTED:Hex High Entropy String] (branch File: Crash site: Suggested fix: In the new mixed-radix allreduce init function, verify every code path assigns Related: none found (issue/PR search for "mixed radix selector allreduce" returned no matches in this repo).
|
What
Add opt-in, message-size-aware exact-schedule selection for TL/UCP K-nomial
AllGather. This PR is stacked on the mixed-radix execution capability in #1327.
UCC_TL_UCP_ALLGATHER_KN_MIXED_RADICEShas three states:auto: select an exact fixed or mixed schedule;8,6: use that authoritative exact schedule.Policy
Automatic mode uses the total AllGather receive payload:
number of phases, then minimize total fanout
sum(radix - 1);Ties use a deterministic priority order: powers of two first (
8,4,2), thenthe remaining radices in descending order. Uniform selected schedules are
normalized to the existing fixed-radix path. If no supported exact
factorization exists, selection falls back to the legacy path.
Examples:
4,5,38,94,4,68,4,42,2,2,2,2,3Performance evidence
The legacy topology heuristic selects fixed R4 at 64 ranks and does not use
message size. Results below are intentionally anonymized and normalized to
that measured legacy-auto execution (
1.00).On System B below 1 GiB, current auto was within 0.14% on average / 1.04%
worst case of the measured R2/R4/R8 winner. At 1--8 GiB, those candidates
converged and current auto stayed within 0.10% on average / 0.23% worst
case. This provides portability/non-regression evidence rather than claiming
a universal large-message R2 gain.
Additional observations:
representative exact schedules reached 1.81x--1.99x the best measured
fixed-radix endpoint across three anonymous environments.
a 72-rank exhaustive sweep ranked every permutation of the balanced
3,4,6factors above more uneven three-phase factorizations. At 32 ranks in another
environment, the balanced
2,4,4family similarly beat2,2,8.no portable largest-first, largest-last, or PPN-first rule. The selector
therefore uses a topology-independent cost and stable ordering.
schedules remain available when a deployment has stronger local evidence.
These relative results demonstrate selector behavior and should not be used as
absolute system-performance comparisons.
Validation
R8,
8,6,8,9, balanced4,4,6and8,4,4, the large-message R2schedule, odd factors, and unsupported exact shapes.
schedule tests, exhaustive selector-oracle coverage, and CUDA AllGather
checks.