Граф коммитов

206 Коммитов

Автор SHA1 Сообщение Дата
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