217 Commits

Author SHA1 Message Date
Liam Wrubleski 95c6476678 Packages for test and benchmark executables on all supported OSes using CPack. (#512)
[ROCm/rccl commit: a8f1e61f48]
2022-03-21 15:04:14 -06:00
akolliasAMD 3493750b6b Added alltoallv test and optional args variable on collective args (#514)
* Added alltoallv test and optional args variable on collective args

[ROCm/rccl commit: 65ea3d80db]
2022-03-18 13:55:11 -04:00
Nirmal Unnikrishnan 4a4c053a6a File reorganization as per the new defined standard
The header files will in /opt/rocm-xxx/include/rccl
Libraries and cmake will be in /opt/rocm-xxx/lib folder.
Added wrappers for header files using rocm-cmake functions for backward compatibility.


[ROCm/rccl commit: 676a4737c1]
2022-03-08 17:32:02 +00:00
gilbertlee-amd 8f7ec04f37 Changing initialization method for UnitTests (#510)
[ROCm/rccl commit: 0687940b84]
2022-03-07 09:22:55 -07:00
gilbertlee-amd c802f53282 [UnitTests] Check process mask for custom tests (#507)
[ROCm/rccl commit: 699dc30f05]
2022-03-02 17:24:14 -07:00
akolliasAMD 2419a950fe Added Unit test for nccl send recv (#506)
Added Send Receive test that tests through all pairs

[ROCm/rccl commit: ff54e79799]
2022-03-02 15:50:16 -05:00
gilbertlee-amd a182076a0e Unit test refactor (#500)
Refactoring and consolidating single-process / multi-process unit testing

[ROCm/rccl commit: 29ad0f5fbe]
2022-02-25 08:59:07 -07:00
Wenkai Du b5bfb7366a Unit tests: fix number of GPU detection (#484)
[ROCm/rccl commit: 6268b87c16]
2022-01-05 15:06:12 -08:00
Stanley Tsang 8d6cfcbf58 Fixing setting of GPUs to 2 when 1 or less GPUs on system for unit tests (#481)
[ROCm/rccl commit: bbbb35ceec]
2021-12-09 11:04:31 -07:00
Wenkai Du a14a57ea71 gtest: dynamically generate tests based on test machine's GPU count (#467)
* gtest: dynamically generate tests based on test machine's GPU count

* Adjust test element size and bfloat16 threshold for up to 16 GPUs

[ROCm/rccl commit: 03a830293c]
2021-11-16 10:28:26 -08:00
Stanley Tsang 5bc7a6b858 Remove hardcoded references to /opt/rocm when using chrpath (#469)
* Fixing cmake_install_prefix search to include /opt/rocm-xxxx

* Removing all hard references to /opt/rocm with ROCM_PATH

[ROCm/rccl commit: a6dba6b9dd]
2021-11-15 15:00:55 -07:00
Wenkai Du 65fe26eb82 Unit Test: use range from 0 to 1 for floating point test data (#459)
* Unit Test: use range from 0 to 1 for floating point test data

* gtest: Update init data and bfloat16 threshold

[ROCm/rccl commit: bc2932be4e]
2021-11-08 09:21:09 -08:00
Stanley Tsang bd30ea0dae Fixing cmake_install_prefix search to include /opt/rocm-xxxx (#462)
[ROCm/rccl commit: 2f87073514]
2021-11-06 07:58:26 -07:00
Stanley Tsang a6feafd5dc Build AllReduce only mode (#443)
* Initial commit of all_reduce_only support

* Working AllReduce only build

* Removing printfs and restoring release build

* Restore P2P index

* Updates to build_allreduce_only mode.

* cleaning up macro ifdefs

[ROCm/rccl commit: 7e55b211c5]
2021-10-26 17:36:46 -06:00
Stanley Tsang 0afd607328 Re-enable use of chrpath to manually set rpath for unit tests. (#448)
* Re-enable use of chrpath to manually set rpath for unit tests.

* Add check for chrpath

[ROCm/rccl commit: d23dfc12c1]
2021-10-26 11:10:04 -06:00
Wenkai Du bd03ec2a45 Unit Test: support ncclAvg
[ROCm/rccl commit: 1faff323b4]
2021-08-25 14:15:54 -07:00
Wenkai Du f773636575 Fix unit tests static build (#403)
[ROCm/rccl commit: 215904ee8e]
2021-07-09 09:35:32 -07:00
Eiden Yoshida 66349efb1d Fix static builds (#393)
[ROCm/rccl commit: 5c3e7d8b67]
2021-06-23 09:19:48 -06:00
Wenkai Du 1670bddea0 Remove hard coded /opt/rocm from cmake (#396)
[ROCm/rccl commit: 59d2867b01]
2021-06-21 08:29:23 -07:00
Wenkai Du f82f99f533 Select sendrecv path based on collective data size (#391)
* Select sendrecv path based on collective data size

* Add comments on packing and unpacking group field

* Toggling RCCL_P2P_NET_DISABLE in combined calls unit tests

[ROCm/rccl commit: 6dcae8a459]
2021-06-10 17:51:04 -07:00
Stanley Tsang dd98f1762a Fixing bug with ExtractSubDataset function not fully initializing subdataset (#390)
[ROCm/rccl commit: f6f5e16fe6]
2021-06-10 14:35:39 -06:00
Stanley Tsang b1a6561fee Adding support for hipMallocManaged() in unit tests (#375)
* Adding HMM support for unit tests

* Fixing HMM opt-in check

[ROCm/rccl commit: 256403d4f0]
2021-05-25 17:07:12 -06:00
gilbertlee-amd 08addb85a2 Disabling env var caching for all unit tests (#371)
* Disabling env var caching for all unit tests

[ROCm/rccl commit: 2daadcc834]
2021-05-18 12:56:30 -06:00
Stanley Tsang 6bce88058a Multiprocess unit test various fixes (#367)
* Re-enabling mp unit tests

* Fixing shared memory leak and other bugs related to shared mem for MP unit tests

* Revert 43bfbfc97bf9edbae1f386d461439091618ff8ed

* Further tightening up unlinks

* Moving test check macros to separate header file

* Tightening up shared memory unlinking for clique kernels, add munmap for host barrier for MP unit tests

* Updating new MP unit test

* Fixing mqueue bug

* Fixing memory leak in MP unit tests

[ROCm/rccl commit: 0b2bfdd6d8]
2021-05-14 09:38:49 -06:00
gilbertlee-amd 071150a1b4 Clique tuning upgrade (#352) (#19)
* Enabling clique for any XGMI-connected topology, adding tuning
* Updating CHANGELOG for clique tuning
* Re-working clique barrier system to work on multi-process / multi-gpu

[ROCm/rccl commit: e796b1645c]
2021-05-11 08:44:59 -06:00
Wenkai Du a76bebf8b6 Merge remote-tracking branch 'nccl/master' into develop
[ROCm/rccl commit: a4ea1fed5b]
2021-05-05 16:01:01 -07:00
Wenkai Du b7253710ca Revert "Port alltoall[v]" (#325)
This reverts commit 2c49121171.

[ROCm/rccl commit: 8e180cf087]
2021-03-06 13:59:31 -08:00
Gilbert Lee b36d93ae91 Using GTEST_SKIP() to skip unit tests that have insufficient devices. Skipping out earlier
[ROCm/rccl commit: f1a9ce3fa5]
2021-02-09 03:54:04 +00:00
Stanley Tsang f152c8d160 Update MP UT to support arbitrary # of GPUs; multiple bugfixes (#16)
* Fixing temp file creation/deletion for Clique kernel mode.

* Refactoring of MP unit tests; include bugfixes and general support for any number of GPUs

* GroupCall MP UT properly quits when too many devices specified

* MP UT will programmatically set NCCL_COMM_ID if not specified; updated install script

[ROCm/rccl commit: d00b7d17bd]
2021-02-05 16:49:25 -08:00
Wenkai Du ae5779702a Merge remote-tracking branch 'origin/develop' into 2.8.3
[ROCm/rccl commit: ab1e7a0318]
2021-02-04 20:02:34 -05:00
Gilbert Lee 6bf9b0d36a Removing in-place tests from Combined calls (no support for send/recv)
[ROCm/rccl commit: 01a998b17c]
2021-01-28 20:09:03 +00:00
gilbertlee-amd c981e76efe Clique kernel support (#295) (#15)
* Adding experimental clique-based kernels (opt-in only)

Co-authored-by: Stanley Tsang <stanley.tsang@amd.com>
Co-authored-by: Gilbert Lee <gilbert.lee@amd.com>
Co-authored-by: Wenkai Du <43822138+wenkaidu@users.noreply.github.com>

Co-authored-by: Stanley Tsang <stanley.tsang@amd.com>
Co-authored-by: Wenkai Du <43822138+wenkaidu@users.noreply.github.com>

[ROCm/rccl commit: 3e62ceddc5]
2021-01-28 09:45:01 -07:00
Stanley Tsang d7ed44eb9a Adding multiprocess unit tests (#312)
Adding multiprocess unit tests for collectives.  

To run, NCCL_COMM_ID=$HOSTNAME:12345 build/release/test/UnitTestsMultiProcess

[ROCm/rccl commit: d3fa257682]
2021-01-15 16:34:36 -07:00
Wenkai Du 560224fe9f gtest: add scatter to combined calls and use loops (#303)
* gtest: add scatter to combined calls and use loops

* gtest: run validation inside loop

* gtest: revert small element count to 2520

* gtest: fix memory leak in validation

(cherry picked from commit 36935cfbee)

* Fix combined call UT

* Fix memory leak

* Fix alltoallv test


[ROCm/rccl commit: b33a2cac8b]
2021-01-14 19:28:01 -05:00
Wenkai Du 36935cfbee gtest: add scatter to combined calls and use loops (#303)
* gtest: add scatter to combined calls and use loops

* gtest: run validation inside loop

* gtest: revert small element count to 2520

* gtest: fix memory leak in validation

[ROCm/rccl commit: b0853ccd51]
2020-11-13 17:57:44 -08:00
gilbertlee-amd a7ef699687 Clique kernel support (#295)
* Adding experimental clique-based kernels (opt-in only)

Co-authored-by: Stanley Tsang <stanley.tsang@amd.com>
Co-authored-by: Gilbert Lee <gilbert.lee@amd.com>
Co-authored-by: Wenkai Du <43822138+wenkaidu@users.noreply.github.com>

[ROCm/rccl commit: 41bcfb8878]
2020-11-10 15:44:10 -07:00
Wenkai Du dbde26e681 Add Alltoallv RCCL kernel implementation (#269)
* Add alltoallv API and implementation

* Extend Rome P2P channel limit to multinode and alltoall kernels

* topo_expl: fix compilation and sync up with main

* gtest: use RCCL alltoallv API

* Code review changes

[ROCm/rccl commit: b871ea3c0c]
2020-09-30 16:25:36 -07:00
Wenkai Du a3402d6aeb Merge pull request #262 from wenkaidu/alignment
Make data alignment requirements matching ISA manual

[ROCm/rccl commit: 60819dcf8d]
2020-09-08 10:40:42 -07:00
Aaron Enye Shi 0a3a397481 Add RCCL Static Lib Creation with -fgpu-rdc
RCCL uses -fgpu-rdc to compile its source objects. When linking
the RCCL static library, the link and archive step must do through
hipcc and uses the flag --emit-static-lib. When compiling
UnitTests, the librccl.a must be consumed through -l and -L.


[ROCm/rccl commit: 958b213428]
2020-09-03 11:25:41 -04:00
Wenkai Du 81bf52ddee gtest: add alltoallv test
[ROCm/rccl commit: b163a8898f]
2020-09-02 21:28:32 +00:00
Wenkai Du 14ad6ff3b4 Merge remote-tracking branch 'nccl/master' into 2.7.8
[ROCm/rccl commit: 7e3f841fab]
2020-08-10 16:11:00 +00:00
saadrahim e5432857db Download GTest if not found in system (#237)
Co-authored-by: Stanley Tsang <stanley.tsang@amd.com>

[ROCm/rccl commit: 0dc019e35f]
2020-08-06 09:36:58 -06:00
Stanley Tsang 56d8c7c893 Adding better naming to unit tests for filtering; adding short and full unit test suites (#235)
[ROCm/rccl commit: 684f3e6af4]
2020-07-21 12:19:47 -06:00
saadrahim f80136bbba Changing GTest inclusion in cmake to use find_package (#234)
* GTest is used via find_package. No longer downloaded in cmake.

* Adding error handling

[ROCm/rccl commit: 99a491273f]
2020-07-15 20:51:48 -06:00
gilbertlee-amd b83acc8032 Removing UnitTest as install, removing unused env var (#231)
[ROCm/rccl commit: f87ba17737]
2020-07-10 09:30:28 -06:00
Wenkai Du ac87c9db37 gtest: extend testing up to 8 GPUs
[ROCm/rccl commit: 8db0aa8f4c]
2020-06-29 09:32:31 -07:00
Wenkai Du d1f8fdc3a8 gtest: add scatter, gather and all to all unit tests
[ROCm/rccl commit: fee1a20b74]
2020-06-09 17:44:15 -07:00
Stanley Tsang e5419407c4 Updating copyright notices for 2020.
[ROCm/rccl commit: 20fa04d9b6]
2020-01-29 15:28:08 -08:00
Wenkai Du e6b5933d7e Merge remote-tracking branch 'remotes/rccl/master' into rccl_2.5.6_cleanup
[ROCm/rccl commit: fe6d012eb0]
2020-01-29 15:28:03 -08:00
Wenkai Du d2fbcfea02 Misc fixes and improvements for 2.5.6
1. Fix RCCL unit test
2. Add ROME detection and tuning
3. Change default P2P level
4. Fix search algorithm for XGMI
5. Remove explicit channel duplication with implicit by using half of link speed
6. Add collective trace support
7. Correct Intel Skylake CPU detection and bandwidth
8. Fix topo connect function
9. Disable GDR read and remove unreachable code
10. Disable LL128 kernels
11. Add tuning parameters
12. Use original clock64() implementation which returns RTC counter value
13. Print out timestamp of collective trace
14. Do not use struct ncclColl in kernel launch parameter
15. Fix abort handling and add tracing
17. Add __launch_bounds__ to kernel functions
18. Remove unused abortCount
19. Unset default MIN_NRINGS and MIN_NCHANNELS
20. Do not allocate shared memory when not using LL128 kernels
21. Correct time print out in tuning log


[ROCm/rccl commit: 1e55645d97]
2020-01-29 15:27:05 -08:00