提交图

425 次代码提交

作者 SHA1 备注 提交日期
Wenkai Du a06e14e39b Misc fixes and disable binTree 2022-09-14 00:26:19 +00:00
Edgar Gabriel e5d2dfed34 Update init.cc 2022-09-13 17:29:32 -05:00
Edgar Gabriel be935d7ce7 Merge branch 'develop' into 2.13.4 2022-09-13 17:19:04 -05:00
Edgar Gabriel 65e2ae20e5 add binary tree
In addition, introduce the ability to have 2 trees at the same time.
Only for allreduce at the moment.
2022-09-13 20:52:32 +00:00
Gilbert Lee 009e79623f Merge branch 'develop' into 2.13.4 2022-09-09 23:07:04 +00:00
gilbertlee-amd dd56135a9a Updating stream caching (#614)
- Adding non-captured hipStream for use in setup
2022-09-09 16:30:15 -06:00
Wenkai Du a79d9e3586 Merge remote-tracking branch 'nccl/master' into develop 2022-09-09 16:05:38 +00:00
Wenkai Du 7bbce085cc Enable LL128 protocol support (#605)
* Enable LL128 protocol support

* Use shared memory object directly when possible
2022-09-08 14:45:27 -07:00
Min Si 2b57751abb Fix compilation issues with buck (#610)
* Fix compilation warning with -Wmisleading-indentation

When compile with -Wmisleading-indentation, it reports warning:
misleading indentation; statement is not part of the previous 'if'

This patch fixes it

* Avoid relative include file path

We don't need relative include file paths for src/graph/*.h
since src/ is already in CMake include_directories
2022-09-07 09:56:05 -06:00
gilbertlee-amd 47b2fc3a30 Adding opt-in hipGraph support for RCCL via RCCL_ENABLE_HIPGRAPH (#608)
Adding opt-in hipGraph support via RCCL_ENABLE_HIPGRAPH
2022-09-06 10:29:46 -06:00
akolliasAMD 06bce9d0c9 added stream synch after hipMemset (#609) 2022-08-30 16:18:37 -06:00
Wenkai Du c9f2fe1f65 Use hipExtLaunchKernel when not using graph and not in group mode (#606) 2022-08-26 13:40:37 -07:00
Edgar Gabriel e739c62a53 Merge pull request #598 from edgargabriel/topic/tree-multirank
Expand ncclTreeBasePostset for multi-rank
2022-08-24 08:28:34 -05:00
Wenkai Du 88487a62bb Use non-temporal access for slow path (#602) 2022-08-23 08:21:51 -07:00
Edgar Gabriel 4141ec1151 fix channelcount for multi-rank scenario 2022-08-22 19:09:22 +00:00
akolliasAMD 3c1b1ec8c8 Simple tree changes (#599)
changed treebase to create basic balanced tree
2022-08-19 13:51:49 -06:00
Cosmic Fusion 080fc2d9d6 fix error: use of undeclared identifier 'free'
include stdlib.h to fix compilation error in rccl :

[39/58] Building CXX object CMakeFiles/rccl.dir/src/misc/signals.cc.o
FAILED: CMakeFiles/rccl.dir/src/misc/signals.cc.o 
/opt/rocm/bin/hipcc -DENABLE_COLLTRACE -DHAVE_BFD -DHAVE_CPLUS_DEMANGLE -DUSE_ROCM_SMI64CONFIG -D__HIP_PLATFORM_AMD__=1 -D__HIP_PLATFORM_HCC__=1 -Drccl_EXPORTS -I/home/cosmo/build/flgrwqa/build/include -I/home/cosmo/build/flgrwqa/build/include/rccl -I/home/cosmo/build/flgrwqa/rccl/src -I/home/cosmo/build/flgrwqa/rccl/src/include -I/home/cosmo/build/flgrwqa/rccl/src/collectives -I/home/cosmo/build/flgrwqa/rccl/src/collectives/device -I/opt/hsa/include -fPIC -fvisibility=hidden -fgpu-rdc -parallel-jobs=8 -Wno-format-nonliteral -x hip --offload-arch=gfx803 --offload-arch=gfx900:xnack- --offload-arch=gfx906:xnack- --offload-arch=gfx908:xnack- --offload-arch=gfx90a:xnack- --offload-arch=gfx90a:xnack+ --offload-arch=gfx1030 -std=c++14 -MD -MT CMakeFiles/rccl.dir/src/misc/signals.cc.o -MF CMakeFiles/rccl.dir/src/misc/signals.cc.o.d -o CMakeFiles/rccl.dir/src/misc/signals.cc.o -c /home/cosmo/build/flgrwqa/rccl/src/misc/signals.cc
In file included from /home/cosmo/build/flgrwqa/rccl/src/misc/signals.cc:8:
/home/cosmo/build/flgrwqa/rccl/src/include/BfdBacktrace.hpp:138:9: error: use of undeclared identifier 'free'
        free(file->syms);
        ^
/home/cosmo/build/flgrwqa/rccl/src/include/BfdBacktrace.hpp:155:5: error: use of undeclared identifier 'free'
    free(file->syms);
    ^
2022-08-19 20:25:06 +03:00
Wenkai Du 14b8ff153f Repurpose profiling implementation to simple timestamps tracing (#600) 2022-08-18 15:34:46 -07:00
Ching-Hsiang Chu e1d9b273b0 fix NCCL_DEBUG_FILE
Summary: NCCL_DEBUG_FILE does not work properly since the recent v2.13.4 updates (https://github.com/NVIDIA/nccl/pull/682) because it nows sets `ncclDebugLevel` after parse `NCCL_DEBUG_FILE`. This patch move parsing `tempNcclDebugLevel` before processing `NCCL_DEBUG_FILE` to ensure `NCCL_DEBUG_FILE` is parsed only when `NCCL_DEBUG > NCCL_LOG_VERSION` (same as previous behavior)

Differential Revision: D38415208

fbshipit-source-id: 5689bbb798e73efb9e8594557666987f07e89a30
2022-08-18 11:50:42 +02:00
Wenkai Du f5c0b243a8 Add XGMI sys type and clean up detection code (#597) 2022-08-12 09:52:29 -07:00
Ziyue Yang f6b9686482 Improve alignment and tuning for Pivot A2A algorithm (#593)
* Improve alignment and tuning for Pivot A2A algorithm

* enable pivot a2a by default
2022-08-05 19:40:19 -07:00
akolliasAMD 4cecdc9be5 minor latency tuning (#591)
* minor tuning for tree ll
2022-08-03 15:07:44 -06:00
Wenkai Du 9089e68a99 Revert "Use nontemporal in slow path and add XGMI sys type (#575)" (#590)
This reverts commit b250c01cbe.
2022-08-02 09:31:53 -07:00
akolliasAMD 254208e7dd Fixed issue with attomicEXCH creating errors on multi node runs (#587) 2022-07-22 11:32:49 -06:00
akolliasAMD 451c287aa6 Removing redundant LOAD and STORE on primitives plus adding some atomics (#585) 2022-07-21 13:04:57 -06:00
Hubert Lu 6dd090917a Merge pull request #580 from hubertlu-tw/develop
Enhancement of RCCL logging information for topology-aware utilities
2022-07-15 15:16:37 -07:00
Edgar Gabriel 2b1d5d3bc1 intercept SIGUSR2 in RCCL
add support for intercepting SIGUSR2 in RCCL. This signal will
not terminate the execution of the application, but print the stacktrace
of the process that the signal was sent to instead.
2022-07-15 16:28:46 +00:00
Ziyue Yang 77c2bef952 Remove redundant LOAD/STORE usage in LL initialization 2022-07-14 00:40:36 +00:00
hubertlu-tw a1842df858 Enhancement of RCCL logging information for topology-aware utilities 2022-07-11 19:01:10 +00:00
Sylvain Jeaugey 19ab67d172 2.13.4-1
Optimize CUDA graph launch; avoid launching a CPU callback for
intra-node operations.
Simplify kernel common code to improve the latency of send/recv
operations.
Strengthen CUDA streams semantics.
Change NET API to v6, to add dmabuf support.
Add ncclGetLastError() function.
Add ncclRemoteError code and use it for remote network errors.
Support the use of a different NCCL_NET parameter per communicator.
Add support for SHM and P2P transfers using cudaMemcpy.
2022-07-11 08:10:34 -07:00
Wenkai Du 8c3c8b78c0 Skip HDP cache flush for gfx90a (#578)
* Skip HDP cache flush for gfx90a

* Remove extra debug print
2022-07-08 10:13:32 -07:00
Wenkai Du aa0d7ca882 Add more constraints to enable GDR (#579)
* Add more constraints to enable GDR

* Revert deleted line
2022-07-08 09:52:27 -07:00
Yifan Xiong 80f53cc171 Reduce AlltoAll port usage in send/recv proxy (#577)
* Reduce AlltoAll port usage when connecting proxy

Reuse socket ports when connecting proxies in AlltoAll.

Existing port usage in AlltoAll is O(n) for recv and O(n) for send,
reusing socket ports in server or client side will make one of them
O(1), reusing both will reduce the total port usage to O(1) and enables
AlltoAll in >64 MI200 nodes.

* Update changelog accordingly

Update changelog accordingly.
2022-07-07 16:15:52 -07:00
Wenkai Du b250c01cbe Use nontemporal in slow path and add XGMI sys type (#575)
* Use nontemporal in slow path and add XGMI sys type

* Clean up XGMI detection
2022-07-06 07:58:41 -07:00
Wenkai Du 00af1f64e9 Fix GPU to NIC mapping in tree (#573)
* Fix GPU to NIC mapping in tree

* Update tuning table
2022-07-03 20:52:52 -07:00
gilbertlee-amd a89a9966aa Adding git hash info to version output line (#572) 2022-06-28 16:42:51 -06:00
Wenkai Du 9a285b5e1d Do not set NET GDR level automatically (#571) 2022-06-23 16:28:28 -07:00
Wenkai Du c3bb9e70d0 Use different atomics to check flags in kernel (#568) 2022-06-23 09:16:41 -07:00
Ziyue Yang 6e93fafdc3 Add Feature - Add NPKit Support in RCCL (#564)
* apply npkit

* fix bug

* add npkit in readme
2022-06-20 14:30:19 -07:00
Wenkai Du f274c865c1 Change default nchannels per peer (#563) 2022-06-13 06:39:05 -07:00
Edgar 0336ffdf70 Introduce multi-rank support per device.
This is a single commit of the source code changes required to
introduce support for multiple ranks per device.
A new interface (ncclCommRankInitMulti) has to be used to make use of
this new feature.
2022-06-10 14:23:12 +00:00
Wenkai Du 5cb2aca3d9 Fix P2P scheduling (#560) 2022-06-06 13:32:28 -07:00
Wenkai Du 7a6c6927ae Enable timing profile option (#558) 2022-06-03 07:05:13 -07:00
Aristotelis e0864e7093 Merge remote-tracking branch 'ncclRepo/master' into develop 2022-06-02 15:27:24 +00:00
Wenkai Du eef812bed7 Revert chunksteps changes (#555) 2022-05-31 14:45:51 -07:00
Wenkai Du ef499c4810 Add another Rome model (#553)
* Add another Rome model

* Add option to force enable intranet on single node

* Limit p2p channels to number of ranks

* Refine p2p channels handling
2022-05-31 11:31:30 -07:00
akolliasAMD a0a686e74c code cleanup (#554) 2022-05-31 09:59:36 -04:00
Wenkai Du c5b77121f0 Update Rome model (#552) 2022-05-26 09:59:23 -07:00
akolliasAMD 98f0809a39 Added creation of new tree and added switch for using treesplit for specific cases (#551) 2022-05-25 18:55:14 -04:00
gilbertlee-amd 700b473211 Moving opt-in custom signal handler from UnitTests into RCCL (#550)
* Enable via RCCL_ENABLE_SIGNALHANDLER=1
2022-05-20 09:56:38 -06:00