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

163 Коммитов

Автор SHA1 Сообщение Дата
Christian Sigg ff74ebdcea Fix clang build (#274)
The attribute is called `optnone`, not `noopt`.

[ROCm/rccl commit: 3899f6e0f2]
2019-12-09 09:31:13 -08:00
Ke Wen 6413a29ce8 Merge branch 'master' into HEAD
[ROCm/rccl commit: 44b5652617]
2019-12-06 18:28:11 -08:00
Ke Wen 8dc42618e4 2.5.6-2
Fix PPC64 Debian packaging


[ROCm/rccl commit: 6bb953d4e6]
2019-12-06 18:26:39 -08:00
Sylvain Jeaugey e5a17ee58d Fix clang compilation
[ROCm/rccl commit: aa15dfb29c]
2019-12-06 09:55:54 -08:00
Christian Sigg 4984d5ce0b Fix clang build (#271)
Clang doesn't understand `optimize("O0")`. It has `noopt`, which GCC doesn't understand. Wrap the difference in a macro.

[ROCm/rccl commit: 8c564e9b57]
2019-12-06 09:14:55 -08:00
Sylvain Jeaugey 71560fd67b 2.5.6-1 (#255)
Add LL128 Protocol.

Rewrite the topology detection and tree/ring creation (#179). Improve
tree performance by sending/receiving from different GPUs. Add
model-based tuning to switch between the different algorithms and
protocols.

Rework P2P/SHM detection in containers (#155, #248).

Detect duplicated devices and return an error (#231).

Add tuning for GCP

[ROCm/rccl commit: 299c554dcc]
2019-11-19 14:57:39 -08:00
David Addison 221b65bee1 Merge branch 'lowintelligence-shm'
PR#196


[ROCm/rccl commit: ccb1298148]
2019-08-14 10:09:53 -07:00
David Addison d57c0b0f92 Updated PR#196 to use a common hash function
[ROCm/rccl commit: fad079a8ae]
2019-08-14 10:08:39 -07:00
David Addison bb5b11fa23 Merge branch 'shm' of git://github.com/lowintelligence/nccl into lowintelligence-shm
[ROCm/rccl commit: 01d1836668]
2019-08-14 09:45:45 -07:00
David Addison c7957daee3 Make use of SO_REUSEPORT conditional
Fixes: #244

SO_RESUEPORT was introduced in Linux 3.9 and later.
This change allows NCCL to compile against older releases.

The functionality is only required if the user is specifying
a NCCL bootstrap address via an environment variable.


[ROCm/rccl commit: 7f2b337e70]
2019-08-13 16:32:07 -07:00
Cao Zongyan d45a1180f7 Refine RPM package building spec file.
Add /sbin/ldconfig into RPM package install operations.


[ROCm/rccl commit: bfb3921519]
2019-07-31 10:36:22 -07:00
Ke Wen a66ab68630 Fix NIC distances for 11+ NICs
[ROCm/rccl commit: 4d579e51cc]
2019-07-17 06:32:33 -07:00
Ke Wen 5c5c58c73b Fix #224: prevent number of IB devices from going out of bound
[ROCm/rccl commit: 920ae57c14]
2019-07-17 06:32:33 -07:00
Ke Wen 4211da6d29 Size up IPC buffers to multiples of 2MB
Avoid potential CUDA error in concurrent communicator initialization


[ROCm/rccl commit: c8c68fb5f7]
2019-07-12 09:50:17 -07:00
Hirochika Asai ee08e8b421 Add the exact matching modifier support "=" to the NCCL_IB_HCA variable (#236)
Perform exact matching when the prefix "=" is specified in the NCCL_IB_HCA variable to exclude HCAs mlx5_X[0-9]+ when mlx5_X is specified.

[ROCm/rccl commit: 0b192d2299]
2019-07-09 14:45:41 -07:00
Ke Wen 3c13a4d1bb Merge branch 'master' into HEAD
[ROCm/rccl commit: 8e04d80382]
2019-06-25 13:39:08 -07:00
Ke Wen b91d8170f8 2.4.8-1
Fix #209: improve socket transport performance
  Split transfers over multiple sockets
  Launch multiple threads to drive sockets
  Detect AWS NICs and set nsockets/nthreads accordingly


[ROCm/rccl commit: 7c72dee660]
2019-06-25 13:22:47 -07:00
Felix Abecassis d2f579ba8b Fix out-of-bounds read in ncclStrToCpuset (#233)
The affinityStr string was not null-terminated but was passed to strlen(3).

Signed-off-by: Felix Abecassis <fabecassis@nvidia.com>

[ROCm/rccl commit: 37e4f8729e]
2019-06-21 10:25:08 +02:00
Rajat Chopra 1071f54eeb Update debian dependencies in README (#228)
'fakeroot' is needed for building deb packages

[ROCm/rccl commit: 6d8b2421bc]
2019-05-22 21:19:36 -07:00
David Addison 00bc3a724a NCCL 2.4.7-1
Performance tweaks for PowerPC builds only;
      Set default NCCL_MIN_NRINGS to 4
      Disable PCI-E NUMA distance detection


[ROCm/rccl commit: 0ceaec9cee]
2019-05-10 13:52:16 -07:00
jakirkham 1a4357b99a Allow CUDA runtime library selection (#220)
Makes a change to allow the user to select between the static CUDA
runtime library (default) and the dynamic CUDA runtime library. Does
this by allowing `CUDARTLIB` to be overridden.

[ROCm/rccl commit: 60a586ded9]
2019-05-07 17:35:14 -07:00
Gustavo Alvarez 0e0902d201 Add pkgconfig file (#190)
[ROCm/rccl commit: 9db4b1d801]
2019-04-08 09:16:54 -07:00
David Addison 17c8317cb1 NCCL 2.4.6-1
Added detection of IBM/Power NVLink bridge device.
    Add NUMA support to PCI distance calculations.
    Added NCCL_IGNORE_CPU_AFFINITY env var.
    Fix memory leaks; GithubIssue#180
    Compiler warning fix; GithubIssue#178
    Replace non-standard variable length arrays. GithubIssue#171
    Fix Tree+Shared Memory crash. GithubPR#185
    Fix LL cleanup hang during long running DL jobs.
    Fix NCCL_RINGS environment variable handling.
    Added extra checks to catch repeat calls to ncclCommDestroy() GithubIssue#191
    Improve bootstrap socket connection reliability at scale.
    Fix hostname hashing issue. GithubIssue#187
    Code cleanup to rename all non device files from *.cu to *.cc


[ROCm/rccl commit: f40ce73e89]
2019-04-05 13:05:45 -07:00
Cao Zongyan 8b3bc4ef7a Fix share memory collision in multi-communicator case.
Current SHM object name would only use pidHash and ranks as
identification, which would collide each other when program runs with
multiple communicators. Here we added commId info into pidHash, it makes
'pidHash'es of different communicators keeping in same process will be
distincted with each other.


[ROCm/rccl commit: 161763aab2]
2019-03-15 12:50:32 +08:00
Rong Ou ab2dd12f3e Fix crash during shared memory creation (#185)
The shared memory filename was only based on the destination. While
this was OK for rings since only one rank would send data to a given
rank, it would crash with trees because they communicate in both
directions.

Co-authored-by: Rong Ou <rong.ou@gmail.com>

[ROCm/rccl commit: 14e0cf644b]
2019-03-04 11:42:47 -08:00
Sylvain Jeaugey ffc55560a1 2.4.2-1
Add tree algorithms for allreduce to improve performance at scale.
Add ncclCommAbort() and ncclCommGetAsyncError() to properly handle
network errors and be permit recover.
Detect initial CPU affinity and no longer escape it.


[ROCm/rccl commit: 1450d42675]
2019-01-29 15:19:27 -08:00
Christian Sigg 3a7974d4c4 Fix memory leak in bootstrapRoot()
[ROCm/rccl commit: 4861e197fd]
2019-01-07 14:18:46 -08:00
Sylvain Jeaugey 4e32c7a19a Replace CUDA_VERSION by CUDART_VERSION
[ROCm/rccl commit: c244b51ae7]
2018-12-13 15:22:17 -08:00
Christian Sigg 6a93dca51b Qualify nullptr_t with std::
[ROCm/rccl commit: 3e6afef473]
2018-12-13 14:18:09 -08:00
Christian Sigg fcf027b42d Two temporary workarounds for cuda-clang issues.
[ROCm/rccl commit: 346fc49514]
2018-12-13 14:17:58 -08:00
Christian Sigg 457c2ab5ae Change __CUDACC_VER_*__ preprocessor directives to CUDA_VERSION because clang doesn't define the former.
[ROCm/rccl commit: d08e9b5279]
2018-12-13 14:17:46 -08:00
Sylvain Jeaugey 7fa81a40a1 Fix #163 : remove warnings
[ROCm/rccl commit: 469b69a5d0]
2018-12-11 09:19:16 -08:00
Ke Wen e74cca3317 Fix dummy plugin
[ROCm/rccl commit: 8606cdb8b2]
2018-12-05 17:25:23 -08:00
Sylvain Jeaugey e2f73fea64 Remove error logging from a normal path
When initNet fails, we should not print the backtrace as it is
supposed to be normal operation (falling back to sockets)


[ROCm/rccl commit: 57368189e1]
2018-12-04 14:47:41 -08:00
Sylvain Jeaugey 49819bcb7c Fix GPU Direct RDMA detection.
Whether the network supported GPU Direct RDMA or not was ignored,
causing sockets to break when cards were local enough that NCCL
tried to use it.


[ROCm/rccl commit: 4b39a4cf91]
2018-12-04 14:42:28 -08:00
Sylvain Jeaugey 274fd3756a Add NCCL_NET flag to many debug lines.
[ROCm/rccl commit: b8a9a32ccb]
2018-12-04 13:10:19 -08:00
Sylvain Jeaugey 245786e9a5 Improve INFO message when external network is not found.
Fix #162


[ROCm/rccl commit: cdae05b277]
2018-12-04 12:10:58 -08:00
David Addison f842c81503 Fixed some compilation errors when TRACE=1 set
[ROCm/rccl commit: 5fe2618c0e]
2018-11-29 14:12:14 -08:00
Sylvain Jeaugey 5dffba1287 Rework shared memory code to use SYSCHECK macros.
This is to handle EINTR/EGAIN properly (issue #137), and also
make the code consistent with the rest.

Unfortunately posix_fallocate and mmap do not follow the classic
return code/errno pattern, so we need to write wrappers around those
functions.


[ROCm/rccl commit: eed8218e17]
2018-11-29 12:52:13 -08:00
Sylvain Jeaugey 57bff87e1d Rework SYSCHECK macros to better handle retries.
SYSCHECKVAL was not retrying when a retry was needed. Since not all
calls are inside a loop, that means we could silently miss an
EINTR/EAGAIN return code.

Also rework the socket connection code and improve error reporting.


[ROCm/rccl commit: 302d538b73]
2018-11-29 12:52:13 -08:00
Sylvain Jeaugey f0e160728f Improve net API description
[ROCm/rccl commit: 61b50a63ef]
2018-11-26 16:24:31 -08:00
Sylvain Jeaugey ec1247221e Make network isend/irecv non blocking
[ROCm/rccl commit: 98adf2fe11]
2018-11-26 16:24:31 -08:00
Sylvain Jeaugey 378a103248 Add support for external network.
Dynamically load external network from libnccl-net.so.
Add init function in networks.
Move PCI scoring to net.cu, only ask transport to provide a path.
Simplify CUDA PCI path detection.
Add dummy external network


[ROCm/rccl commit: 0d3a20f96d]
2018-11-26 16:24:31 -08:00
Alex Sergeev b458b3b337 Generate host-hash for P2P and SHM based on $(readlink /proc/self/ns/uts) + $(readlink /proc/self/ns/mnt) (#156)
[ROCm/rccl commit: d7a58cfa58]
2018-11-19 17:39:44 -08:00
Sylvain Jeaugey 726c60336d Generate nccl.h in build instead of src
Generating nccl.h in src makes source directories dirty after builds.

[ROCm/rccl commit: 3c6e25210b]
2018-11-09 14:00:41 -08:00
Ke Wen ec81b3ad0e Add official builds download link
[ROCm/rccl commit: 21d9a877be]
2018-11-08 11:22:28 -08:00
Sylvain Jeaugey 287e36a92d Add instructions to install packaging toolchain
Address #143 and #150 : debuild not installed.


[ROCm/rccl commit: f7d31919d7]
2018-11-05 11:42:33 -08:00
Sylvain Jeaugey 1cc88accd5 Add install target
Fix issue #145

[ROCm/rccl commit: bed43524cc]
2018-11-05 09:53:59 -08:00
David Addison 8c945929af 2.3.7-1
Improved LL tuning for multi-node jobs.
Improved bootstrap for large job scaling.
Fixed a hang during bootstrap due to socket reuse.
Added operation name to the COLL INFO logging.


[ROCm/rccl commit: b56650c7f5]
2018-10-24 14:44:59 -07:00
Obihörnchen 8507b66cfd Fix nccl-tests all_reduce_perf path
It's `all_reduce_perf` not `allreduce_perf`

[ROCm/rccl commit: 3202d6b393]
2018-10-14 00:53:17 -07:00