Repository navigation
fix(rccl): Fix SDMA Collectives build failure after Sync - #11765
Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
🟡 Changes recommended
The AllToAll test fixture is incompatible with the updated backend-state lookup and must be fixed before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates RCCL SDMA GIN collectives for revised communicator and backend APIs, with expanded CI coverage.
Changes:
- Passes
NCCL_VERSION_CODEwhen creating internal communicators. - Uses
ncclGetGinType()for SDMA eligibility checks. - Adds AllReduce coverage and updates SDMA CI configuration.
File summaries
| File | Summary |
|---|---|
projects/rccl/tools/ci/lib/gin-tests.json |
Updates SDMA test configuration and adds AllReduce coverage; backend test names should be corrected. |
projects/rccl/src/algorithms/gin/sdma/gin_alltoall_sdma.cu |
Updates communicator creation and backend validation; related test fixtures require updated state initialization. |
projects/rccl/src/algorithms/gin/sdma/gin_all_reduce_sdma.cu |
Updates communicator creation and backend validation. |
Review details
Suppressed comments (2)
projects/rccl/tools/ci/lib/gin-tests.json:72
NCCL_GIN_TYPE=7selects the Anvil SDMA backend, not rocSHMEM GDA, so this newly added test name is misleading and makes CI results difficult to interpret. Please use ananvil-sdmaname consistent with the configured backend.
"name": "rccl-gin-rocshmem-sdma-alltoall-internal",
projects/rccl/tools/ci/lib/gin-tests.json:79
- This test also forces
NCCL_GIN_TYPE=7(Anvil SDMA), so therocshmemportion of the new name is incorrect and can misattribute failures. Please rename it to reflect the Anvil SDMA backend.
"name": "rccl-gin-rocshmem-sdma-allreduce-internal",
- Files reviewed: 3/3 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
ARGUS
Bottom line: Worth settling before approval: the GIN type renumber missed run-gin-ci.sh:248, and the new AllReduce CI entry runs a binary gin.sbatch:170 says does not build.
Comment @argus review to re-run, or @argus re-review after pushing.
|
Do we also need to renumber GIN GDA(5)? |
yes GDA needs to be updated to 6 |
There was a problem hiding this comment.
ARGUS
Bottom line: Worth settling before approval: the 6 to 7 sweep missed three enabled SDMA suites in tools/scripts/test_runner/configs/gin_rocshmem_backends_mellanox.json, which now select rocSHMEM GDA.
Comment @argus review to re-run, or @argus re-review after pushing.
There was a problem hiding this comment.
ARGUS
Bottom line: Worth settling before approval: the 6 to 7 sweep still misses tools/scripts/test_runner/configs/gin_rocshmem_backends_mellanox.json, where gin_perf_sdma and gin_perf_sdma_internal stay at 6 and now select rocSHMEM GDA.
Comment @argus review to re-run, or @argus re-review after pushing.
dlamd1dai
left a comment
There was a problem hiding this comment.
LGTM. The 6 to 7 sweep now includes tools/scripts/test_runner/configs/gin_rocshmem_backends_mellanox.json (GDA 5 to 6 with it), and MockBackendSlotMatchesGinTypeAccessor pins backends[0] through ncclGetGinType.
There was a problem hiding this comment.
ARGUS
Bottom line: Worth settling before approval: the new SupportsStrongSignal specialization for Anvil SDMA returns true, so the GIN barrier skips its pre-signal flush on a backend that never drains the SDMA engine.
Comment @argus review to re-run, or @argus re-review after pushing.
RCCL Perf-Regression Gate:
|
| 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 |
|
1 failure in sdma broadcast pytest is inconsistent and seems to be due to slow ci runner - it passes locally mci(extra) failures are being fixed in #11797 Merging to unblock rocshmem gin build |
TheRock Submodule Bump ActivityNewest first
|
…1.2 (#11902) ## Motivation NCCL-sync v2.31.2 #10785 changed the NCCL_GIN_TYPE constants for ANVIL_SDMA (i.e. NCCL_{NET_DEVICE_GIN,GIN_TYPE}_ANVIL_SDMA) from 6 to 7, but the corresponding changes were not made to the test-runner scripts in rccl-tests, projects/rccl-tests/test/test_{AllGather,AllToAll,Broadcast}.py. This is a follow up to #11765. ## Technical Details Change default NCCL_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_AllToAll.py - projects/rccl-tests/test/test_AllGather.py Change default RCCL_TESTS_BCAST_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_Broadcast.py Document which versions use which constants for ANVIL_SDMA: - 7 : from #10785 (d0f7d19) to current HEAD - 6 : from #9924 (131884a) to #10785 (d0f7d19) - 5 : from #7826 (bc6a304) to #9924 (131884a) ## Issue Tracking JIRA ID: AICOMRCCL-2407 ## Test Plan Validate that GIN CI passes cleanly with this PR. ## Test Result GIN CI still flaky: does not resolve AICOMRCCL-2407, but PR should still be merged. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Signed-off-by: Omri Mor <Omri.Mor@amd.com>
…L-2241) (#11863) ## Motivation `ncclCommWindowRegister` fails with `could not resolve LSA flat addr` when it is called after `ncclDevCommCreate` on the GIN Anvil SDMA backend (`NCCL_GIN_TYPE=7`). Registering a symmetric window after creating a device communicator is legal, but on this backend it aborted registration, which made the GIN device-API alltoall tests unable to reach a kernel launch. Replaces #11089, which GitHub auto-closed when #11765 merged and deleted `users/kpawar/gin-sdma-build-fix`. This branch is rebased onto current `develop` (includes #11765). Review history and Argus LGTM live on #11089. ## Technical Details `symMemoryObtain` registered the window with the GIN/RMA plugins *before* linking the in-flight `ncclDevrMemory` onto `devr->memHead`. The Anvil SDMA plugin resolves the caller's user VA inside `ginAnvilRegMrSym` via `ncclDevrGetLsaSelfAddr`, and that helper only walks `devr->memHead` (plus the LSA flat range). With the link happening after registration, the memory being registered was invisible to the lookup, so it returned `nullptr` and registration failed. This changes the ordering so `mem` is on `memHead` before `symMemoryRegisterGin`/`symMemoryRegisterRma` run, which restores the invariant those plugins depend on. Since the window is now published earlier, the `fail_mem_space_teams` path also has to undo more work: - unlink `mem` from `memHead`, - `symMemoryUnregister` for GIN/RMA teardown (shared with `symMemoryDestroy`), - unbind team memory. The single-segment `symMemoryRegisterGin` path uses `NCCLCHECKGOTO` so a partway `ncclGinRegister` failure deregisters MRs already stored in `ginHostWins` even when `ginSegmentInfos` was never allocated. `ncclRmaProxyDeregister` skips null handles so a partial `ncclRmaProxyRegister` cannot walk into `deregMrSym` implementations that deref unchecked. `fail_mem` additionally frees `mem->ginSegmentInfos`, which leaked when GIN registration succeeded but a later step failed. `mem` comes from `ncclCalloc`, so both guards read as null on the early failure paths. ## Issue Tracking JIRA ID: AICOMRCCL-2241 ## Test Plan MI355X (gfx950, 8 XCC), 2 ranks on one node, GIN Anvil SDMA backend: ``` NCCL_GIN_TYPE=7 NCCL_CUMEM_ENABLE=1 RCCL_ENABLE_INTRANET=1 \ mpirun -np 2 rccl-UnitTestsMPI --gtest_filter=\ GinMPIDeviceTests.Alltoall_PureReference:\ GinMPIDeviceTests.AlltoallHybrid_Reference:\ GinMPIDeviceTests.BarrierSession_LsaOnly:\ GinMPIDeviceTests.SignalAdd_AndShadow:\ GinMPIDeviceTests.WindowRegister_AfterDevCommCreate ``` `WindowRegister_AfterDevCommCreate` is the dedicated regression for post-`ncclDevCommCreate` window register. It stays on `gin_devmpi_common` (GDA extra API coverage) and is also listed in the `gin_devmpi_sdma` subset (Anvil SDMA is the backend that actually failed). Host micro-test: `rccl-UnitTestsDevRuntime --gtest_filter=SymMemoryObtainTest.*` covers destroy plus GIN-register failure unlinking `memHead`. Cluster: `%RCCL_TEST_CONFIG gin_rocshmem_backends_mellanox.json` (`gin_devmpi_sdma` plus GDA `gin_devmpi_common`). ## Test Result All five tests pass with the fix. Before it, both alltoall tests failed in `ncclCommWindowRegister` with `could not resolve LSA flat addr`. ``` [ RUN ] GinMPIDeviceTests.BarrierSession_LsaOnly [ OK ] (7745 ms) [ RUN ] GinMPIDeviceTests.SignalAdd_AndShadow [ OK ] (2273 ms) [ RUN ] GinMPIDeviceTests.Alltoall_PureReference [ OK ] (2267 ms) [ RUN ] GinMPIDeviceTests.AlltoallHybrid_Reference [ OK ] (2257 ms) [ PASSED ] 4 tests. ``` Note for anyone reproducing this on a `Debug` build of the tests: run with `HSA_NO_SCRATCH_RECLAIM=0`, or build the test TU optimized. `Debug` compiles these kernels with no `-O`, so the GIN device structs spill to scratch (`alltoallPureKernel` needs 28,720 bytes/lane, `alltoallHybridKernel` 47,424, versus 1,136 at `-O3`). `HSA_NO_SCRATCH_RECLAIM=1` makes ROCr reserve scratch for full device occupancy and forbids its occupancy-reduction fallback, so on a 256-CU part those kernels each demand 14-23 GiB against a 32 GiB scratch pool. The suite then aborts with `HSA_STATUS_ERROR_OUT_OF_RESOURCES` on whichever kernel exhausts the pool. That is a build-configuration and scratch-policy interaction, unrelated to this change. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor <cursoragent@cursor.com>
…1.2 (#11902) ## Motivation NCCL-sync v2.31.2 #10785 changed the NCCL_GIN_TYPE constants for ANVIL_SDMA (i.e. NCCL_{NET_DEVICE_GIN,GIN_TYPE}_ANVIL_SDMA) from 6 to 7, but the corresponding changes were not made to the test-runner scripts in rccl-tests, projects/rccl-tests/test/test_{AllGather,AllToAll,Broadcast}.py. This is a follow up to #11765. ## Technical Details Change default NCCL_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_AllToAll.py - projects/rccl-tests/test/test_AllGather.py Change default RCCL_TESTS_BCAST_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_Broadcast.py Document which versions use which constants for ANVIL_SDMA: - 7 : from #10785 (d0f7d19) to current HEAD - 6 : from #9924 (131884a) to #10785 (d0f7d19) - 5 : from #7826 (bc6a304) to #9924 (131884a) ## Issue Tracking JIRA ID: AICOMRCCL-2407 ## Test Plan Validate that GIN CI passes cleanly with this PR. ## Test Result GIN CI still flaky: does not resolve AICOMRCCL-2407, but PR should still be merged. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Signed-off-by: Omri Mor <Omri.Mor@amd.com>
…L-2241) (#11863) ## Motivation `ncclCommWindowRegister` fails with `could not resolve LSA flat addr` when it is called after `ncclDevCommCreate` on the GIN Anvil SDMA backend (`NCCL_GIN_TYPE=7`). Registering a symmetric window after creating a device communicator is legal, but on this backend it aborted registration, which made the GIN device-API alltoall tests unable to reach a kernel launch. Replaces #11089, which GitHub auto-closed when #11765 merged and deleted `users/kpawar/gin-sdma-build-fix`. This branch is rebased onto current `develop` (includes #11765). Review history and Argus LGTM live on #11089. ## Technical Details `symMemoryObtain` registered the window with the GIN/RMA plugins *before* linking the in-flight `ncclDevrMemory` onto `devr->memHead`. The Anvil SDMA plugin resolves the caller's user VA inside `ginAnvilRegMrSym` via `ncclDevrGetLsaSelfAddr`, and that helper only walks `devr->memHead` (plus the LSA flat range). With the link happening after registration, the memory being registered was invisible to the lookup, so it returned `nullptr` and registration failed. This changes the ordering so `mem` is on `memHead` before `symMemoryRegisterGin`/`symMemoryRegisterRma` run, which restores the invariant those plugins depend on. Since the window is now published earlier, the `fail_mem_space_teams` path also has to undo more work: - unlink `mem` from `memHead`, - `symMemoryUnregister` for GIN/RMA teardown (shared with `symMemoryDestroy`), - unbind team memory. The single-segment `symMemoryRegisterGin` path uses `NCCLCHECKGOTO` so a partway `ncclGinRegister` failure deregisters MRs already stored in `ginHostWins` even when `ginSegmentInfos` was never allocated. `ncclRmaProxyDeregister` skips null handles so a partial `ncclRmaProxyRegister` cannot walk into `deregMrSym` implementations that deref unchecked. `fail_mem` additionally frees `mem->ginSegmentInfos`, which leaked when GIN registration succeeded but a later step failed. `mem` comes from `ncclCalloc`, so both guards read as null on the early failure paths. ## Issue Tracking JIRA ID: AICOMRCCL-2241 ## Test Plan MI355X (gfx950, 8 XCC), 2 ranks on one node, GIN Anvil SDMA backend: ``` NCCL_GIN_TYPE=7 NCCL_CUMEM_ENABLE=1 RCCL_ENABLE_INTRANET=1 \ mpirun -np 2 rccl-UnitTestsMPI --gtest_filter=\ GinMPIDeviceTests.Alltoall_PureReference:\ GinMPIDeviceTests.AlltoallHybrid_Reference:\ GinMPIDeviceTests.BarrierSession_LsaOnly:\ GinMPIDeviceTests.SignalAdd_AndShadow:\ GinMPIDeviceTests.WindowRegister_AfterDevCommCreate ``` `WindowRegister_AfterDevCommCreate` is the dedicated regression for post-`ncclDevCommCreate` window register. It stays on `gin_devmpi_common` (GDA extra API coverage) and is also listed in the `gin_devmpi_sdma` subset (Anvil SDMA is the backend that actually failed). Host micro-test: `rccl-UnitTestsDevRuntime --gtest_filter=SymMemoryObtainTest.*` covers destroy plus GIN-register failure unlinking `memHead`. Cluster: `%RCCL_TEST_CONFIG gin_rocshmem_backends_mellanox.json` (`gin_devmpi_sdma` plus GDA `gin_devmpi_common`). ## Test Result All five tests pass with the fix. Before it, both alltoall tests failed in `ncclCommWindowRegister` with `could not resolve LSA flat addr`. ``` [ RUN ] GinMPIDeviceTests.BarrierSession_LsaOnly [ OK ] (7745 ms) [ RUN ] GinMPIDeviceTests.SignalAdd_AndShadow [ OK ] (2273 ms) [ RUN ] GinMPIDeviceTests.Alltoall_PureReference [ OK ] (2267 ms) [ RUN ] GinMPIDeviceTests.AlltoallHybrid_Reference [ OK ] (2257 ms) [ PASSED ] 4 tests. ``` Note for anyone reproducing this on a `Debug` build of the tests: run with `HSA_NO_SCRATCH_RECLAIM=0`, or build the test TU optimized. `Debug` compiles these kernels with no `-O`, so the GIN device structs spill to scratch (`alltoallPureKernel` needs 28,720 bytes/lane, `alltoallHybridKernel` 47,424, versus 1,136 at `-O3`). `HSA_NO_SCRATCH_RECLAIM=1` makes ROCr reserve scratch for full device occupancy and forbids its occupancy-reduction fallback, so on a 256-CU part those kernels each demand 14-23 GiB against a 32 GiB scratch pool. The suite then aborts with `HSA_STATUS_ERROR_OUT_OF_RESOURCES` on whichever kernel exhausts the pool. That is a build-configuration and scratch-policy interaction, unrelated to this change. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor <cursoragent@cursor.com>
…1.2 (#11902) ## Motivation NCCL-sync v2.31.2 #10785 changed the NCCL_GIN_TYPE constants for ANVIL_SDMA (i.e. NCCL_{NET_DEVICE_GIN,GIN_TYPE}_ANVIL_SDMA) from 6 to 7, but the corresponding changes were not made to the test-runner scripts in rccl-tests, projects/rccl-tests/test/test_{AllGather,AllToAll,Broadcast}.py. This is a follow up to #11765. ## Technical Details Change default NCCL_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_AllToAll.py - projects/rccl-tests/test/test_AllGather.py Change default RCCL_TESTS_BCAST_GIN_TYPE from 6 to 7: - projects/rccl-tests/test/test_Broadcast.py Document which versions use which constants for ANVIL_SDMA: - 7 : from #10785 (d0f7d19) to current HEAD - 6 : from #9924 (131884a) to #10785 (d0f7d19) - 5 : from #7826 (bc6a304) to #9924 (131884a) ## Issue Tracking JIRA ID: AICOMRCCL-2407 ## Test Plan Validate that GIN CI passes cleanly with this PR. ## Test Result GIN CI still flaky: does not resolve AICOMRCCL-2407, but PR should still be merged. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Signed-off-by: Omri Mor <Omri.Mor@amd.com>
…L-2241) (#11863) ## Motivation `ncclCommWindowRegister` fails with `could not resolve LSA flat addr` when it is called after `ncclDevCommCreate` on the GIN Anvil SDMA backend (`NCCL_GIN_TYPE=7`). Registering a symmetric window after creating a device communicator is legal, but on this backend it aborted registration, which made the GIN device-API alltoall tests unable to reach a kernel launch. Replaces #11089, which GitHub auto-closed when #11765 merged and deleted `users/kpawar/gin-sdma-build-fix`. This branch is rebased onto current `develop` (includes #11765). Review history and Argus LGTM live on #11089. ## Technical Details `symMemoryObtain` registered the window with the GIN/RMA plugins *before* linking the in-flight `ncclDevrMemory` onto `devr->memHead`. The Anvil SDMA plugin resolves the caller's user VA inside `ginAnvilRegMrSym` via `ncclDevrGetLsaSelfAddr`, and that helper only walks `devr->memHead` (plus the LSA flat range). With the link happening after registration, the memory being registered was invisible to the lookup, so it returned `nullptr` and registration failed. This changes the ordering so `mem` is on `memHead` before `symMemoryRegisterGin`/`symMemoryRegisterRma` run, which restores the invariant those plugins depend on. Since the window is now published earlier, the `fail_mem_space_teams` path also has to undo more work: - unlink `mem` from `memHead`, - `symMemoryUnregister` for GIN/RMA teardown (shared with `symMemoryDestroy`), - unbind team memory. The single-segment `symMemoryRegisterGin` path uses `NCCLCHECKGOTO` so a partway `ncclGinRegister` failure deregisters MRs already stored in `ginHostWins` even when `ginSegmentInfos` was never allocated. `ncclRmaProxyDeregister` skips null handles so a partial `ncclRmaProxyRegister` cannot walk into `deregMrSym` implementations that deref unchecked. `fail_mem` additionally frees `mem->ginSegmentInfos`, which leaked when GIN registration succeeded but a later step failed. `mem` comes from `ncclCalloc`, so both guards read as null on the early failure paths. ## Issue Tracking JIRA ID: AICOMRCCL-2241 ## Test Plan MI355X (gfx950, 8 XCC), 2 ranks on one node, GIN Anvil SDMA backend: ``` NCCL_GIN_TYPE=7 NCCL_CUMEM_ENABLE=1 RCCL_ENABLE_INTRANET=1 \ mpirun -np 2 rccl-UnitTestsMPI --gtest_filter=\ GinMPIDeviceTests.Alltoall_PureReference:\ GinMPIDeviceTests.AlltoallHybrid_Reference:\ GinMPIDeviceTests.BarrierSession_LsaOnly:\ GinMPIDeviceTests.SignalAdd_AndShadow:\ GinMPIDeviceTests.WindowRegister_AfterDevCommCreate ``` `WindowRegister_AfterDevCommCreate` is the dedicated regression for post-`ncclDevCommCreate` window register. It stays on `gin_devmpi_common` (GDA extra API coverage) and is also listed in the `gin_devmpi_sdma` subset (Anvil SDMA is the backend that actually failed). Host micro-test: `rccl-UnitTestsDevRuntime --gtest_filter=SymMemoryObtainTest.*` covers destroy plus GIN-register failure unlinking `memHead`. Cluster: `%RCCL_TEST_CONFIG gin_rocshmem_backends_mellanox.json` (`gin_devmpi_sdma` plus GDA `gin_devmpi_common`). ## Test Result All five tests pass with the fix. Before it, both alltoall tests failed in `ncclCommWindowRegister` with `could not resolve LSA flat addr`. ``` [ RUN ] GinMPIDeviceTests.BarrierSession_LsaOnly [ OK ] (7745 ms) [ RUN ] GinMPIDeviceTests.SignalAdd_AndShadow [ OK ] (2273 ms) [ RUN ] GinMPIDeviceTests.Alltoall_PureReference [ OK ] (2267 ms) [ RUN ] GinMPIDeviceTests.AlltoallHybrid_Reference [ OK ] (2257 ms) [ PASSED ] 4 tests. ``` Note for anyone reproducing this on a `Debug` build of the tests: run with `HSA_NO_SCRATCH_RECLAIM=0`, or build the test TU optimized. `Debug` compiles these kernels with no `-O`, so the GIN device structs spill to scratch (`alltoallPureKernel` needs 28,720 bytes/lane, `alltoallHybridKernel` 47,424, versus 1,136 at `-O3`). `HSA_NO_SCRATCH_RECLAIM=1` makes ROCr reserve scratch for full device occupancy and forbids its occupancy-reduction fallback, so on a 256-CU part those kernels each demand 14-23 GiB against a 32 GiB scratch pool. The suite then aborts with `HSA_STATUS_ERROR_OUT_OF_RESOURCES` on whichever kernel exhausts the pool. That is a build-configuration and scratch-policy interaction, unrelated to this change. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Motivation
The latest sync changed two GIN host APIs, so the SDMA collectives stopped compiling. It also renumbered the Anvil SDMA GIN type to 7, leaving the CI matrix pinned to 6.
RCCL build:
bash install.sh -l --rocshmem-ginfailing with error:Technical Details
deviceCodeVersionargument toncclDevrCommCreateInternalin both SDMA collectives.ncclGinState::ginTypefield with thencclGetGinType()helper.NCCL_GIN_TYPE=6to7.Issue Tracking
JIRA ID: AICOMRCCL-2385
Test Plan
Monitor RCCL cluster CI / GIN / Single node gin testing - It builds and tests both AR and A2A SDMA internal collectives
Build rccl with
bash install.sh -l --rocshmem-ginlocally and run:NCCL_GIN_TYPE=7 all_reduce_perf -R 2NCCL_GIN_TYPE=7 alltoall_perf -R 2Test Result
Submission Checklist