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

207 Коммитов

Автор SHA1 Сообщение Дата
Jane Xu 554b03bed1 address review comments
[ROCm/rccl commit: f89fd4777d]
2022-09-20 11:58:33 +02:00
Jane Xu e742734b82 Fix intermittent 11.6 builds: generate unique .cu file for each object file
[ROCm/rccl commit: 79fb0326ac]
2022-09-20 11:58:33 +02:00
Sylvain Jeaugey f6e1e3d9ed 2.14.3-1
Add support for improved fault tolerance: non-blocking mode, new
init function with config, and ncclCommFinalize function.
Reintroduce collnet+chain algorithm, alongside collnet+direct.
Add LL protocol for intra-node P2P (on by default) and network
communication (off by default).
Use network instead of shared memory when performance is better.
Fix: wait for CUDA graph destroy before destroying comm with linked
graph resources.
Remove aggressive polling during enqueue.
Fix DMABUF fallback on MOFED 5.4 and earlier.


[ROCm/rccl commit: c4e2aa6c79]
2022-08-18 02:53:17 -07:00
Ching-Hsiang Chu c9a50a9ec5 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


[ROCm/rccl commit: e1d9b273b0]
2022-08-18 11:50:42 +02:00
Sylvain Jeaugey 91154e8df9 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.


[ROCm/rccl commit: 19ab67d172]
2022-07-11 08:10:34 -07:00
Sylvain Jeaugey 1c5734046d 2.12.12-1
Improve allreduce performance when we have more than one network interface per
GPU and we need to use PXN to close rings.
Add support for PCI Gen5 on 5.4 kernels.
Fix crash when setting NCCL_SET_THREAD_NAME.
Fix random crash in init due to uninitialized struct.
Fix hang on cubemesh topologies.
Add P2P_DIRECT_DISABLE parameter to disable direct access to pointers within a
process.


[ROCm/rccl commit: 7aa1c46fd5]
2022-05-13 00:26:57 -07:00
Sylvain Jeaugey e89ff21d35 Update Makefile to install static library.
Make sure make install also installs the static library. 
Fixes #662

[ROCm/rccl commit: 9bfc1c6e35]
2022-04-08 14:00:43 +02:00
Sylvain Jeaugey 74f8baa0f3 Merge remote-tracking branch 'origin/master'
[ROCm/rccl commit: 8133784b32]
2022-03-30 02:29:05 -07:00
Sylvain Jeaugey 27130280b2 2.12.10-1
Fix bug with CollNet
Fix bug with zero-bytes send/recv operations
Fix NCCL_PARAM implementation to avoid taking a lock on every call
Fix bug when setting NCCL_IB_QPS_PER_CONNECTION to more than one.
Improve error reporting for network errors.


[ROCm/rccl commit: 353e8ba446]
2022-03-30 02:27:01 -07:00
Sylvain Jeaugey a52e328ba4 Fix merging error
[ROCm/rccl commit: 2247152a8e]
2022-03-30 02:14:32 -07:00
Sylvain Jeaugey 3bc2e34df2 Merge branch 'master' into truncated_msg_warning
[ROCm/rccl commit: 2dfd83752c]
2022-03-30 10:58:05 +02:00
Ke Wen 92bdde35eb Display host name instead of numeric IP when referring to a peer
For easier interpretation of debug messages like "connection closed by
peer", "peer message truncated" and "peer collective mismatch"


[ROCm/rccl commit: 1382a87306]
2022-03-30 10:47:10 +02:00
Christopher Hesse f6d1c7261f Fix typo in net_ib.cc
[ROCm/rccl commit: b895abcdb8]
2022-03-30 10:45:01 +02:00
Felix Abecassis 54590464ca Remove unnecessary newline in plugin logging
Signed-off-by: Felix Abecassis <fabecassis@nvidia.com>

[ROCm/rccl commit: 1c7c014ceb]
2022-03-30 10:44:49 +02:00
John Bachan 7707479804 Add pthread_detach()'s for threads we never pthread_join(). Helps
reduce diagnostic noise for ThreadSanitizer.

Fixes https://github.com/NVIDIA/nccl/issues/649


[ROCm/rccl commit: 44eb40da0e]
2022-03-15 10:27:59 -07:00
Sylvain Jeaugey f8886d8687 2.12.7-1
Add network communication through another GPU connected with NVLink
(PXN).
Add aggregation of messages coming from different local GPUs through
PXN and going to the same destination.
Add new v5 plugin API with grouped receives and tags.
Add compat for v4 plugins.
Add naming of NCCL threads to help debugging.
Fix NVLink detection and avoid data corruption when some NVLinks are
down.
Add support for Relaxed Ordering for IB.
Add profiling and timing infrastructure.


[ROCm/rccl commit: 3c223c105a]
2022-03-02 20:48:56 +01:00
Ke Wen 92d6888bdc Split IB parameter sanity check into two parts
First part on collective mismatch, second part on internal errors


[ROCm/rccl commit: fbfb6ac5d7]
2022-02-08 15:21:22 -08:00
Sylvain Jeaugey ed02fb8993 Fix ext-net/google-fastsocket build
[ROCm/rccl commit: 0144073673]
2022-01-24 07:19:48 -08:00
Sylvain Jeaugey 51df47f9b8 Revert "remove unused basePath"
This reverts commit d973ddac8b.


[ROCm/rccl commit: cc78e9fab8]
2022-01-21 12:30:34 +01:00
void-main d973ddac8b remove unused basePath
[ROCm/rccl commit: 445bc19657]
2022-01-21 12:12:26 +01:00
Chang Lan 04f51513a6 Build fastsocket plugin from ext-net
[ROCm/rccl commit: c5790b3672]
2021-12-09 08:41:05 +01:00
Ke Wen 07d9648aec Add env NCCL_NET_DISABLE_INTRA
Disable NET transport for intra-node communication by setting the env to 1
It provides an option to error out instead of falling back to NET when superior intra-node transports (P2P and SHM) are unavailable


[ROCm/rccl commit: c88c9f873f]
2021-12-08 16:28:19 +01:00
Ke Wen 26c275fe16 Improve warning message about truncated messages
Display hints of cause so that it would be easier for user to debug.
Also change the error type from InternalError to InvalidUsage as most
of time this is caused by a mismatch in collective size or env settings.


[ROCm/rccl commit: f589932130]
2021-12-02 16:13:15 -08:00
Chris Jones a52ca36a9e Perform busIdToInt64 on the stack.
I noticed when I enabled `NCCL_DEBUG_SUBSYS=ALLOC` that this function is
called thousands of times, making the log output unintelligible.
Fortunately, this function can be implemented without heap allocations.


[ROCm/rccl commit: 8cf7325d69]
2021-11-19 09:35:55 +01:00
John Bachan 389213c7e8 Fix compilation failure in "src/enqueue.cc" on older GCC because of
missing `#include <cstring>`.


[ROCm/rccl commit: 30ca3fcacf]
2021-09-23 09:55:16 -07:00
Sylvain Jeaugey 761812841b Fix Collnet when GDR is disabled
[ROCm/rccl commit: 4ec992fab7]
2021-09-22 05:19:16 -07:00
Ke Wen e51f2a83da 2.11.4-1
Add new API for creating a reduction operation which multiplies the input by a rank-specific scalar before doing an inter-rank summation (see: ncclRedOpCreatePreMulSum).
Improve CollNet (SHARP) performance of ncclAllReduce when captured in a CUDA Graph via user buffer registration.
Add environment variable NCCL_NET_PLUGIN="<suffix>" to allow user to choose among multiple NCCL net plugins by substituting into "libnccl-net-<suffix>.so".
Fix memory leak of NVB connections.
Fix topology detection of IB Virtual Functions (SR-IOV).


[ROCm/rccl commit: e11238b302]
2021-09-08 16:06:23 -07:00
John Bachan 04553b802a Fix to https://github.com/NVIDIA/nccl/issues/560
ncclGroup's containing operations of mixed datatype, element, or collective
would induce crash.


[ROCm/rccl commit: 5f2f2f670f]
2021-08-31 15:50:05 -07:00
Ke Wen 58a9f19dc3 2.10.3-1
Add support for bfloat16.
Add ncclAvg reduction operation.
Improve performance for aggregated operations.
Improve performance for tree.
Improve network error reporting.
Add NCCL_NET parameter to force a specific network.
Add NCCL_IB_QPS_PER_CONNECTION parameter to split IB traffic onto multiple queue pairs.
Fix topology detection error in WSL2.
Fix proxy memory elements affinity (improve alltoall performance).
Fix graph search on cubemesh topologies.
Fix hang in cubemesh during NVB connections.


[ROCm/rccl commit: 7e51592129]
2021-07-08 14:30:14 -07:00
Sylvain Jeaugey 3dd3a1ca66 2.9.9-1
Fix crash when setting NCCL_MAX_P2P_NCHANNELS below nchannels.
Fix hang during sendrecv dynamic NVB connection establishment on
cubemesh topologies.
Add environment variable to only use SHARP on communicators beyond
a given number of ranks.
Add debug subsystem to trace memory allocations.
Fix compilation with TRACE=1. (Issue #505)


[ROCm/rccl commit: 3fec2fa5ee]
2021-05-12 11:09:31 -07:00
Sylvain Jeaugey 780273774a 2.9.8-1
Fix memory leaks.
Fix crash in bootstrap error case.
Fix Collnet clean-up issue.
Make PCI switch vendor/device optional for XML injection.
Add support for nvidia-peermem module.


[ROCm/rccl commit: ca8485b0d0]
2021-05-10 14:00:03 -07:00
Sylvain Jeaugey 20da390b96 2.9.6-1
Add support for CUDA graphs.
Fuse BCM Gen4 switches to avoid suboptimal performance on some platforms. Issue #439.
Fix bootstrap issue caused by connection reordering.
Fix CPU locking block.
Improve CollNet algorithm.
Improve performance on DGX A100 for communicators with only one GPU per node.


[ROCm/rccl commit: a46ea10583]
2021-04-12 16:00:46 -07:00
Sylvain Jeaugey fc7bdb38a5 2.8.4-1
Fix hang in corner cases of alltoallv using point to point send/recv.
Harmonize error messages.
Fix missing NVTX section in the license.
Update README.


[ROCm/rccl commit: 911d61f214]
2021-02-09 15:36:48 -08:00
Jonas Zhou 1db601566f x86: Add CPU detection for Zhaoxin processors
Signed-off-by: Jonas Zhou <JonasZhou@zhaoxin.com>


[ROCm/rccl commit: 3996562690]
2020-12-17 11:15:18 -08:00
Sylvain Jeaugey a8908b34ee 2.8.3-1
Optimization for Tree allreduce on A100.
Improve aggregation performance.
Use shared buffers for inter-node send/recv.
Add NVTX profiling hooks.
Accelerate alltoall connections by merging communication for all
channels.
Add support for one hop communication through NVLink, for faster
send/recv communication on cubemesh topologies like DGX-1.
Improve alltoall scheduling to better balance intra/inter node
communication.
Increase send/recv parallelism by 8x, each warp sending or
receiving to a different peer.
Net: move to v4.
Net: make flush operation asynchronous to accelerate alltoall.
Net: define maximum number of requests.
Fix hang when using LL128 protocol after 2^31 steps.
Fix #379 : topology injection failing when using less GPUs than
described in the XML.
Fix #394 : protocol mismatch causing hangs or crashes when using
one GPU per node.


[ROCm/rccl commit: 920dbe5b35]
2020-11-17 11:08:52 -08:00
xietingwew 0277094dd2 fix proxyArgs for trace log
[ROCm/rccl commit: 084207e685]
2020-10-21 09:18:40 -07:00
Sylvain Jeaugey 591ffd32fe Fix affinity move
[ROCm/rccl commit: 0e14394c5f]
2020-10-13 16:58:05 -07:00
Sylvain Jeaugey 5de6b6681d Make sure proxy threads inherit the CPU affinity.
[ROCm/rccl commit: c6dbdb0084]
2020-10-13 16:37:52 -07:00
Jack Snyder dca19952fd Setting type when gpu sub node is discovered
[ROCm/rccl commit: de49a77074]
2020-08-05 13:39:23 -07:00
Eric Badger d6a78cb1c7 Don't require NIC devices to have specific PCI class
If a PCI node is the parent of a NIC, treat it as such, regardless of
the PCI class code for the device. This allows non-traditional devices
to act as NICs via the net plugin mechanism.

For consistency, treat GPUs similarly.


[ROCm/rccl commit: 700c0e0f24]
2020-08-05 12:46:29 -07:00
David Addison 4acaffebb3 2.7.8-1
Fix collective mismatch error when using ncclSend/ncclRecv


[ROCm/rccl commit: 033d799524]
2020-07-27 16:34:09 -07:00
Riatre Foo e791f8c8c7 Fix build action order
Add $(INCTARGETS) to build dependencies of %.o and $(DEVICELIB).
As there were no dep files during the first build, Make may kick off source
compilation before nccl.h got generated, which leads to occasional build
failures on systems with high core count. The build failure could be
reproduced reliably with a `sleep 5` in $(INCDIR)/nccl.h rule.


[ROCm/rccl commit: 2d8601701d]
2020-07-07 10:20:51 -07:00
Sylvain Jeaugey 5432eb8e9d 2.7.6-1
Fix crash when NVswitch is not visible inside a VM.


[ROCm/rccl commit: 1952325569]
2020-06-26 16:35:54 -07:00
Sylvain Jeaugey 1f6b75ca8b 2.7.5-1
Minor fixes for A100 platforms.
Add a WARN for invalid GroupEnd call.


[ROCm/rccl commit: 01afd20a77]
2020-06-26 14:39:49 -07:00
Sylvain Jeaugey 89072c82e5 2.7.3-1
Add support for A100 GPU and related platforms.
Add support for CUDA 11.
Add support for send/receive operations (beta).


[ROCm/rccl commit: 5949d96f36]
2020-06-08 09:31:44 -07:00
Sylvain Jeaugey c43022b9d8 Fix crash when only a subset of GPUs are visible within a container.
Fixes #326.


[ROCm/rccl commit: f36540f55a]
2020-04-17 10:03:14 -07:00
Sylvain Jeaugey 5df2502deb Improve robustness of PCI detection
Fallback to default values when class/speed is unknown.


[ROCm/rccl commit: 23a9fbb788]
2020-04-16 14:27:50 -07:00
aokomoriuta acd868dfcb Fix wrong variable name "slice" to "chunk"
https://github.com/NVIDIA/nccl/issues/287


[ROCm/rccl commit: a783484ab5]
2020-04-14 19:00:51 -07:00
Sylvain Jeaugey 627e1a06d0 Fix bug #307 : wrong NIC selection on the reduction tree.
The reduction tree (tree up) was inverting the NICs to use,
causing performance issue in cases where we are using different
NICs on a given channel.


[ROCm/rccl commit: b5b6c6acdd]
2020-04-09 17:14:07 -07:00
Sylvain Jeaugey b996c2ca00 Merge pull request #314 from NVIDIA/v2.6
2.6.4-1

[ROCm/rccl commit: 533e3702cf]
2020-03-26 17:31:24 -07:00