Bertan Dogancay
ae0bdad45c
IFC mix build ( #998 )
...
[ROCm/rccl commit: 7c0f49a878 ]
2023-12-02 18:49:52 -07:00
Wenkai Du
b38b7fa3a2
Increase max channles to 64 ( #993 )
...
[ROCm/rccl commit: 4ba65d1d6a ]
2023-12-01 16:01:11 -08:00
akolliasAMD
bd982864d5
recreated pr 914 to work with current develop branch ( #979 )
...
[ROCm/rccl commit: 56ce9ef05f ]
2023-11-28 16:33:47 -07:00
Wenkai Du
4c2fa05a23
msccl: allocate scratch as ext-scope fine-grained ( #968 )
...
[ROCm/rccl commit: 569d3f7d59 ]
2023-11-16 09:57:25 -06:00
Ziyue Yang
2c6eededec
Optimize MSCCL reduce primitive switching for gfx942 ( #962 )
...
* Optimize reduce primitive switching for gfx942
* address comment
[ROCm/rccl commit: df128879a6 ]
2023-11-15 08:18:44 -08:00
Wenkai Du
534af85d0f
msccl: enable basic collective trace ( #959 )
...
To avoid increasing number of kernels, colltrace is only enabled with
RCCL_MSCCL_FORCE_FULLOPS=1
[ROCm/rccl commit: 5a800e00cd ]
2023-11-08 20:14:28 -08:00
Wen-Heng (Jack) Chung
270aa41f6b
Use send instead of sendWithBarrier. ( #727 )
...
[ROCm/rccl commit: efc42d9045 ]
2023-11-07 13:47:24 -06:00
Nusrat Islam
83a36c65c1
Merge pull request #950 from nusislam/msccl-red2
...
msccl: remove cases from numReduction switch statement
[ROCm/rccl commit: 022735d208 ]
2023-11-04 02:48:03 -05:00
Wenkai Du
aa02d2b675
Use parallel init of LDS and adjust P2P channels for gfx94x ( #943 )
...
* Use parallel init of LDS and adjust P2P channels for gfx94x
* Move another init to parallel
* Fix NCCL_NCHANNELS_PER_PEER setting
[ROCm/rccl commit: dbcba2923b ]
2023-11-03 16:06:49 -07:00
Nusrat Islam
b6f47bad7c
msccl: remove cases from numReduction switch statement
...
[ROCm/rccl commit: f545b94d4b ]
2023-11-03 16:56:51 -05:00
Wenkai Du
1557a1f258
msccl: use 32-bit LDS access and add RCCL_MSCCL_FORCE_FULLOPS ( #953 )
...
[ROCm/rccl commit: bb84345943 ]
2023-11-03 10:38:02 -07:00
Wenkai Du
297023a7a6
msccl: add templated kernel ( #945 )
...
* msccl: add templated kernel
* Use defines to improve code readability
* Fix kernel indexing and review feedback
[ROCm/rccl commit: f484ff17b9 ]
2023-11-02 17:21:53 -07:00
Nusrat Islam
88c8bb1495
msccl: remove dereference of reduce args
...
It can be removed because the msccl kernel will never execute this code
according to the current msccl setup.
[ROCm/rccl commit: 6b80a0d0d4 ]
2023-11-02 13:20:00 -05:00
Wenkai Du
3eeaea3f00
msccl: use atomic to set dependency flags ( #941 )
...
[ROCm/rccl commit: a7400218a2 ]
2023-10-31 14:46:57 -07:00
Wenkai Du
b736b506c0
NPkit: misc fixes for MSCCL ( #936 )
...
* msccl: add xcc_id to timestamp sync
* NPKit: add timestamp for rrc operator
* NPKit: add timestamp for MSCCL init
[ROCm/rccl commit: a497722894 ]
2023-10-30 10:00:12 -07:00
Wenkai Du
6f0f614d0b
Remove LDS based software barriers from MSCCL ( #923 )
...
[ROCm/rccl commit: dbb5611a3a ]
2023-10-19 16:39:41 -05:00
Wenkai Du
e0cc7de446
NPKit: add xcc_id field ( #918 )
...
[ROCm/rccl commit: 39812ce757 ]
2023-10-13 15:24:59 -07:00
Wen-Heng (Jack) Chung
dfa0d98f9e
Change MSCCL kernel signature to allow kernel arguments be preloaded via SGPR ( #911 )
...
* Adding a script that will download/compile/run TransferBench/RCCL/UCX/RCCL-tests/RCCL-Unittests/hip-mpi-testsuite (#895 )
Co-authored-by: Pedram Alizadeh <pmohamma@banff-pla-r27-05.pla.dcgpu >
* Only build gfx941
* demo
* fine tune malloc
* Fix merge errors
* Fix merge errors
* Disable parallel build
* Adopt --amdgpu-kernarg-preload-count
* Revert "Adding a script that will download/compile/run TransferBench/RCCL/UCX/RCCL-tests/RCCL-Unittests/hip-mpi-testsuite (#895 )"
This reverts commit f5e252dddf02a41b4d1bc512f306f45f97166304.
* Revert CMake changes.
* NPKIT changes.
* Remove some license declarations.
* Address code review feedbacks on msccl_kernel_impl.h
* Update CMakeLists.txt
* Add CMake logic to check the existence of --amdgpu-kernarg-preload-count
* Fix NPKIT trace logic.
---------
Co-authored-by: Pedram Alizadeh <pmohamma@amd.com >
Co-authored-by: Pedram Alizadeh <pmohamma@banff-pla-r27-05.pla.dcgpu >
Co-authored-by: Ziyue Yang <ziyyang@microsoft.com >
[ROCm/rccl commit: 7ee5c1c28b ]
2023-10-12 20:17:08 -05:00
Wenkai Du
3cc41809dd
Reduce NPKit latency overhead in MSCCL kernel ( #893 )
...
* Reduce NPKit latency overhead in MSCCL kernel
* Fix build error without NPKit enable
[ROCm/rccl commit: 26e982d913 ]
2023-09-15 13:28:26 -07:00
Andy li
43a9fd00ee
enable hip graph on multi-node ( #884 )
...
* initial checkin
* enable msccl when hip graph is on
* remove the commented out code of msccl enable check
* clean up the code
* remove the msccl HighestTransportType check logic
[ROCm/rccl commit: e1dc4d5e42 ]
2023-09-11 15:30:04 -07:00
Nusrat Islam
ffbfe43500
msccl: add NPKIT profiling for MSCCL send-recv
...
[ROCm/rccl commit: a283f55f12 ]
2023-09-08 13:11:16 -05:00
Pedram Alizadeh
b4f96a23e6
optimizing COLL_UNROLL for MI100 machines ( #863 )
...
[ROCm/rccl commit: e7f27c66e0 ]
2023-08-29 12:49:06 -04:00
Wenkai Du
5983f0e371
Use relaxed atomics for LL on GFX11 ( #859 )
...
[ROCm/rccl commit: 6a0a6a37d9 ]
2023-08-21 16:28:39 -07:00
Wenkai Du
6fdb4103b7
gfx11: don't use LL for sendrecv ( #853 )
...
* gfx11: don't use LL for sendrecv
* Use builtin instead of inline asm
[ROCm/rccl commit: f70e3e569b ]
2023-08-17 08:50:51 -07:00
Ziyue Yang
18811f6159
NPKit update ( #844 )
...
* NPKit update
1. Enable NPKit for MSCCL kernels
2. Fix NPKit context index calculation for sendrecv kernels
* Update build script for npkit
[ROCm/rccl commit: d33a70e620 ]
2023-08-08 17:30:40 -07:00
Wenkai Du
c328294820
gfx11xx: disable LL protocol to workaround mtype issue ( #840 )
...
[ROCm/rccl commit: 8e58b65873 ]
2023-08-04 07:53:07 -07:00
Wenkai Du
c419755576
Fix merge error and replace inline asm ( #838 )
...
[ROCm/rccl commit: 60efe26549 ]
2023-08-03 13:46:40 -07:00
Wenkai Du
c0729f28c8
Improve collective trace ( #835 )
...
[ROCm/rccl commit: c8085eb704 ]
2023-08-03 07:16:12 -07:00
Wenkai Du
b0255eb9fb
Revert "Enable Ll128 on gfx90a ( #823 )" ( #829 )
...
This reverts commit d80fba94e9 .
Also increase number of parallel jobs for linking
[ROCm/rccl commit: 3db371c9a5 ]
2023-07-27 20:25:18 -07:00
Wenkai Du
d80fba94e9
Enable Ll128 on gfx90a ( #823 )
...
[ROCm/rccl commit: 420f8af6a0 ]
2023-07-26 11:44:15 -07:00
Wenkai Du
c64fd04c11
Replace atomicExch with __atomic_store_n ( #818 )
...
* Replace atomicExch with __atomic_store_n
* Remove extra semicolon
[ROCm/rccl commit: 4d20b4b758 ]
2023-07-25 11:15:21 -07:00
Nusrat Islam
435a055c97
Merge pull request #810 from nusislam/tune-send-recv
...
device: fine-tune RCCL send-recv on MI250/MI200
[ROCm/rccl commit: 47f754e6f5 ]
2023-07-25 10:18:12 -05:00
Wenkai Du
dfda1d6fab
Enable gfx94x ( #808 ) ( #816 )
...
(cherry picked from commit 94da229a7788d74685d1591a4e75a8341de64f41)
[ROCm/rccl commit: a7fcd58a97 ]
2023-07-21 07:31:27 -07:00
Nusrat Islam
c02f5de7e7
device: fine-tune RCCL send-recv
...
[ROCm/rccl commit: b2a0a0bd3a ]
2023-07-17 21:45:52 -05:00
Nusrat Islam
aa8a5f3b2a
device: fine tune MI200/MI250 simple protocol performance
...
With Simple protocol, unroll factor of 4 offers better
performance for most of the collectives (on MI200. MI250, and
MI300) except large message allreduce with Ring algorithm
on MI250 and MI200). This PR changes the default unroll factor
to 4 while adding fine tuning for reduction operations.
[ROCm/rccl commit: 58e53dfd37 ]
2023-07-08 20:21:18 -05:00
Wenkai Du
9b2475ef06
Merge pull request #782 from ROCmSoftwarePlatform/2.18.3
...
Sync up with NCCL 2.18.3
[ROCm/rccl commit: ce6a2ffac8 ]
2023-06-29 15:04:16 -07:00
akolliasAMD
e1ac484d4e
added npkit support into the all_gather run ring algorithm ( #790 )
...
[ROCm/rccl commit: 9bba4a2f2a ]
2023-06-29 13:59:54 -06:00
Wenkai Du
f98715baea
Merge remote-tracking branch 'nccl/master' into develop
...
[ROCm/rccl commit: abd0615351 ]
2023-06-26 22:51:56 +00:00
Bertan Dogancay
d411d52b19
Disable Colltrace for --fast option ( #778 )
...
* Disable Colltrace for --fast option
* Limit nprocs for CI
[ROCm/rccl commit: 0c77c66221 ]
2023-06-21 14:16:09 -06:00
gilbertlee-amd
f6785b57c8
Switching to using atomicAdd_system within kernel for collective trace ( #780 )
...
[ROCm/rccl commit: 52a28ff2fc ]
2023-06-20 17:49:52 -06:00
Nusrat Islam
7ea099612f
device: use unroll factor based on platforms
...
[ROCm/rccl commit: 3a741787bf ]
2023-06-14 13:36:15 -05:00
Bertan Dogancay
1ae071944e
improve compilation time and create timetrace plot ( #773 )
...
* improve compilation time and create time-trace plot
* set default value for nproc
[ROCm/rccl commit: f35777e9b0 ]
2023-06-14 09:17:51 -06:00
Sylvain Jeaugey
2dc2c86ec1
2.18.3-1
...
Fix data corruption with Tree/LL128 on systems with 1GPU:1NIC.
Fix hang with Collnet on bfloat16 on systems with less than one NIC
per GPU.
Fix long initialization time.
Fix data corruption with Collnet when mixing multi-process and
multi-GPU per process.
Fix crash when shared memory creation fails.
Fix Avg operation with Collnet/Chain.
Fix performance of alltoall at scale with more than one NIC per GPU.
Fix performance for DGX H800.
Fix race condition in connection progress causing a crash.
Fix network flush with Collnet.
Fix performance of aggregated allGather/reduceScatter operations.
Fix PXN operation when CUDA_VISIBLE_DEVICES is set.
Fix NVTX3 compilation issues on Debian 10.
[ROCm/rccl commit: ea38312273 ]
2023-06-14 01:29:17 -07:00
akolliasAMD
8438fd9e42
Wall clock update and npkit trace script Update ( #771 )
...
* changed builtin clock to wall_clock64
* updated npkit_Trace_generator to the new version of npkit
[ROCm/rccl commit: 9cdac774ea ]
2023-06-07 17:47:10 -06:00
Cory Bloor
8df2b752cd
Fix build on additional architectures ( #740 )
...
* Fix build on additional architectures
Instead of directly wrapping a platform-specific operation with a
preprocessor check against a gfx macro, it can be more flexible to
check a macro that can be overriden by the user. The gfx macro can then
just provide the default value for the macro, resulting in the same
default behaviour as if the gfx macro was checked directly but with
more control at build-time.
For example, to build rccl without using buffer_wbinvl1_vol on
gfx902, but still use the default on other archs, a user could
export CXXFLAGS='-Xarch_gfx902 -DRCCL_USE_WBINVL1_VOL=1' before
configuring the build. This flexibility isn't always necessary, but
it's nicer to have it and not need it than to need it and not have it.
* Define WARP_SIZE using warpSize builtin
[ROCm/rccl commit: b1a65afd58 ]
2023-06-06 16:45:50 -06:00
Wenkai Du
61e30182b2
Rework barrier and event code ( #761 )
...
* Rework barrier and event code
* Switch to inline asm
[ROCm/rccl commit: 5a38ff192b ]
2023-05-31 13:36:51 -07:00
Nusrat Islam
325ff1dc11
device: change unroll factor
...
The default value of unroll factor is 2. Changing the unroll
factor to 4 provides better performance for most of the collectives.
[ROCm/rccl commit: 4d1cfb17c8 ]
2023-05-25 15:42:35 -05:00
Ziyue Yang
a7557cf7b0
revert npkit ( #748 )
...
[ROCm/rccl commit: 7d6e7bcd7d ]
2023-05-24 07:41:05 -07:00
Ziyue Yang
4430e4448f
Limit MSCCL reduce unrolling to pow-2 cases to shrink kernel size ( #746 )
...
[ROCm/rccl commit: ed252c30f4 ]
2023-05-19 11:46:36 -07:00
Ziyue Yang
73c6d51454
fix min, max and avg ( #745 )
...
[ROCm/rccl commit: 11676267b5 ]
2023-05-18 11:02:59 -07:00