1071 Commits

Author SHA1 Message Date
Dingming Wu 23870ceccd Fail the job if flag HIP_HOST_UNCACHED_MEMORY is not set on MI350x (#2023)
* Fail the job if compiler flag HIP_HOST_UNCACHED_MEMORY is not turned on on mi350x
Place the check after initTransportsRank as the GPU arch info in comm->topo->nodes info is populated after that.

* Update src/init.cc to use ERROR instead of WARN
Co-authored-by: Nilesh M Negi <Nilesh.Negi@amd.com>

[ROCm/rccl commit: 05f914c997]
2025-11-10 11:54:35 -06:00
Dingming Wu c601f9b3f8 Increment opCount for intra-node comms as well (#2024)
* Enhance logging in NCCL initialization
It's convenient to log comms obj and default channels together for debugging

* Add opCount to collDevWork and update increment logic
Added opCount to collDevWork and incremented it when proxyOpQueue is empty (e.g., for intra-node comms)

* Clarify opCount increment logic in enqueue.cc
Updated comment to clarify incrementing opCount for intranode communications.

* Refactor NCCL_INIT logging format
Updated logging format for NCCL_INIT to improve clarity.

* Remove duplicate INFO logging in init.cc

[ROCm/rccl commit: b00ee4c83c]
2025-11-10 11:23:49 -06:00
Bertan Dogancay b955a7df40 [GEN/BUILD] Refactor generator script and reduce build time for old archs. (#2030)
[ROCm/rccl commit: b1e680adc0]
2025-11-07 15:15:25 -05:00
Bertan Dogancay 524453baea [Launch] Enable Implicit order launch with serial mode (#2033)
[ROCm/rccl commit: a9bb7e9807]
2025-11-07 13:29:53 -05:00
Ghadeer Ahmed H Alabandi 5b66480595 [NET] Enable capping the number of QPs created for send/recv colls (#1998)
[ROCm/rccl commit: 45991fadad]
2025-11-07 00:47:01 +00:00
alex-breslow-amd bd614458c3 [gfx950] Turn On Single Node One Slice Optimization for gfx950 and MI300A (#2017)
* Internal benchmarking shows nice single-node performance uplift for MI300A and MI350

[ROCm/rccl commit: 56e0b4e445]
2025-11-06 12:12:45 -08:00
Arm Patinyasakdikul 25005c1cce proxy: handle progressOps return code properly. (#2029)
[ROCm/rccl commit: d6a53d2022]
2025-11-04 09:09:50 -06:00
nawrinsu 6d22ce9b1a Fix protocol and channel override when tuner is used (#1985)
* Fix protocol and channel override when tuner is used

* Added comment

* Fix README for basic tuner implementation

[ROCm/rccl commit: 166268d715]
2025-11-03 13:56:34 -08:00
Nilesh M Negi dd625edf56 Revert "[GEN/BUILD] Refactor generate.py and reduce build time for older archs (#2006)" (#2021)
This reverts commit 40f3faead0.

[ROCm/rccl commit: 62ab7a22d7]
2025-10-31 10:04:12 -05:00
David DeBonis 3e750f0f57 Single-node AllGather and ReduceScatter Optimization (#2019)
* Single-node performance tuning

* Normalizing value to individual rank

[ROCm/rccl commit: 63d5846452]
2025-10-31 08:59:46 -06:00
Arm Patinyasakdikul 54194a17c3 Added ERROR message class to handle fatal error messages. (#2002)
* Added ERROR message class to handle fatal error messages.

New ERROR message class will print the message in all debug level,
including none.

Change some of the fatal error message to be in ERROR instead of WARN.

Added new error handler function to print out more meaningful error
message in the future.

* Added CHANGELOG entry.

* Update CHANGELOG.md

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

* Change to no longer reuse NONE as ERROR. ERROR is now a separated class.

* Update CHANGELOG.md

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

---------

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

[ROCm/rccl commit: 1ce83d5cc0]
2025-10-30 16:14:20 -05:00
Arm Patinyasakdikul 03e92dc942 Added copyrights for Palamida scan 7.2. (#2018)
[ROCm/rccl commit: 84fdcab68a]
2025-10-30 13:33:20 -05:00
isaki001 9bccbcd619 P2p batching hang-fix (#2011)
* prevent batching when send/recv bytes dont match, restore bit reversal for channel to part mapping, prevent batching beyond 32-nodes

* correct computation for channel to part mapping

* update changelog

* disabling p2p-batching by default

[ROCm/rccl commit: 641c0eb51c]
2025-10-30 13:32:01 -05:00
isaki001 678366f5e2 gx950 multi-node tuning for LL/LL128 (#1953)
* increased LL threshold for gfx950 AR to 256KB

* AG/RS proto threshold update

[ROCm/rccl commit: 72996e4d9f]
2025-10-30 12:08:12 -05:00
Bertan Dogancay 40f3faead0 [GEN/BUILD] Refactor generate.py and reduce build time for older archs (#2006)
[ROCm/rccl commit: bed7cdf863]
2025-10-30 11:45:53 -04:00
Nilesh M Negi 03d37f6305 Fix gfx950 gating conditions to match ROCm 7.0.2 (#2003)
[ROCm/rccl commit: 8444b3c6e9]
2025-10-29 23:27:04 -05:00
Mustafa Abduljabbar eb0b1387b7 [Device] Adjust threadblock size for gfx950 to increase LL64/Simple performance for AR, RS and AG (#1978)
* Add initial commit to increase tb size to 512
* Fix LL perf issue when subset of NCCL_MAX_NTHREADS is used
Adding a constant to barrier_generic logic from using fallback logic when nthreads < NCCL_MAX_NTHREADS and nthreads == blockDim.X
* Adjust nthreads for LL
* Opt threads for reduce_scatter upper small range
* Add macro for single node
* Restrict MSCCL to 256 threads to prevent mem access fault
* Support pre-MI350 compatibility
* Partially refactor threadblock size override
* Use const macros instead of numerals
* opt out of unused function

[ROCm/rccl commit: 12f51ba8bf]
2025-10-29 23:24:32 -05:00
alex-breslow-amd f7405b8739 Remove nontemporality from stores, put in casts to global address space (#1982)
* Implements casting key loads and stores to address_space(1) so that vector global load and store instructions are emitted by the compiler instead of more costly flat loads and stores
* Removes nontemporality from some key stores for gfx950.

[ROCm/rccl commit: e69b11eba5]
2025-10-28 10:34:48 -07:00
mberenjk 96c62b091d Add support for additional paths in RCCL DMABUF kernel configuration loading (#1825)
* Adding more path to the kernel load and an environment variable to force enable DMABUF

---------

Co-authored-by: Marzieh Berenjkoub <mberenjk@amd.com>

[ROCm/rccl commit: b58f234539]
2025-10-20 13:35:22 -07:00
Nilesh M Negi 0aa56fb0a5 Fix ncclDevFuncId for AllReduceWithBias (#1980)
[ROCm/rccl commit: c35bc721ad]
2025-10-17 09:28:57 -05:00
Arm Patinyasakdikul fca120343f Disable graph mode memory registration and UBR as unsupported feature. (#1977)
[ROCm/rccl commit: 58eca5d7f8]
2025-10-17 09:18:39 -05:00
Rahul Vaidya 307f787244 [Profiler plugin] Fix segfault issue with profiler plugin (#1973)
* Fix profiler plugin segfault by correctly setting p2p->func

* Look for librccl-profiler.so instead of libnccl-profiler.so

Signed-off-by: rahulvaidya20 <ravaidya@amd.com>

---------

Signed-off-by: rahulvaidya20 <ravaidya@amd.com>
Co-authored-by: Yongjie Qiu <Yongjie.Qiu@amd.com>

[ROCm/rccl commit: 624f68b2b2]
2025-10-16 16:33:18 -05:00
alex-breslow-amd a5256e6219 MSCCL: Unland PR1788 + Fix for MSCCL Data Corruption (#1960)
- Earlier fix PR1788 is no longer necessary after ROCr fix and pre-ROCr fix workaround
- Inserts an s_waitcnt vmcnt(0), which fixes a data corruption issue in MSCCL

[ROCm/rccl commit: 154350baaf]
2025-10-15 10:32:25 -07:00
gilbertlee-amd bb85692891 Enabling gdrcopy option for gfx950 (#1955)
[ROCm/rccl commit: fedddb452c]
2025-10-15 10:55:25 -06:00
alex-breslow-amd 455d516dc4 [gfx950] Make bypassing __threadfence the default for multinode. (#1947)
* Gate based on ROCM version, safe for ROCm 7.0.2 and beyond.
* Updates naming to gfx9CheapFenceOff since we use this for gfx942 and gfx950.  Thanks Nilesh.
* Add info logging statement to NCCL_INIT to print whether enabled when INFO logging is enabled.

[ROCm/rccl commit: c70f5b4621]
2025-10-15 09:15:36 -07:00
isaki001 6d151d4e21 gfx950 channel tuning for ReduceScatter and AllGather (#1940)
* add channel thresholds to override channel-count adjustments

[ROCm/rccl commit: 0f99fd84a3]
2025-10-14 09:50:44 -05:00
mberenjk 433251272b fixing the ar_with_bias test issue when running rccl-tests (#1912)
* fixing the AR_With_Bias issue when running rccl-tests

[ROCm/rccl commit: e738c03e39]
2025-10-13 13:58:21 -07:00
Arm Patinyasakdikul 0407f294e9 Fix unroll factor display bug. (#1969)
[ROCm/rccl commit: ff75860d73]
2025-10-10 15:35:06 -05:00
Surya Periaswamy 014fae1b51 MSCCL++ fix split path null deref (#1959)
* Add speriaswamy-amd to CODEOWNERS
* MSCCL++: fix split path null deref; key maps by parent ncclUniqueId
* removed no-op

[ROCm/rccl commit: 5bd5079de1]
2025-10-09 14:08:38 -05:00
Rahul Vaidya 8e5016ebfd Fix LL128 proto selection to respect user setting (#1822)
[ROCm/rccl commit: 6b200ee6c5]
2025-10-09 14:08:03 -05:00
Nusrat Islam d6d5fac152 Update direct AG and single node LL threshold (#1944)
* update AG direct and single node LL threshold

* update thresholds based on MI350 expeirmental results

* disable using LL for direct AG

* enable direct AG for lower GPU counts

* direct AG single node tuning

* fix in-place buffer allocation for AG unit test

* whitespace fix

* gate direct AG for gfx950 and gfx942

---------

Co-authored-by: Nusrat Islam <nusislam@nova-login-gtu2.prov.gtu.zts.cpe.ice.amd.com>

[ROCm/rccl commit: d22a39e954]
2025-10-09 10:48:50 -05:00
Artem Kuzmitckii 0c7e116b31 Reverse logic of context tracking enablement from #1927 (#1971)
In this commit it disabled by default and can be enabled via
`RCCL_ENABLE_CONTEXT_TRACKING=1` for both (CDNA, RDNA)
Original PR https://github.com/ROCm/rccl/pull/1927

[ROCm/rccl commit: 00a42c80f3]
2025-10-09 10:24:09 +02:00
BertanDogancay 2a4e4308b0 Merge remote-tracking branch 'nccl/master' into develop
[ROCm/rccl commit: 3f94267f21]
2025-10-06 18:36:49 -04:00
Nilesh M Negi 6ade586fdc Revert "changes for hugepages backed host buffer for larger allocations (#1841)" (#1951)
This reverts commit 3169352cad.

[ROCm/rccl commit: 342ec086e3]
2025-10-02 23:43:09 -05:00
amd-jiali 917973d9e9 Print out the hipRuntimeVersion message from WARN to always show up (#1911)
Authored-by: Jiali Li <jialili@amd.com>


[ROCm/rccl commit: 5978d2f9ab]
2025-10-02 11:32:32 -05:00
Bhuvan Mital 3169352cad changes for hugepages backed host buffer for larger allocations (#1841)
[ROCm/rccl commit: 65b69bf318]
2025-09-28 00:40:22 -05:00
Artem Kuzmitckii 722b0cd579 Revert disabling of context tracking for Radeon (#1927)
* Revert disabling of context tracking for Radeon

Original commit df3b7e47
 `Disable context tracking for the current version. (#1839)`

* Add env variable for disabling of context tracking for Radeon

`export NCCL_DISABLE_CONTEXT_TRACKING=1` to force disable of context tracking

* Update docs/how-to/rccl-usage-tips.rst

Fix grammar, thanks @amd-jnovotny

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

* Rename NCCL_DISABLE_CONTEXT_TRACKING -> RCCL_DISABLE_CONTEXT_TRACKING

* Revert changes in includes and rename util function

---------

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

[ROCm/rccl commit: 07925ec027]
2025-09-27 15:19:50 -04:00
alex-breslow-amd 6423f5b024 Gate code by rocm_version (#1945)
[ROCm/rccl commit: 45166f6586]
2025-09-26 13:28:41 -07:00
Mustafa Abduljabbar 22a24cc61a Fix extra token typo (#1943)
[ROCm/rccl commit: 0dd2b2f65e]
2025-09-26 11:18:43 -04:00
Mustafa Abduljabbar d646b0e49b Expose symbols for RCCL algo/proto/channels selection functions (#1923)
* Unhide symbols for algo/proto functions

* Add all_gather direct usage detection

[ROCm/rccl commit: 7a329bbd94]
2025-09-25 18:58:30 -04:00
Larry Meadows a8bf65a298 - LL Protocol: Add missing fences for gfx950, this fixes the hang issue (#1932)
- Remove asm flat_store_dwordx4, not needed

[ROCm/rccl commit: cb14fccdcc]
2025-09-25 14:07:07 -07:00
corey-derochie-amd c6fccec835 Moved new functions to the bottom of the function table to maintain backward compatibility (#1931)
* Moved new functions to the bottom of the function table to maintain backward compatibility

* Added ordering fixes to api_trace.cc

[ROCm/rccl commit: d86cf78810]
2025-09-23 13:30:27 -06:00
Mustafa Abduljabbar a075779dcd Use batched P2P to enhance alltoall small message performance (#1902)
* Batch P2P operations (2 per CU/channel) and update channel-part mapping

- Revert bitreversal and fix channel mapping to be compatible with P2P batching and avoid hangs

- P2P batching is only used for more than 2 nodes to avoid aggregating intra-node traffic when it is dominant for less than 2 nodes

* Address single node regression and channel per net peer

* Add batching threshold

* Add enable switch for batching

* Update CHANGELOG.md

* Add minor comment change

* Update CHANGELOG.md

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

* Update CHANGELOG.md

Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

[ROCm/rccl commit: c1e1f2faeb]
2025-09-22 16:25:10 -04:00
corey-derochie-amd 375a2a009b Added an implementation of ncclSymGetKernelPtr for when GENERATE_SYM_KERNELS is not defined, as it is normally generated code. (#1925)
[ROCm/rccl commit: 9b04b2a42f]
2025-09-19 07:52:33 -06:00
corey-derochie-amd ebcc75f118 Moved latency_profiler license into subdirs and updated NOTICES. (#1918)
[ROCm/rccl commit: ed095cad35]
2025-09-18 12:54:39 -06:00
Venkateshwar Reddy Kandula 1a0657f347 due nccl api sync update RCCL_API_TRACE_VERSION_PATCH to 2 (#1916)
[ROCm/rccl commit: 0cc896910e]
2025-09-18 07:36:50 -06:00
Nilesh M Negi d354caecb9 [INIT] Use rocm-smi API instead of CLI for querying FW version (#1920)
[ROCm/rccl commit: da06c69cb8]
2025-09-17 19:17:19 -05:00
Karthik Ganesan 8f4703c0cc Update prims_simple.h to keep header file access to rccl_metadata.h uniform (#1906)
Header files in device/ folder are directly referenced in the code base except here.

[ROCm/rccl commit: 740dfd1efd]
2025-09-16 08:58:50 -05:00
Bertan Dogancay 546b37e35a [BUILD] Stop generating sym kernels by default (#1907)
* Stop generating sym kernels by default

[ROCm/rccl commit: 93d86dd8e3]
2025-09-15 12:19:35 -04:00
mberenjk 84833f8472 disabling msccl for fp8 datatype (#1888)
* disabling msccl for fp8 datatype

---------
Co-authored-by: Marzieh Berenjkoub <mberenjk@amd.com>

[ROCm/rccl commit: ada4e12360]
2025-09-11 13:09:34 -05:00