Wykres commitów

473 Commity

Autor SHA1 Wiadomość Data
Wenkai Du b7a6307371 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
2019-06-03 16:29:55 -07:00
Wenkai Du 8c974f1f50 Merge pull request #76 from ROCmSoftwarePlatform/fix-indirect-call
Make ncclFuncs static
2019-05-29 12:04:58 -07:00
Yaxun Sam Liu 5827a4f616 Make ncclFuncs static
This is necessary to constant propagate the function pointers
to eliminate the indirect function call.
2019-05-29 10:50:13 -04:00
Wenkai Du c85d629355 Merge pull request #74 from saadrahim/readmeUpdate
Readme update
2019-05-24 20:27:08 -07:00
Saad Rahim 0c0a8ed86f Adding NVIDIA copyright 2019-05-24 15:05:00 -07:00
Saad Rahim 02ef2d27e6 Fixing whitespace 2019-05-24 14:49:12 -07:00
Saad Rahim fac7ef9370 Adding link to readthedocs 2019-05-24 14:48:24 -07:00
Wenkai Du 9a0ac849fa Merge pull request #72 from wenkaidu/default_rings
Increase number of rings with XGMI connection
2019-05-24 14:42:54 -07:00
saadrahim bb7542c1d9 Readthedocs documentation support (#71) 2019-05-24 15:03:56 -06:00
Wenkai Du f45566a8bd 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>
2019-05-24 20:58:51 +00:00
Yaxun (Sam) Liu b921279a21 Fix build failure for hip-clang (#69) 2019-05-23 16:53:25 -06:00
Wenkai Du 1bb6d2104c Add RCCL primitive testing (#70) 2019-05-23 16:52:17 -06:00
Rajat Chopra 6d8b2421bc Update debian dependencies in README (#228)
'fakeroot' is needed for building deb packages
2019-05-22 21:19:36 -07:00
saadrahim 4c4351673b Jenkinsfile (#65)
* Changing Jenkinsfile to support runs without docker
* Updating install file for build options
* Fixing command execution
* Fixing Jenkinsfile
* fixing test execution
* Removing junit search
2019-05-22 15:32:32 -06:00
saadrahim 42c3e4b93d Updating readme for 2.5 release (#67) 2019-05-22 15:31:12 -06:00
gilbertlee-amd ffe2054ed2 Test combined calls (#64)
* Adding test for queueing multiple different collectives, 1 device per thread
2019-05-22 15:30:37 -06:00
Aaron Enye Shi 6e8f40eb22 Update README to note install rocm-cmake (#68) 2019-05-22 15:29:59 -06:00
gilbertlee-amd a115f577dd Adding fix for unsufficient devices / better logging for skipped tests (#63) 2019-05-21 14:34:20 -06:00
Stanley Tsang afa945d6e6 Renaming jenkinsfile 2019-05-21 15:54:41 +00:00
Wenkai Du 4bfa506a6b Remove extra compiler path setting 2019-05-21 00:08:42 +00:00
Wenkai Du e517dbed5c By default will not build test program 2019-05-20 18:37:58 +00:00
gilbertlee-amd c57ab960ff Merge pull request #62 from gilbertlee-amd/AlignmentTests
Adding support for alignment tests via sub-datasets
2019-05-18 10:54:52 -06:00
Gilbert Lee a50c852851 Adding support for alignment tests via sub-datasets
Added sample alignment test for AllGather
Datasets no longer free memory on destruction so Release() must be used
2019-05-18 00:04:03 +00:00
Stanley Tsang 0d6a5a3d25 Update README.md
Adding mention of requirement for chrpath for unit tests.
2019-05-17 11:42:14 -06:00
gilbertlee-amd 28f8dcb7c9 Merge pull request #61 from gilbertlee-amd/master
Reducing scope of linker flags to rccl target to avoid warnings.  
Changing to tagged version of googletests
Checking for chrpath
2019-05-17 11:36:23 -06:00
Gilbert Lee 248e1d61cc Adding check for chrpath for unit tests 2019-05-17 17:13:40 +00:00
Gilbert Lee 08fcce5ec9 Fixing GoogleTest to 1.8.1 and making changes to tests to support older API 2019-05-16 23:13:49 +00:00
Gilbert Lee 11f78df04d Reducing scope of linker flags to rccl target to avoid warnings 2019-05-16 21:39:39 +00:00
Gilbert Lee 55a4b22ad7 Updating RCCL based on NCCL 2.3.7
- Contains modifications to support AMD hardware
- Adds unit tests
2019-05-16 16:16:18 +00:00
David Addison 0ceaec9cee NCCL 2.4.7-1
Performance tweaks for PowerPC builds only;
      Set default NCCL_MIN_NRINGS to 4
      Disable PCI-E NUMA distance detection
2019-05-10 13:52:16 -07:00
jakirkham 60a586ded9 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.
2019-05-07 17:35:14 -07:00
Gustavo Alvarez 9db4b1d801 Add pkgconfig file (#190) 2019-04-08 09:16:54 -07:00
David Addison f40ce73e89 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
2019-04-05 13:05:45 -07:00
Cao Zongyan 161763aab2 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.
2019-03-15 12:50:32 +08:00
Rong Ou 14e0cf644b 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>
2019-03-04 11:42:47 -08:00
Sylvain Jeaugey 1450d42675 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.
2019-01-29 15:19:27 -08:00
Christian Sigg 4861e197fd Fix memory leak in bootstrapRoot() 2019-01-07 14:18:46 -08:00
Sylvain Jeaugey c244b51ae7 Replace CUDA_VERSION by CUDART_VERSION 2018-12-13 15:22:17 -08:00
Christian Sigg 3e6afef473 Qualify nullptr_t with std:: 2018-12-13 14:18:09 -08:00
Christian Sigg 346fc49514 Two temporary workarounds for cuda-clang issues. 2018-12-13 14:17:58 -08:00
Christian Sigg d08e9b5279 Change __CUDACC_VER_*__ preprocessor directives to CUDA_VERSION because clang doesn't define the former. 2018-12-13 14:17:46 -08:00
Sylvain Jeaugey 469b69a5d0 Fix #163 : remove warnings 2018-12-11 09:19:16 -08:00
Ke Wen 8606cdb8b2 Fix dummy plugin 2018-12-05 17:25:23 -08:00
Sylvain Jeaugey 57368189e1 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)
2018-12-04 14:47:41 -08:00
Sylvain Jeaugey 4b39a4cf91 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.
2018-12-04 14:42:28 -08:00
Sylvain Jeaugey b8a9a32ccb Add NCCL_NET flag to many debug lines. 2018-12-04 13:10:19 -08:00
Sylvain Jeaugey cdae05b277 Improve INFO message when external network is not found.
Fix #162
2018-12-04 12:10:58 -08:00
David Addison 5fe2618c0e Fixed some compilation errors when TRACE=1 set 2018-11-29 14:12:14 -08:00
Sylvain Jeaugey eed8218e17 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.
2018-11-29 12:52:13 -08:00
Sylvain Jeaugey 302d538b73 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.
2018-11-29 12:52:13 -08:00