Sarat Kamisetty
783c073a03
passing down NET_OPTIONAL_RECV_COMPLETION hint to n/w plugin to enable optimizations ( #1752 )
...
Co-authored-by: Sarat Kamisetty <sakamiset@amd.com >
2025-07-25 10:26:58 -05:00
Mustafa Abduljabbar
0ce20e7e07
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 >
2025-07-25 10:57:05 -04:00
Atul Kulkarni
1c3d1b3842
Added new unit tests for src/transport/shm.cc ( #1689 )
2025-07-25 05:54:42 -05:00
Arm Patinyasakdikul
3c9c22bb52
Fix segfault when libibverbs returns 0 device. ( #1820 )
...
Fix: SWDEV-543816
2025-07-23 15:18:52 -05:00
Wenkai Du
9a4213356d
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 9d72be7b2f .
* 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 >
2025-07-23 09:04:17 -07:00
alex-breslow-amd
11fabf1de1
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
2025-07-22 07:15:15 -07:00
Rahul Vaidya
c28d3d26a3
Add datatype validation for MSCCLPP AllGather ( #1816 )
...
Signed-off-by: rahulvaidya20 <ravaidya@amd.com >
2025-07-21 11:50:45 -05:00
Atul Kulkarni
275fdd43c1
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.
2025-07-17 11:20:49 -05:00
Nilesh M Negi
6632183efe
[GRAPH] Match maxChannels for gfx942 CUs ( #1302 )
2025-07-16 09:07:02 -05:00
Wenkai Du
106024b0db
Fix inline compilation issue with LL ( #1806 )
2025-07-15 08:39:18 -07:00
isaki001
8d0f1a1cef
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
2025-07-15 09:10:19 -05:00
Wenkai Du
708ad75f7a
Disable P2P net option by default ( #1793 )
2025-07-14 08:55:39 -07:00
Bertan Dogancay
7158adb57f
[GEN] Fix typo in IFC code gen ( #1796 )
2025-07-11 09:19:39 -04:00
Nilesh M Negi
6b4ad0fd74
[BUILD] Use fmt-header instead of libfmt ( #1791 )
2025-07-10 17:19:53 -05:00
Nilesh M Negi
2c099fe29a
[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
2025-07-10 10:56:18 -05:00
Nilesh M Negi
68d6f99e0f
[DEVICE] Fix validation errors for multi-node LL with gfx950 non-coherent system memory ( #1795 )
2025-07-10 09:05:46 -05:00
Mustafa Abduljabbar
058264b3f3
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
2025-07-09 19:17:10 -05:00
mberenjk
697bee4ee8
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 >
2025-07-09 14:03:47 -05:00
Bertan Dogancay
9c89573580
[GRAPH] Pass rank instead of busId due to a change in an internal function signature ( #1792 )
2025-07-08 08:45:54 -04:00
Bertan Dogancay
e96c8473a1
[DEVICE] Enable PAT algo for RCCL 1ppn ( #1756 )
...
* Enable PAT algo for RCCL 1ppn
2025-07-04 13:45:18 -04:00
Wenkai Du
ae9642d4bc
msccl: use special send for LL on gfx950 ( #1788 )
2025-07-03 04:16:18 -05:00
ryanhankins
9d35581d5e
Adding #include <dlfcn.h> in nccl_net.h to pass build ( #1786 )
2025-07-02 19:21:53 -05:00
Wenkai Du
4640ab19b3
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
2025-07-01 16:38:49 -05:00
Nilesh M Negi
8d3a5542fb
[RAS] Add support for RAS client ( #1748 )
...
Enable RAS client binary `rcclras`
2025-06-29 18:53:16 -05:00
isaki001
75d22b47cb
added tuning table for gfx950 ( #1779 )
...
* added tuning table for mi350
* remove erroneous string
2025-06-29 15:45:39 -05:00
Bertan Dogancay
358dc1bc84
Switch to linear channel mapping for 2 nodes ( #1777 )
2025-06-28 09:10:18 -05:00
Arm Patinyasakdikul
265b1b3775
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 >
2025-06-26 19:49:52 -05:00
Arm Patinyasakdikul
71c788d4d7
Update plugin to look for librccl-net.so. ( #1768 )
2025-06-26 16:59:38 -05:00
mberenjk
5fb9d8f828
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>
2025-06-26 11:15:01 -05:00
Mustafa Abduljabbar
7e2ac00980
Revert LL64 cutoff points based on internal tuning ( #1771 )
2025-06-26 11:59:42 -04:00
Dingming Wu
020dcf0a7c
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.
2025-06-25 23:01:34 -05:00
Bertan Dogancay
675b495a00
[NPKit] Create dump dir regardless of default or user provided path ( #1757 )
2025-06-21 21:18:20 -05:00
BertanDogancay
aaf023976a
Merge remote-tracking branch 'nccl/master' into develop
2025-06-20 07:54:49 -05:00
Sarat Kamisetty
fa0422f174
generic net plugin ctxt that is extensible for use in multiple APIs ( #1735 )
...
Co-authored-by: Sarat Kamisetty <sakamiset@amd.com >
2025-06-16 14:48:08 -07:00
Bertan Dogancay
39211c6b41
[NPKit] Use default output directory when env var is not set ( #1747 )
2025-06-16 15:26:53 -04:00
Tim
ba97c9c18b
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
2025-06-13 15:05:34 -04:00
Richard Barnes
4486d091b8
Enable -Wdeprecated-copy-with-user-provided-copy ( #1643 )
2025-06-13 08:23:31 -07:00
Arm Patinyasakdikul
6c37ae9470
Added missing copyright message. ( #1742 )
...
* Added missing copyright message.
* addressed comments.
2025-06-12 09:58:01 -05:00
corey-derochie-amd
03fba66e71
Deprecated MSCCL API functions ( #1740 )
2025-06-11 17:52:09 -06:00
Nusrat Islam
75c3c8215c
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 >
2025-06-11 09:09:57 -05:00
Arm Patinyasakdikul
600ace7f19
Fixed errorneous parenthesis. ( #1739 )
2025-06-11 09:08:00 -05:00
Nilesh M Negi
9d72be7b2f
[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 >
2025-06-11 00:07:59 -05:00
Nilesh M Negi
b926203c05
[DEVICE] Use threadfence on gfx950 for LL protocol ( #1686 )
...
Signed-off-by: nileshnegi <Nilesh.Negi@amd.com >
2025-06-09 01:26:07 -05:00
Nilesh M Negi
ef5b4ff630
[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 >
2025-06-09 00:25:54 -05:00
Arm Patinyasakdikul
ec6efa9b26
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 >
2025-06-06 07:34:43 -05:00
Arm Patinyasakdikul
d5b5f6b159
Increase default WORK_FIFO size to accommodate larger alltoall. ( #1722 )
2025-06-05 09:02:45 -05:00
Pedram Alizadeh
3f7c08648f
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
2025-06-04 13:22:11 -04:00
Avinash
e94b360246
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 >
2025-06-01 21:00:38 -05:00
alex-breslow-amd
2f6b20c00a
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.
2025-05-29 16:17:35 -07:00
Nilesh M Negi
12517a957e
Re-apply unroll=1 and 112 channels for gfx950 ( #1706 )
...
* Reapply "[SRC] Enable unroll=1 for gfx950 (#1602 )" (#1667 )
This reverts commit 329e13efff .
* Reapply "[GRAPH] Increase default nChannels to 112 for gfx950 (#1596 )" (#1620 )
This reverts commit b17338d164 .
2025-05-28 14:58:10 -05:00