Commit Graph

939 Commits

Author SHA1 Message Date
Sarat Kamisetty 1719aa67be passing down NET_OPTIONAL_RECV_COMPLETION hint to n/w plugin to enable optimizations (#1752)
Co-authored-by: Sarat Kamisetty <sakamiset@amd.com>

[ROCm/rccl commit: 783c073a03]
2025-07-25 10:26:58 -05:00
Mustafa Abduljabbar b3a0cc5e96 Add optional bf16 software-triggered pipelining for reduceCopyPacks (#1758)
- Introduced double-buffering to reduce copy overhead and overlap BF16 arithmetic with data prefetching.
- Aimed to improve performance of reduction-based collectives by up to 10%.
- Implemented based on recommendations from Guennadi Riguer (AMD)
- Added --force-reduce-pipeline option to install.sh to activate this optimization for BF16 reductions.
- Feature is disabled by default to prevent regressions with large messages until auto-tuning logic is upstreamed.
---------

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

[ROCm/rccl commit: 0ce20e7e07]
2025-07-25 10:57:05 -04:00
Atul Kulkarni bd53bdf447 Added new unit tests for src/transport/shm.cc (#1689)
[ROCm/rccl commit: 1c3d1b3842]
2025-07-25 05:54:42 -05:00
Arm Patinyasakdikul 866058c6d9 Fix segfault when libibverbs returns 0 device. (#1820)
Fix: SWDEV-543816

[ROCm/rccl commit: 3c9c22bb52]
2025-07-23 15:18:52 -05:00
Wenkai Du caff9764d3 Support fused all reduce and elementwise operations (#1729)
* Support fused all reduce and elementwise operations

Add additional "acc" parameter to RCCL Replayer logs

Add flag which indicates availability of new API

* Fix Recorder json parsing

* Remove unreachable code

* Remove extra acc pointer check

* .

* Revert "[DEVICE] Adding ability to choose unroll factor at runtime (#1734)"

This reverts commit 4cadf3597c.

* Use noinline to reduce kernels linking time

* Don't use noinline for gfx942 and gfx950 to avoid perf regression

---------

Co-authored-by: AtlantaPepsi <timhu102@amd.com>
Co-authored-by: BertanDogancay <bertan.dogancay@gmail.com>

[ROCm/rccl commit: 9a4213356d]
2025-07-23 09:04:17 -07:00
alex-breslow-amd cbb648505a Cheaper threadfence for gfx942 in postPeer [1/N]: enable for single node allreduce (#1766)
Boosts single node bfloat16 allreduce performance by up to 20% for some data sizes and provides gating with the RCCL_GFX942_CHEAP_FENCE_OFF environment variable

[ROCm/rccl commit: 11fabf1de1]
2025-07-22 07:15:15 -07:00
Rahul Vaidya bd63518944 Add datatype validation for MSCCLPP AllGather (#1816)
Signed-off-by: rahulvaidya20 <ravaidya@amd.com>

[ROCm/rccl commit: c28d3d26a3]
2025-07-21 11:50:45 -05:00
Atul Kulkarni c94fb7c58e Code coverage improvements (#1665)
* Increased max stack size to 640

* Added new binary for executing unit tests

Added new unit tests for argcheck.cc and alt_rsmi.cc files

Modified the method to execute unit tests to cover static methods
by using a bash script to convert static to non-static functions
and variables on the fly restricted to debug build type.

[ROCm/rccl commit: 275fdd43c1]
2025-07-17 11:20:49 -05:00
Nilesh M Negi 2c0c02b211 [GRAPH] Match maxChannels for gfx942 CUs (#1302)
[ROCm/rccl commit: 6632183efe]
2025-07-16 09:07:02 -05:00
Wenkai Du 670966f86b Fix inline compilation issue with LL (#1806)
[ROCm/rccl commit: 106024b0db]
2025-07-15 08:39:18 -07:00
isaki001 a20e65cfc0 gfx950 updated on LL thresholds for allreduce/allgather, update treeCorrection (#1803)
* change LL thresholds for allreduce/allgather and update treeCorrectionFactor

* update allGather LL cutoff

* adjust allgather LL/LL128 thresholds

[ROCm/rccl commit: 8d0f1a1cef]
2025-07-15 09:10:19 -05:00
Wenkai Du e2ad96bb96 Disable P2P net option by default (#1793)
[ROCm/rccl commit: 708ad75f7a]
2025-07-14 08:55:39 -07:00
Bertan Dogancay d4aafe31fa [GEN] Fix typo in IFC code gen (#1796)
[ROCm/rccl commit: 7158adb57f]
2025-07-11 09:19:39 -04:00
Nilesh M Negi 41c985462c [BUILD] Use fmt-header instead of libfmt (#1791)
[ROCm/rccl commit: 6b4ad0fd74]
2025-07-10 17:19:53 -05:00
Nilesh M Negi ba31e4e846 [INIT] Fix fallback for unsupported user-specified runtime unroll factor (#1780)
* [INIT] Fix fallback for unsupported user-specified runtime unroll factor
* Add CollTrace guard
* Move `commSetUnrollFactor()` to rccl_wrap.cc
* Modify comments in the device-code generator script

[ROCm/rccl commit: 2c099fe29a]
2025-07-10 10:56:18 -05:00
Nilesh M Negi 1050eb13ac [DEVICE] Fix validation errors for multi-node LL with gfx950 non-coherent system memory (#1795)
[ROCm/rccl commit: 68d6f99e0f]
2025-07-10 09:05:46 -05:00
Mustafa Abduljabbar caeaaa284c Fix AllReduce regression due to previous max range increase for LL64/LL128 (#1787)
* Adjust tuning factor impacting more than 2 nodes
* Scale max LL128 size for > 2 nodes
* Retune max LL128 range for N > 2

[ROCm/rccl commit: 058264b3f3]
2025-07-09 19:17:10 -05:00
mberenjk 1623fcc7a1 Improving build time by removing the gfx11xx and host code from rccl_float8.h (#1789)
* removing extra build time by removing the gfx11xx arch from using hip_fp8

---------

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

[ROCm/rccl commit: 697bee4ee8]
2025-07-09 14:03:47 -05:00
Bertan Dogancay b1470b4e50 [GRAPH] Pass rank instead of busId due to a change in an internal function signature (#1792)
[ROCm/rccl commit: 9c89573580]
2025-07-08 08:45:54 -04:00
Bertan Dogancay 471fc6bff2 [DEVICE] Enable PAT algo for RCCL 1ppn (#1756)
* Enable PAT algo for RCCL 1ppn


[ROCm/rccl commit: e96c8473a1]
2025-07-04 13:45:18 -04:00
Wenkai Du e031a4a2f4 msccl: use special send for LL on gfx950 (#1788)
[ROCm/rccl commit: ae9642d4bc]
2025-07-03 04:16:18 -05:00
ryanhankins f910d25563 Adding #include <dlfcn.h> in nccl_net.h to pass build (#1786)
[ROCm/rccl commit: 9d35581d5e]
2025-07-02 19:21:53 -05:00
Wenkai Du 6db3b4cd4f Add support for extended fine grained system memory pool (#1770)
* Add support for extended fine-grained system memory pool
* Use hipHostRegisterUncached
* Add "sc0 sc1" flags for LL store on gfx950
* Update after HIP flag is changed to hipExtHostRegisterUncached

[ROCm/rccl commit: 4640ab19b3]
2025-07-01 16:38:49 -05:00
Nilesh M Negi d88d033aba [RAS] Add support for RAS client (#1748)
Enable RAS client binary `rcclras`

[ROCm/rccl commit: 8d3a5542fb]
2025-06-29 18:53:16 -05:00
isaki001 79473681e5 added tuning table for gfx950 (#1779)
* added tuning table for mi350

* remove erroneous string

[ROCm/rccl commit: 75d22b47cb]
2025-06-29 15:45:39 -05:00
Bertan Dogancay ac5dad287a Switch to linear channel mapping for 2 nodes (#1777)
[ROCm/rccl commit: 358dc1bc84]
2025-06-28 09:10:18 -05:00
Arm Patinyasakdikul c3b110f9e9 add warning if workFIFO is not available after multiple retries. (#1772)
* add warning if workFIFO is not available after multiple retries.

* Update src/enqueue.cc

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

---------

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

[ROCm/rccl commit: 265b1b3775]
2025-06-26 19:49:52 -05:00
Arm Patinyasakdikul 32e80aedc0 Update plugin to look for librccl-net.so. (#1768)
[ROCm/rccl commit: 71c788d4d7]
2025-06-26 16:59:38 -05:00
mberenjk 2c02ee0a99 changing the HIP-VERSION to 6.3 to avoid using hip_fp8 for older ROCm versions (#1764)
Co-authored-by: Marzieh Berenjkoub <mberenjk@.amd.com>

[ROCm/rccl commit: 5fb9d8f828]
2025-06-26 11:15:01 -05:00
Mustafa Abduljabbar ffb17bd9d7 Revert LL64 cutoff points based on internal tuning (#1771)
[ROCm/rccl commit: 7e2ac00980]
2025-06-26 11:59:42 -04:00
Dingming Wu d34a38ccfc Add proxyTrace (#1732)
This feature tracks the proxy events and status of each send/recv op. ProxyTrace keeps a fixed number of active ops in host mem and dumps the status of each op when the program crashes or hangs.

[ROCm/rccl commit: 020dcf0a7c]
2025-06-25 23:01:34 -05:00
Bertan Dogancay eaa770a017 [NPKit] Create dump dir regardless of default or user provided path (#1757)
[ROCm/rccl commit: 675b495a00]
2025-06-21 21:18:20 -05:00
BertanDogancay c0c9312e38 Merge remote-tracking branch 'nccl/master' into develop
[ROCm/rccl commit: aaf023976a]
2025-06-20 07:54:49 -05:00
Sarat Kamisetty e359e834f5 generic net plugin ctxt that is extensible for use in multiple APIs (#1735)
Co-authored-by: Sarat Kamisetty <sakamiset@amd.com>

[ROCm/rccl commit: fa0422f174]
2025-06-16 14:48:08 -07:00
Bertan Dogancay 9fa53cc454 [NPKit] Use default output directory when env var is not set (#1747)
[ROCm/rccl commit: 39211c6b41]
2025-06-16 15:26:53 -04:00
Tim 7051f217a7 replayer update v0 (#1733)
* First version of new replayer, with comments on future TODOs

* plus minor fixes for UT

* Updated format of recorder, especially in binary department, according to replayer's need

[ROCm/rccl commit: ba97c9c18b]
2025-06-13 15:05:34 -04:00
Richard Barnes 2c0cc20a76 Enable -Wdeprecated-copy-with-user-provided-copy (#1643)
[ROCm/rccl commit: 4486d091b8]
2025-06-13 08:23:31 -07:00
Arm Patinyasakdikul 7f7f1cede3 Added missing copyright message. (#1742)
* Added missing copyright message.

* addressed comments.

[ROCm/rccl commit: 6c37ae9470]
2025-06-12 09:58:01 -05:00
corey-derochie-amd 2e7aa3556e Deprecated MSCCL API functions (#1740)
[ROCm/rccl commit: 03fba66e71]
2025-06-11 17:52:09 -06:00
Nusrat Islam 99813a3288 msccl: adjust msccl threshold for bf16 (#1736)
* msccl: adjust msccl threshold for bf16

* Update src/collectives.cc

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

---------

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

[ROCm/rccl commit: 75c3c8215c]
2025-06-11 09:09:57 -05:00
Arm Patinyasakdikul 69f7167b74 Fixed errorneous parenthesis. (#1739)
[ROCm/rccl commit: 600ace7f19]
2025-06-11 09:08:00 -05:00
Nilesh M Negi 4cadf3597c [DEVICE] Adding ability to choose unroll factor at runtime (#1734)
* Adding runtime unroll factor selection via RCCL_UNROLL_FACTOR
* [BUILD] Add support for user-defined UNROLL for debugging
* Update CHANGELOG.md
* Fix COLLTRACE errors in CI
* Add debug statements for unroll and resolve warnings
* Incorporate UNROLL into ONLY_FUNCS for debugging

---------

Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>
Co-authored-by: gilbertlee-amd <44450918+gilbertlee-amd@users.noreply.github.com>
Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>

[ROCm/rccl commit: 9d72be7b2f]
2025-06-11 00:07:59 -05:00
Nilesh M Negi b797b62f6b [DEVICE] Use threadfence on gfx950 for LL protocol (#1686)
Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>

[ROCm/rccl commit: b926203c05]
2025-06-09 01:26:07 -05:00
Nilesh M Negi 7abc3160e7 [BUILD] Enable LL128 on gfx950 (#1731)
* [BUILD] Enable LL128 on gfx950
* Modify comment in src/rccl_wrap.cc
* Update CHANGELOG

Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>
Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

[ROCm/rccl commit: ef5b4ff630]
2025-06-09 00:25:54 -05:00
Arm Patinyasakdikul f65777536f Remove 'warpSize' compiler constant as it is deprecated in ROCm 7.0. (#1720)
* Remove 'warpSize' compiler constant as it is deprecated in ROCm 7.0.

* Create ncclShmemScratchWarpSize on host side for enqueue.cc.

* Update src/enqueue.cc

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

* address comments

* fix number of threads

---------

Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com>

[ROCm/rccl commit: ec6efa9b26]
2025-06-06 07:34:43 -05:00
Arm Patinyasakdikul 8dd9747504 Increase default WORK_FIFO size to accommodate larger alltoall. (#1722)
[ROCm/rccl commit: d5b5f6b159]
2025-06-05 09:02:45 -05:00
Pedram Alizadeh 1ace5d05ed Reapplying PR #1641 [AG and RS channel tuning] Add thread work threshold to tuning models and precompute reg index in LL128 (#1713)
* Reapply "[AG and RS channel tuning] Add thread work threshold to tuning models and precompute reg index in LL128 (#1641)"

This reverts commit 943ad6f7820739385a0b54e81f823d0df1dbf71c.

* Decreasing NCCL_LL128_SHMEM_ELEMS_PER_THREAD from 16 to 8

[ROCm/rccl commit: 3f7c08648f]
2025-06-04 13:22:11 -04:00
Avinash a50ff2c3d3 SPLITCOMM design fix in src/misc/msccl (#1715)
* Fix TOC-TOU in mcclInit

* Improving vector resize thread safety

* Initial commit rank to comm change

* Removing unwanted include header changes

* Updated CHANGELOG.md

* Update CHANGELOG.md

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

---------

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

[ROCm/rccl commit: e94b360246]
2025-06-01 21:00:38 -05:00
alex-breslow-amd 4277b5aa88 Use One Slice per Basic Primitive for AllReduce, ReduceScatter, AllGather (#1681) for Single Node on Some GFX9 Systems
Using a single slice rather than the typical two provides about 5% speedup (sometimes more or less) on some GFX9 systems for single node.

[ROCm/rccl commit: 2f6b20c00a]
2025-05-29 16:17:35 -07:00
Nilesh M Negi 19ed482121 Re-apply unroll=1 and 112 channels for gfx950 (#1706)
* Reapply "[SRC] Enable unroll=1 for gfx950 (#1602)" (#1667)
This reverts commit a6972c0d09.

* Reapply "[GRAPH] Increase default nChannels to 112 for gfx950 (#1596)" (#1620)
This reverts commit 1a2eca1756.

[ROCm/rccl commit: 12517a957e]
2025-05-28 14:58:10 -05:00