Commit Graph

36 Commits

Author SHA1 Message Date
David Addison 8d71063e05 Add support for FP8 datatypes
Added new datatypes: f8e4m3, f8e5m2

Only supported on H100+ architectures and NCCL versions >= 2.24.0


[ROCm/rccl-tests commit: 501a149d57]
2025-04-18 19:20:59 -07:00
David Addison d516392fac Add PCI domain and device ID for GPU device BDF display
[ROCm/rccl-tests commit: b4300cc79d]
2025-02-28 13:25:51 -08:00
Junyu Ma e2a9cbb362 Perftests: Introduce NCCL_TESTS_SPLIT env
`NCCL_TESTS_SPLIT` serves as new way of computing the color for splitting communicators.

Will be overrided by `NCCL_TESTS_SPLIT_MASK`.

Examples:

NCCL_TESTS_SPLIT_MASK="0x7" # color = rank & 0x7. What we do today to run on a DGX with one GPU per node.
NCCL_TESTS_SPLIT="AND 0x7"  # color = rank & 0x7. New way to run on one GPU per node on a DGX, equivalent to NCCL_TESTS_SPLIT_MASK=0x7
NCCL_TESTS_SPLIT="MOD 72"   # color = rank % 72.  One GPU per NVLink domain on an NVL72 system.
NCCL_TESTS_SPLIT="DIV 72"   # color = rank / 72.  Intra NVLink domain on NVL72.

You can also use: "%" "&" "|" "/" for short.
Extra spaces in the middle will be automatically ignored.
Not case sensitive.

The followings are all equivalent:

NCCL_TESTS_SPLIT="%0x7"
NCCL_TESTS_SPLIT="%0b111"
NCCL_TESTS_SPLIT="AND 7"
NCCL_TESTS_SPLIT="and 0x7"


[ROCm/rccl-tests commit: a89cf07fe8]
2025-02-04 15:18:09 -08:00
John Bachan 69b9a05e71 Fixes to all tests that divide buffers by nranks so that they trim buffer sizes to be multiples of 16 bytes.
This ensures non-pow2 ranks have buffer addresses aligned suitably for performance.


[ROCm/rccl-tests commit: 29f4114f02]
2024-12-18 11:20:28 -08:00
David Addison 58349a42b2 Merge pull request #226 from netgroup/master
improve parsing of stepbytes (increment size) argument

[ROCm/rccl-tests commit: 9d26b8422b]
2024-07-30 14:58:54 -07:00
David Addison cf3ffb2f5f Added -N,--run_cycles option
[ROCm/rccl-tests commit: d2d40cc824]
2024-07-25 22:00:23 -07:00
Stefano Salsano a0e06f2133 improve parsing of stepbytes (increment size) argument
[ROCm/rccl-tests commit: 746549b28d]
2024-06-14 11:28:55 +02:00
Kaiming Ouyang 1922bd71cb Change ncclCommRegister size to maxBytes in serial comm init
[ROCm/rccl-tests commit: d028efcf35]
2024-06-06 06:54:48 -07:00
Giuseppe Congiu 411a7912f8 Add -R option to register user buffers
[ROCm/rccl-tests commit: a1efb427e7]
2024-06-03 01:04:58 -07:00
David Addison 5d52f0285c Added missing MPI_Comm_free() call before MPI_Finalize()
[ROCm/rccl-tests commit: c6afef0b6f]
2024-02-05 08:53:54 -08:00
David Addison 459b52158f Added an MPI_Barrier() call after MPI_Bcast() for HCOLL issue
[ROCm/rccl-tests commit: 1292b25553]
2023-10-12 16:53:32 -07:00
David Addison e1f13fac90 Make the -c option be a datacheck iteration count parameter
Default is 1


[ROCm/rccl-tests commit: 6c46206a47]
2023-09-13 14:03:38 -07:00
David Addison 6313530fcc Call cudaFreeHost() on wrongPerGpu not cudaFree()
[ROCm/rccl-tests commit: 24fcf64ed1]
2022-11-22 11:18:37 -08:00
David Addison 04b5c40b1c Add fflush(stdout) before perf output
[ROCm/rccl-tests commit: 3bd2bd292b]
2022-11-22 11:16:47 -08:00
Sylvain Jeaugey fdaa88710b Update NCCL tests
[ROCm/rccl-tests commit: d313d20a26]
2022-09-23 01:13:29 -07:00
David Addison a43863e1a7 Fix an issue with the last commit when data checking is disabled
[ROCm/rccl-tests commit: afa4c56b6a]
2022-09-07 11:23:49 -07:00
David Addison 59ed17798f Display N/A for error count in AlltoAll in-place test
AlltoAll does not support in-place buffers


[ROCm/rccl-tests commit: a0a14911ee]
2022-09-06 13:17:15 -07:00
John Bachan b5d746b58e Resync with NCCL 2.13
* Added "verifiable", a suite of kernels for generating and verifying reduction
  input and output arrays in a bit-precise way.
* Data corruption errors now reported in number of wrong elements instead of max
  deviation.
* Use ncclGetLastError.
* Don't run hypercube on non-powers of 2 ranks.
* Fix to hypercube data verification.
* Use "thread local" as the defaut CUDA capture mode.
* Replaced pthread_yield -> sched_yield()
* Bugfix to the cpu-side barrier/allreduce implementations.


[ROCm/rccl-tests commit: 51af5572bf]
2022-08-22 17:51:06 -07:00
David Addison 56ff821802 Resync with NCCL 2.11
New operator: mulsum
New test: gather


[ROCm/rccl-tests commit: f773748b46]
2021-09-17 09:02:45 -07:00
David Addison f81f5baaed Add CUDA graph support only for CUDA 11.3 and later builds
Fixes #90


[ROCm/rccl-tests commit: 1f8f541686]
2021-07-13 10:47:47 -07:00
David Addison 6719794fc8 Removed MPI_SUPPORT conditional compilation of average flag
[ROCm/rccl-tests commit: b9f90d12a9]
2021-07-12 11:43:57 -07:00
David Addison d3061dc2a9 Fix issues with MPI_Allreduce and multi-threaded tests
[ROCm/rccl-tests commit: 547e119d35]
2021-07-08 16:42:40 -07:00
David Addison 230983c84e Merge branch 'bfloat16'
[ROCm/rccl-tests commit: f476f4a17a]
2021-07-06 10:20:32 -07:00
David Addison a23cffe28a Added new option to report average iteration time
[ROCm/rccl-tests commit: 1dfc76eccc]
2021-06-30 19:36:07 -07:00
David Addison 1044cd1f32 Resync with changes in gitilab-master code
[ROCm/rccl-tests commit: 1ae8cdc315]
2021-06-30 13:16:04 -07:00
David Addison e73e5a239b Added support for CUDA graph capture/replay (-G)
[ROCm/rccl-tests commit: e55ad3796d]
2021-06-28 14:19:45 -07:00
David Addison a41268e26e Add support for ncclAvg operation
[ROCm/rccl-tests commit: cde7e769c1]
2021-06-28 09:41:58 -07:00
Greg Inozemtsev 45c28c6c36 Cleanup argument error handling and messages
Add error checking for minbytes and maxbytes arguments

Also accept lowercase literals when parsing size arguments and print errors and usage on stderr.


[ROCm/rccl-tests commit: c4de829d91]
2021-06-04 21:47:40 +00:00
David Addison 882c60210b Add support for new datatype: bfloat16
[ROCm/rccl-tests commit: e37545e491]
2021-03-15 17:13:35 -07:00
David Addison c62bde3272 Do not allocate memory for expected buffer if checking disabled
This allows the tests to be run with larger buffers


[ROCm/rccl-tests commit: 7677f3f608]
2021-01-20 17:08:40 -08:00
Sylvain Jeaugey cf70df2498 Merge pull request #46 from NVIDIA/p2p
Add alltoall perf test

[ROCm/rccl-tests commit: a7b304dde5]
2020-06-17 10:45:29 -07:00
Luke Yeager 3a6293b748 Fix some memory leaks
[ROCm/rccl-tests commit: af4fa0f4cf]
2020-06-17 10:44:32 -07:00
Sylvain Jeaugey c633de20d6 Add alltoall perf test
[ROCm/rccl-tests commit: 119a0ecf60]
2020-03-17 12:00:19 -07:00
David Addison 18902f40a7 Resync all tests with test code from NCCL 2.4
Major rework to merge most of the changes from the NCCL internal
tests into the public ones

Added "-m <agg_iters>" operation aggregation option.
Data integrity checking is now much more performant at scale.
Startup times at scale are improved.
Test latency units are now displayed in usec.


[ROCm/rccl-tests commit: cbe7f65400]
2019-04-05 13:42:15 -07:00
Sylvain Jeaugey 3958cc347e Print NCCL version at start
[ROCm/rccl-tests commit: 925a70576e]
2017-12-21 15:10:09 -08:00
Sylvain Jeaugey 4cb47ccb21 Initial commit
[ROCm/rccl-tests commit: b188a15299]
2017-08-08 16:18:34 -07:00