Laura Promberger
b9be197d53
Bump minimum cmake version to 3.16 to enable cmake 4 ( #1909 )
...
Minimum required cmake version of test/CMakeList.txt is bumped from 2.8
to 3.16. This alignes with the version used in CMakeList.txt and will
enable building with cmake 4.
[ROCm/rccl commit: 0f6fec1553 ]
2025-09-16 23:10:22 -05:00
Kapil S. Pawar
3d889cc189
Code coverage tests for param.cc ( #1872 )
...
* Added code coverage unit tests for param.cc
* Updated ParamTests.cpp and removed ParamTestsConfFile.txt
* Updated ParamTests.cpp
* Removed NCCL_LOG_INFO and added sample cofig file
---------
Co-authored-by: Pawar <kpawar@ctr2-alola-ctrl-01.amd.com >
[ROCm/rccl commit: c9becd89cd ]
2025-08-27 09:30:37 -05:00
ishkool
f500628ef2
Code coverage tests for net_socket.cc ( #1840 )
...
* Code coverage UTs for net_socket.cc
* Addressed review comments
---------
Co-authored-by: Atul Kulkarni <atul.kulkarni@amd.com >
[ROCm/rccl commit: c288fbf1b2 ]
2025-08-27 09:24:21 -05:00
ishkool
377160e0c9
Code Coverage: Proxy.cc tests ( #1818 )
...
* Proxy.cc tests
* Update ProxyTest.cpp
Cleaned up the code.
* Update ProxyTests.cpp
Bring back deleting dynamically allocated memory
[ROCm/rccl commit: 876f985e0f ]
2025-08-15 19:06:32 -05:00
Atul Kulkarni
38e88ba87e
Added new unit tests for src/enqueue.cc ( #1853 )
...
[ROCm/rccl commit: 84f3cc6a02 ]
2025-08-15 18:26:26 -05:00
ishkool
61a189bc84
Code Coverage Unit Tests for comm.h ( #1783 )
...
* File containing test for comm.h
* Update CommTest.cpp
Added gtest API for assert
* Update CommTest.cpp
Adding copyright
* Update CommTest.cpp
Removing info and tested as not required.
* Update and rename CommTest.cpp to CommTests.cpp
* Update CMakeLists.txt
[ROCm/rccl commit: 6453273aa6 ]
2025-08-15 17:44:24 -05:00
Rahul Vaidya
baa6a61535
[BUILD] Fix UT packaging on Debian family OS ( #1854 )
...
* Fix UT packaging on Debian family OSes
Signed-off-by: ravaidya <ravaidya@amd.com >
* Split OR condition when performing Debian checks
Signed-off-by: ravaidya <ravaidya@amd.com >
---------
Signed-off-by: ravaidya <ravaidya@amd.com >
[ROCm/rccl commit: ee9ed3ef87 ]
2025-08-11 17:03:16 -05:00
Nilesh M Negi
74adb64dfb
[BUILD] Fix UT packaging on Debian OS ( #1848 )
...
[ROCm/rccl commit: 5036d0e713 ]
2025-08-11 09:43:26 -05:00
Rahul Vaidya
70a5f2f317
Fix rccl-UnitTests packaging on Debian systems ( #1846 )
...
Signed-off-by: ravaidya <ravaidya@amd.com >
[ROCm/rccl commit: cbbc713b03 ]
2025-08-08 12:28:56 -05:00
awelling2801
c5b4e1bc78
Created coverage tests for rccl_wrap ( #1694 )
...
* Created coverage tests for rccl_wrap
RCCL_EXPOSE_STATIC off by default
Coverage tests for rccl_wrap.cc
* Remove RCCL_EXPOSE_STATIC dependency
* Removed Rcclwrap.RcclGetAlgoInfoTest
* Remove comments
* Corrected RCCL_EXPOSE_STATIC definition logic
---------
Co-authored-by: Welling <awelling@ctr2-alola-login-01.amd.com >
Co-authored-by: Atul Kulkarni <atul.kulkarni@amd.com >
[ROCm/rccl commit: 82bea39280 ]
2025-08-06 14:48:00 -05:00
Atul Kulkarni
35283394ed
Add unit tests for graph/xml.cc & graph/xml.h ( #1833 )
...
* Added new binary for executing unit tests
Added new unit tests for argcheck.cc and alt_rsmi.cc files
Modified the method to execute unit tests to cover static methods
by using a bash script to convert static to non-static functions
and variables on the fly restricted to debug build type.
* Added new unit tests for src/transport/shm.cc
* Added new unit tests for graph/xml.cc
[ROCm/rccl commit: 0e7d7da55d ]
2025-08-01 14:20:27 -05:00
awelling2801
0d34963b35
Added tests for coll_reg ( #1700 )
...
Changes to coll_reg
Co-authored-by: Welling <awelling@ctr2-alola-login-01.amd.com >
[ROCm/rccl commit: 5ecc1b7ede ]
2025-07-31 13:49:23 -05:00
awelling2801
839fcb54b5
Added tests for transport.cc ( #1725 )
...
Co-authored-by: Welling <awelling@ctr2-alola-login-01.amd.com >
[ROCm/rccl commit: 7320752bf3 ]
2025-07-31 11:04:28 -05:00
Rahul Vaidya
d65eb0b021
Fix RHEL10 packaging for rcclras and rccl-UnitTests ( #1831 )
...
Signed-off-by: ravaidya <ravaidya@amd.com >
[ROCm/rccl commit: 0adc5edc74 ]
2025-07-31 11:00:49 -05:00
ycui1984
39c508b80d
Add collective latency profiler ( #1785 )
...
* [LatencyProfiler] Initial commit
* [LatencyProfiler] Add unit tests
* [LatencyProfiler] add more
* [LatencyProfiler] Pass unit tests
* [LatencyProfiler] Add hooks to integrate with meta internal tools
* [LatencyProfiler] Restore install.sh
* [LatencyProfiler] Resolved comments 1. add proper license 2. use proper namespace
* [LatencyProfiler] Add header
[ROCm/rccl commit: 874cd657ef ]
2025-07-30 14:59:28 -07:00
awelling2801
da2bb8a578
Added tests for Ipcsocket ( #1690 )
...
Co-authored-by: Welling <awelling@ctr2-alola-ctrl-01.amd.com >
[ROCm/rccl commit: 9843adaab2 ]
2025-07-29 10:03:28 -05:00
awelling2801
88dcaaddc5
Code coverage improvements for alloc.h ( #1676 )
...
* Added tests for alloc.h
* Added tests for ZeroElementCopy and MemcpyNullSrcOrDstPointer
---------
Co-authored-by: Welling <awelling@ctr2-alola-ctrl-01.amd.com >
[ROCm/rccl commit: e118aadc14 ]
2025-07-29 09:19:57 -05:00
peizhang56
5c02be7b51
Add Unit Test for bitops.h ( #1821 )
...
* Add Unit Test for bitops.h
* Change the style
* Fix the code review comments
* Add more test cases
[ROCm/rccl commit: fe182d6546 ]
2025-07-28 11:25:15 -05:00
Atul Kulkarni
de0d446e03
Added new unit tests for src/transport/p2p.cc ( #1774 )
...
[ROCm/rccl commit: 81ec6bff4c ]
2025-07-25 12:57:57 -05:00
Atul Kulkarni
bd53bdf447
Added new unit tests for src/transport/shm.cc ( #1689 )
...
[ROCm/rccl commit: 1c3d1b3842 ]
2025-07-25 05:54:42 -05:00
Atul Kulkarni
c94fb7c58e
Code coverage improvements ( #1665 )
...
* Increased max stack size to 640
* Added new binary for executing unit tests
Added new unit tests for argcheck.cc and alt_rsmi.cc files
Modified the method to execute unit tests to cover static methods
by using a bash script to convert static to non-static functions
and variables on the fly restricted to debug build type.
[ROCm/rccl commit: 275fdd43c1 ]
2025-07-17 11:20:49 -05:00
Nilesh M Negi
41c985462c
[BUILD] Use fmt-header instead of libfmt ( #1791 )
...
[ROCm/rccl commit: 6b4ad0fd74 ]
2025-07-10 17:19:53 -05:00
Dingming Wu
d34a38ccfc
Add proxyTrace ( #1732 )
...
This feature tracks the proxy events and status of each send/recv op. ProxyTrace keeps a fixed number of active ops in host mem and dumps the status of each op when the program crashes or hangs.
[ROCm/rccl commit: 020dcf0a7c ]
2025-06-25 23:01:34 -05:00
BertanDogancay
c0c9312e38
Merge remote-tracking branch 'nccl/master' into develop
...
[ROCm/rccl commit: aaf023976a ]
2025-06-20 07:54:49 -05:00
Atul Kulkarni
4cd71722f2
Added new ENABLE_CODE_COVERAGE option. ( #1664 )
...
Modified install.sh script to add this new option
[ROCm/rccl commit: 682ed36fe6 ]
2025-06-10 12:12:36 -05:00
Siu Chi Chan
be0761502d
rccl-UnitTests - link to dl library ( #1673 )
...
[ROCm/rccl commit: 9525c5b2ef ]
2025-05-02 21:20:22 -05:00
Tim
58ee618194
RCCL Replayer update ( #1603 )
...
RCCL recorder w/ suggested change and UT
[ROCm/rccl commit: 9a55ff60a9 ]
2025-04-19 00:21:27 -04:00
isaki001
a40d4eb960
non-hipGraph MSCCL++ tests for allReduce and allGather ( #1503 )
...
* working tests for a single message size
* move call_RCCL routine StandaloneUtils, create .cpp file for StandaloneUtils so that it can be included in several tests
* simplify test invocation
* remove unecessary logs and exit from ncclCommRegister
* set expected results for allGather
* skip test if nranks doesn't match number of gpus, call getAndDistributeNCCLid only from parent process
* fix improper size of expected-results vector
* Removing unused changes.
* Refactored to create a new file for the forked collectives call, as StandaloneUtils is for the Standalone tests. Renamed the functions to be slightly more accurate and follow existing naming conventions.
* Apply suggestions from code review
Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com >
---------
Co-authored-by: isaki001 <isakioti@banff-pla-r27-38.pla.dcgpu >
Co-authored-by: corey-derochie-amd <161367113+corey-derochie-amd@users.noreply.github.com >
Co-authored-by: Corey Derochie <corey.derochie@amd.com >
[ROCm/rccl commit: 3398fa78fe ]
2025-02-04 09:11:32 -06:00
Sean Karlage
3eda60a031
static: Enable true rccl static library build ( #1379 )
...
* static: Enable true rccl static library build
Rccl uses `-fgpu-rdc` to compile, which requires a specialized link command in order to produce a true static library.
When "linking" with `amdclang++`, you need to use `--emit-static-lib` and `--hip-link` to get a static library with all gpu code generated. Subsequent links with binaries do not need any special flags to generate gpu code.`
Building a static library:
```
$ cmake -DROCM_PATH=$ROCM_PATH -DCMAKE_PREFIX_PATH=$ROCM_PATH -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=off -DCMAKE_POSITION_INDEPENDENT_CODE=on -DAMDGPU_TARGETS=gfx942 -DCMAKE_CXX_COMPILER=$ROCM_PATH/lib/llvm/bin/amdclang++ -DCMAKE_C_COMPILER=$ROCM_PATH/lib/llvm/bin/amdclang .. 2>&1 | tee -a /tmp/build.txt
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) (Required is at least version "1.11")
-- Checking for ROCm support for GPU targets: gfx942
-- Compiling for gfx942
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) (Required is at least version "1.11")
-- ROCM_PATH found: /opt/rocm
-- Compiling with amdclang++
-- HIP compiler: clang
-- HIP runtime: rocclr
-- amdclang++ executable: /opt/rocm/llvm/bin/amdclang++
-- amdclang++ version: 18.0.0git
-- hipconfig executable: /opt/rocm/bin/hipconfig
-- amdclang++ HIP version: 6.2.41133
-- ROCm version: 6.2.0
...
$ make -j 32
[ 0%] Updating git_version.cpp if necessary
-- Updating git_version.cpp
[ 0%] Built target git_version_check
[ 0%] Hipifying src/transport/shm.cc -> /home/skarlage/local/rccl/build/hipify/src/transport/shm.cc
[ 0%] Hipifying src/bootstrap.cc -> /home/skarlage/local/rccl/build/hipify/src/bootstrap.cc
[ 0%] Hipifying src/channel.cc -> /home/skarlage/local/rccl/build/hipify/src/channel.cc
[ 1%] Hipifying src/device/all_reduce.h -> /home/skarlage/local/rccl/build/hipify/src/device/all_reduce.h
[ 1%] Hipifying src/device/broadcast.h -> /home/skarlage/local/rccl/build/hipify/src/device/broadcast.h
[ 1%] Hipifying src/device/all_gather.h -> /home/skarlage/local/rccl/build/hipify/src/device/all_gather.h
[ 1%] Hipifying src/device/common.cu -> /home/skarlage/local/rccl/build/hipify/src/device/common.cu.cpp
[ 1%] Hipifying src/debug.cc -> /home/skarlage/local/rccl/build/hipify/src/debug.cc
[ 1%] Hipifying src/device/alltoall_pivot.h -> /home/skarlage/local/rccl/build/hipify/src/device/alltoall_pivot.h
[ 1%] Hipifying src/device/network/unpack/unpack.h -> /home/skarlage/local/rccl/build/hipify/src/device/network/unpack/unpack.h
[ 4%] Hipifying src/collectives.cc -> /home/skarlage/local/rccl/build/hipify/src/collectives.cc
[ 4%] Hipifying src/device/msccl_kernel_impl.h -> /home/skarlage/local/rccl/build/hipify/src/device/msccl_kernel_impl.h
[ 4%] Hipifying src/device/network/unpack/unpack_defs.h -> /home/skarlage/local/rccl/build/hipify/src/device/network/unpack/unpack_defs.h
[ 4%] Hipifying src/device/op128.h -> /home/skarlage/local/rccl/build/hipify/src/device/op128.h
[ 4%] Hipifying src/device/onerank.cu -> /home/skarlage/local/rccl/build/hipify/src/device/onerank.cu.cpp
[ 4%] Hipifying src/device/common.h -> /home/skarlage/local/rccl/build/hipify/src/device/common.h
[ 6%] Hipifying src/device/prims_ll.h -> /home/skarlage/local/rccl/build/hipify/src/device/prims_ll.h
[ 6%] Hipifying src/device/primitives.h -> /home/skarlage/local/rccl/build/hipify/src/device/primitives.h
[ 6%] Hipifying src/device/prims_ll128.h -> /home/skarlage/local/rccl/build/hipify/src/device/prims_ll128.h
[ 6%] Hipifying src/device/reduce.h -> /home/skarlage/local/rccl/build/hipify/src/device/reduce.h
[ 7%] Hipifying src/device/common_kernel.h -> /home/skarlage/local/rccl/build/hipify/src/device/common_kernel.h
[ 7%] Hipifying src/device/reduce_scatter.h -> /home/skarlage/local/rccl/build/hipify/src/device/reduce_scatter.h
[ 7%] Hipifying src/device/sendrecv.h -> /home/skarlage/local/rccl/build/hipify/src/device/sendrecv.h
[ 7%] Hipifying src/device/prims_simple.h -> /home/skarlage/local/rccl/build/hipify/src/device/prims_simple.h
[ 7%] Hipifying src/enqueue.cc -> /home/skarlage/local/rccl/build/hipify/src/enqueue.cc
[ 7%] Hipifying src/device/reduce_kernel.h -> /home/skarlage/local/rccl/build/hipify/src/device/reduce_kernel.h
[ 7%] Hipifying src/graph/connect.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/connect.cc
[ 7%] Hipifying src/graph/rings.h -> /home/skarlage/local/rccl/build/hipify/src/graph/rings.h
[ 8%] Hipifying src/graph/rings.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/rings.cc
[ 8%] Hipifying src/graph/rome_models.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/rome_models.cc
[ 8%] Hipifying src/graph/rome_models.h -> /home/skarlage/local/rccl/build/hipify/src/graph/rome_models.h
[ 8%] Hipifying src/graph/paths.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/paths.cc
[ 9%] Hipifying src/graph/search.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/search.cc
[ 9%] Hipifying src/graph/topo.cc -> /home/skarlage/local/rccl/build/hipify/src/graph/topo.cc
...
[100%] Linking CXX static library librccl.a
Elapsed time: 270 s. (time), 0.00046 s. (clock)
Elapsed time: 0 s. (time), 0.000342 s. (clock)
[100%] Built target rccl
```
Static rccl exists:
```
$ file librccl.a
librccl.a: current ar archive
```
* Fix up tests Cmake for static builds
We also need to fix up the tests CMakeLists.txt to:
* Remove the unused `BUILD_STATIC` option
* Use `SHARED_LIBS` as a definition of whether we're building static or
not.
[ROCm/rccl commit: bdf9544c81 ]
2024-10-16 06:58:50 -07:00
corey-derochie-amd
37bf54b8f8
Enable multi-threading for MSCCL ( #1203 )
...
MSCCL can now run in a multi-threaded configuration. To test in the unit tests, added the ENABLE_OPENMP compile definition flag and the --openmp-test-enable flag to the unit test build script. To activate, set the environment variables UT_MULTITHREADED=1 and UT_PROCESS_MASK=1. Set Jenkins to use this mode.
[ROCm/rccl commit: 0c36d571ea ]
2024-07-04 09:34:38 -06:00
BertanDogancay
36f9492cda
Merge remote-tracking branch 'nccl/master' into develop
...
[ROCm/rccl commit: e1a835910e ]
2024-04-23 13:34:00 -07:00
arvindcheru
a285fda3a1
Static Build update - Moved all cmake install() to rocm-cmake APIs, static build update ( #1123 )
...
[ROCm/rccl commit: c0a51dc84b ]
2024-03-26 11:11:09 -04:00
Bertan Dogancay
bee47d9e91
Add stack size UT ( #1081 )
...
* Add stack size UT
[ROCm/rccl commit: dc2d486ba0 ]
2024-02-12 17:56:15 -07:00
Bertan Dogancay
11674674fc
[DEV] Configure functions in RCCL ( #986 )
...
* configure functions in rccl
[ROCm/rccl commit: 28d9b170c9 ]
2024-01-18 15:07:16 -07:00
Bertan Dogancay
487391e8bb
Add ncclCommSplit test ( #852 )
...
Add ncclSplitCommTest
[ROCm/rccl commit: 9d11cd092f ]
2023-08-25 16:26:45 -06:00
gilbertlee-amd
71ab758d36
Removing unnecessary chrpath check for unit tests ( #811 )
...
[ROCm/rccl commit: a5a25bdff7 ]
2023-07-20 10:28:04 -06:00
Pedram Alizadeh
a34679b2e6
resolving the pthread-gtest linking issue for rccl-UnitTests ( #768 )
...
[ROCm/rccl commit: 520f15e61b ]
2023-06-06 14:21:40 -04:00
gilbertlee-amd
d2c1295f79
Refactoring CMakeFiles ( #755 )
...
[ROCm/rccl commit: 777d8747a5 ]
2023-05-25 16:08:54 -06:00
gilbertlee-amd
ff2c1c5d0f
Unit test performance refactor ( #700 )
...
* Refactoring unit tests to improve performance
* Spawning child processes during InitComms instead of on TestBed construction
* Temporarily disabling graph unit tests
[ROCm/rccl commit: 27e0cb43c2 ]
2023-04-06 12:28:53 -06:00
gilbertlee-amd
0da1d6a6cd
Multi stream unit test ( #693 )
...
* Adding multi-stream support to unit tests
[ROCm/rccl commit: 80ed608a9d ]
2023-02-23 13:28:50 -07:00
Pedram Alizadeh
f7982e9bed
UnitTest: add test cases for 2.14 API (ncclCommInitRankConfig and ncclCommFinalize for non-blocking communicator) ( #674 )
...
[ROCm/rccl commit: fddb5e6be8 ]
2023-02-03 17:36:30 -05:00
Pedram Alizadeh
847899dd7e
removed the wrapper script so that the old name is no longer referenced ( #676 )
...
[ROCm/rccl commit: fbe52b6caa ]
2023-01-31 11:11:02 -05:00
Pedram Alizadeh
a85f71a421
Revert "UnitTest: add test cases for 2.14 API (ncclCommInitRankConfig and ncclCommFinalize for non-blocking communicator) ( #662 )" ( #666 )
...
This reverts commit f29aa66d4f .
[ROCm/rccl commit: 54a3da04eb ]
2022-12-14 11:28:40 -05:00
PedramAlizadeh
1fe26823f5
Changed the name of UnitTests to rccl-UnitTests (wrapper executable included).
...
[ROCm/rccl commit: 45872d170f ]
2022-12-13 21:45:57 +00:00
Pedram Alizadeh
f29aa66d4f
UnitTest: add test cases for 2.14 API (ncclCommInitRankConfig and ncclCommFinalize for non-blocking communicator) ( #662 )
...
[ROCm/rccl commit: 8250092367 ]
2022-12-13 16:05:09 -05:00
Ziyue Yang
431c7d2cb9
Add MSCCL Support ( #658 )
...
* Add MSCCL support
* Add alignment and message size checking
* Fix nRanks checking, in-place and out-of-place tests and group call handling
* Fix hipGraph unit test
* Change MSCCL init warning to INFO
* Revise license info
[ROCm/rccl commit: adafc0f759 ]
2022-12-12 15:51:04 -08:00
Ranjith Ramakrishnan
e3b28a9aec
Correct hsa header path for new directory layout
...
[ROCm/rccl commit: b397cb16ea ]
2022-11-04 09:52:16 -07:00
Ranjith Ramakrishnan
1cfca9f8e1
Correct include and library path for new directory layout
...
Use actual header files and libraries , rather than using wrapper header files and library softlinks
[ROCm/rccl commit: cf4e963aaf ]
2022-10-14 01:32:04 -07:00
gilbertlee-amd
a2a4888497
Moving opt-in custom signal handler from UnitTests into RCCL ( #550 )
...
* Enable via RCCL_ENABLE_SIGNALHANDLER=1
[ROCm/rccl commit: 700b473211 ]
2022-05-20 09:56:38 -06:00
Edgar
1bfc5d06f8
add a signal handler and backtrace
...
Tweak the signal handler and force non-release build
Increase ulimit locked memory value
Update the singal handler to use bfd symbol resolution.
Include configure logic to find bfd functions.
Add optionally c++ function name demangling
[ROCm/rccl commit: 2bf6d254b6 ]
2022-04-25 10:48:17 -04:00