Commit Graph

75 Commits

Author SHA1 Message Date
Stanley Tsang de09bece99 Removing unnecessary device collective source files.
[ROCm/rccl commit: 3a61907182]
2019-08-12 18:23:23 +00:00
Wenkai Du 909e014b51 Get HDP register address from hipDeviceGetAttribute API
[ROCm/rccl commit: 84d3344796]
2019-08-05 14:14:09 -07:00
Wenkai Du b540c55c9b Merge pull request #108 from wenkaidu/xgmi_finegrain
Remove dependency to HSA_FORCE_FINE_GRAIN_PCIE flag for XGMI link

[ROCm/rccl commit: 4a9bdd8539]
2019-08-02 10:00:48 -07:00
Michael LIAO c14ef9f408 Revise the previous fix to use the canonical path to HSA.
- This fix the build failures under certain environments.


[ROCm/rccl commit: 4f2aa06688]
2019-08-01 14:50:44 -04:00
Wenkai Du 2dcb42effd Remove dependency to HSA_FORCE_FINE_GRAIN_PCIE flag for XGMI link
[ROCm/rccl commit: e7022e9196]
2019-08-01 04:26:37 +00:00
Michael LIAO 4b5bf9f227 Fix build with hip-clang
Two minor issues are solved:
+ Enclose the kernel function with parenthesis as hip-clang defines
  `hipLaunchKernelGGL` as macro.
+ Need to explicitly include <hsa.h> for hip-clang.


[ROCm/rccl commit: 41310144f6]
2019-07-31 15:07:36 -04:00
Wenkai Du d7f25d5be7 Use hipExtLaunchMultiKernelMultiDevice API (#100)
Depends on HIP version with this pull request:
https://github.com/ROCm-Developer-Tools/HIP/pull/1232

[ROCm/rccl commit: 0522041fac]
2019-07-18 09:02:37 -07:00
Wenkai Du 25d29e97d1 Increase debug print of ring topology to 64 ranks (#99)
[ROCm/rccl commit: dc1908e944]
2019-07-16 14:54:17 -07:00
Wenkai Du 602292685d Allocate transport memory based on numa node (#97)
[ROCm/rccl commit: 43bd6f5fbf]
2019-07-15 11:45:38 -07:00
gilbertlee-amd 4310b5b4c1 Adding explicit HDP flush when using RDMA via Infiniband (#95)
* Adding explicit HDP flush when using RDMA via Infiniband



[ROCm/rccl commit: 7b6332d3d0]
2019-07-10 16:29:02 -06:00
Wenkai Du 20975921dd Fix share memory collision in multi-communicator case. (#93)
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.

Ported from original commit: https://github.com/lowintelligence/nccl/commits/shm

[ROCm/rccl commit: 949d680e49]
2019-07-02 09:27:16 -07:00
saadrahim f437e903f1 Merge pull request #83 from ROCmSoftwarePlatform/devel
Devel to Master

[ROCm/rccl commit: 0de9051ace]
2019-06-24 14:25:18 -06:00
Wenkai Du 17530a2a6f Use different unroll numbers for copy and reduce (#81)
* Use different unroll numbers for copy and reduce

* use 4 separate unroll factors


[ROCm/rccl commit: bb5e42bac0]
2019-06-19 16:36:16 -07:00
Jeff Daily 53b1ca1d7f do not use internal stream (#79)
[ROCm/rccl commit: 754ed213cc]
2019-06-12 16:26:59 -06:00
Wenkai Du a8fbf5555c Implement HDP flush when transfer data over PCIe P2P (#75)
* Implement HDP flush when transfer data over PCIe P2P
* Add some descriptions to HDP flushing
* Fix for review comments


[ROCm/rccl commit: b7a6307371]
2019-06-03 16:29:55 -07:00
Yaxun Sam Liu dff9e760a0 Make ncclFuncs static
This is necessary to constant propagate the function pointers
to eliminate the indirect function call.


[ROCm/rccl commit: 5827a4f616]
2019-05-29 10:50:13 -04:00
saadrahim b90e705679 Readthedocs documentation support (#71)
[ROCm/rccl commit: bb7542c1d9]
2019-05-24 15:03:56 -06:00
Wenkai Du 5fdf2edd39 Increase number of rings with XGMI connection
Improve throughput for about 20%. Also remove P2P over PCIe which was
left enabled at initial release.

Signed-off-by: Wenkai Du <wenkai.du@amd.com>


[ROCm/rccl commit: f45566a8bd]
2019-05-24 20:58:51 +00:00
Yaxun (Sam) Liu 7b4b3e2981 Fix build failure for hip-clang (#69)
[ROCm/rccl commit: b921279a21]
2019-05-23 16:53:25 -06:00
Gilbert Lee 60f91f645d Updating RCCL based on NCCL 2.3.7
- Contains modifications to support AMD hardware
- Adds unit tests


[ROCm/rccl commit: 55a4b22ad7]
2019-05-16 16:16:18 +00: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
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
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
Sylvain Jeaugey 8ffcfac437 2.3.5-5
Add support for inter-node communication using sockets and InfiniBand/RoCE.
Improve latency.
Add support for aggregation.
Improve LL/regular tuning.
Remove tests as those are now at github.com/nvidia/nccl-tests .


[ROCm/rccl commit: f93fe9bfd9]
2018-09-25 14:12:01 -07:00
Sylvain Jeaugey 338f6eaae1 Add support for CUDA9 half semantics
[ROCm/rccl commit: 29a1a916dc]
2017-06-14 11:20:24 -07:00
Ilya Biryukov fa9d609d5d Fix compilation error when compiling with 'clang -x cuda'.
Functions vFetch and vStore are not found by ADL with clang,
so they need to be declared before usage in ReduceCopy.


[ROCm/rccl commit: 8241cd7b6e]
2017-03-16 12:01:11 +01:00
Nathan Luehr 72ab3de6f6 Only enable peer access for ring neighbors.
This enables support for systems with more than 9 GPUs attached to a single PCIe root complex.


[ROCm/rccl commit: 8996811936]
2017-03-01 16:42:38 -08:00
Sylvain Jeaugey f93f7b5d52 Fix copy/paste typo in error message
[ROCm/rccl commit: c219a183d0]
2017-03-01 16:42:38 -08:00
Sylvain Jeaugey d2a9c5d52e Fix crash in Reduce when non-root ranks have invalid recvbuff
[ROCm/rccl commit: 8e1d6f9b60]
2017-03-01 16:42:38 -08:00
Chad Whipkey 030edd0507 Qualify nullptr_t with std::.
[ROCm/rccl commit: 5eab428294]
2017-02-08 07:06:31 -08:00
Sylvain Jeaugey 851663654d Fix 1.3.2 compilation
[ROCm/rccl commit: 2a974f5ca2]
2016-12-08 09:11:43 -08:00
Sylvain Jeaugey 56e1a845e9 Adding missing file
[ROCm/rccl commit: 648e9fbb58]
2016-12-05 18:06:24 -08:00
Sylvain Jeaugey db3103d96a 1.3.2 release
Broadcast tuning
Better checking of inputs
Copy/reduce code simplification


[ROCm/rccl commit: 34d27771c6]
2016-12-01 15:17:50 -08:00
Sylvain Jeaugey ea6feab31f Fix primitives function prototype
[ROCm/rccl commit: b2781d0501]
2016-10-13 10:32:42 -07:00