Skip to content

test(rccl): add unit tests for device API - #9188

Merged
alexander-sannikov merged 5 commits into
developfrom
users/asanniko/AICOMRCCL-802
Aug 5, 2026
Merged

alexander-sannikov merged 5 commits into
developfrom
users/asanniko/AICOMRCCL-802

Conversation

@alexander-sannikov

@alexander-sannikov alexander-sannikov commented Jul 24, 2026 •

Copy link
Copy Markdown
Contributor

Adds MPI device-side test coverage for NCCL Memory/LSA reduce-copy APIs and GIN PROXY signal paths

  • DeviceApiMPITests.cpp (28 tests, wired into rccl-UnitTestsMPI):
    • baseline local/LSA copy and reduce/reduce-copy;
    • pointer APIs and LSA barriers (Group A);
    • fixed overloads, dtype sweep, coop-thread, in-place (Group B);
    • lambda layouts (Group C);
    • custom Min/Max reducers via test-local functors (Group D);
  • GinDeviceMPITests.cpp (+8 signal tests):
    • VASignalAdd_Put
    • no-payload inc/add
    • signal read/reset
    • indexed signal SignalAdd/putValue
    • rolling-bit waits
    • strict-ordering VA signals
    • local shadow pointer helpers.
  • vector__funcs.h: HIP fallback for int8_t 4-pack OpSum reduce (avoids missing __vadd4 on gfx950).

Issue Tracking

JIRA ID: AICOMRCCL-802

Test Plan

  • CI validation enabled.
  • manual validation.

Test Result

Manual validation:

Configuration Topology GTest result Verdict
Device API full suite 2 ranks, 1 node 27 pass / 1 skip / 0 fail Pass
GIN Phase-1 signals 2 ranks, 2 nodes 11 pass / 0 fail Pass
VASignalAdd_Put (extra) 2 ranks, 2 nodes 1 pass Pass

Submission Checklist

@alexander-sannikov
alexander-sannikov requested a review from a team as a code owner July 24, 2026 09:56
@therock-pr-bot

therock-pr-bot Bot commented Jul 24, 2026 •

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Title/Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

@therock-pr-bot

Copy link
Copy Markdown

🚫 Please fix the failed policies before requesting reviews.

The following policy checks failed:

  • ❌ Unit Test

The Not ready to Review label has been added to this PR.
Once all policies pass, the label will be removed automatically.

@alexander-sannikov
alexander-sannikov force-pushed the users/asanniko/AICOMRCCL-802 branch from 82f7f68 to fa41f09 Compare July 24, 2026 10:15
@alexander-sannikov alexander-sannikov changed the title RCCL: Added GIN device api tests test(rccl): add unit tests for device API Jul 24, 2026
@alexander-sannikov
alexander-sannikov force-pushed the users/asanniko/AICOMRCCL-802 branch from fa41f09 to d0af539 Compare July 24, 2026 13:41
@alexander-sannikov
alexander-sannikov force-pushed the users/asanniko/AICOMRCCL-802 branch from d0af539 to ec8d6d9 Compare July 24, 2026 15:34
@github-actions

Copy link
Copy Markdown
Contributor

RCCL Perf-Regression Gate: ✅ PASS

Mode: detect (reference vs candidate)
Thresholds (per-tier, calibrated): small 17.2% · mid 12.3% · large 12.9%
Keys compared: 0 · Confirmed regressions: 0 · Inconclusive: 0

Per-collective breakdown
group keys regressions inconclusive
all_gather_perf-d=bfloat16-default 0 0 0
all_gather_perf-d=float-default 0 0 0
all_reduce_perf-d=bfloat16-default 0 0 0
all_reduce_perf-d=float-default 0 0 0
broadcast_perf-d=bfloat16-default 0 0 0
broadcast_perf-d=float-default 0 0 0
reduce_scatter_perf-d=bfloat16-default 0 0 0
reduce_scatter_perf-d=float-default 0 0 0

@alexander-sannikov
alexander-sannikov force-pushed the users/asanniko/AICOMRCCL-802 branch from 73dec9a to d2fc018 Compare July 29, 2026 14:06
@alexander-sannikov

Copy link
Copy Markdown
Contributor Author

%RCCL_TEST_CONFIG
mi300x_mellanox_ib.json
SUITE=Device API

@alexander-sannikov
alexander-sannikov merged commit a497330 into develop Aug 5, 2026
32 of 39 checks passed
@alexander-sannikov
alexander-sannikov deleted the users/asanniko/AICOMRCCL-802 branch August 5, 2026 15:50
thomas-huber added a commit that referenced this pull request Aug 6, 2026
…api-gin-validation

Resolve two conflicts introduced since e4c06dd:

- GinDeviceMPITests.cpp: keep both new includes (<array> from this branch,
  <cerrno> from develop), and take develop's launch of barrier2RanksKernel so
  it uses the kGinKernelBlocks/kGinKernelThreads constants added by #9188.
- mi300x_mellanox_ib.json: keep develop's three new suite entries alongside
  this branch's GIN traffic-class suite and renamed GIN barrier suite.

The branch still touches only test, docs, and test_runner config files.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants