Clarified use of Mebibytes and Gibibytes for sizes

This commit is contained in:
David Addison 2026-01-06 14:59:17 -08:00
parent 2656c58421
commit 7278698c1b
2 changed files with 8 additions and 6 deletions

View File

@ -32,13 +32,14 @@ NCCL tests can run on multiple processes, multiple threads, and multiple CUDA de
### Quick examples ### Quick examples
Run on single node with 8 GPUs (`-g 8`), scanning from 8 Bytes to 128MBytes : Run on single node with 8 GPUs (`-g 8`), scanning from 8 Bytes to 128MiB (Mebibytes), doubling between each test (`-f 2`) :
```shell ```shell
$ ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8 $ ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8
``` ```
Run 64 MPI processes on nodes with 8 GPUs each, for a total of 64 GPUs spread across 8 nodes : Run 64 MPI processes on nodes with 8 GPUs each, for a total of 64 GPUs spread across 8 nodes.
Scanning from 8 Bytes to 32GiB (Gibibytes), doubling between each test (`-f 2`).
(NB: The nccl-tests binaries must be compiled with `MPI=1` for this case) (NB: The nccl-tests binaries must be compiled with `MPI=1` for this case)
```shell ```shell
@ -57,10 +58,10 @@ All tests support the same set of arguments :
* `-t,--nthreads <num threads>` number of threads per process. Default : 1. * `-t,--nthreads <num threads>` number of threads per process. Default : 1.
* `-g,--ngpus <GPUs per thread>` number of gpus per thread. Default : 1. * `-g,--ngpus <GPUs per thread>` number of gpus per thread. Default : 1.
* Sizes to scan * Sizes to scan
* `-b,--minbytes <min size in bytes>` minimum size to start with. Default : 32M. * `-b,--minbytes <min size in bytes>` minimum size to start with. Default : 32M (Mebibytes).
* `-e,--maxbytes <max size in bytes>` maximum size to end at. Default : 32M. * `-e,--maxbytes <max size in bytes>` maximum size to end at. Default : 32M (Mebibytes).
* Increments can be either fixed or a multiplication factor. Only one of those should be used * Increments can be either fixed or a multiplication factor. Only one of those should be used.
* `-i,--stepbytes <increment size>` fixed increment between sizes. Default : 1M. * `-i,--stepbytes <increment size>` fixed increment between sizes. Default : 1M (Mebibytes).
* `-f,--stepfactor <increment factor>` multiplication factor between sizes. Default : disabled. * `-f,--stepfactor <increment factor>` multiplication factor between sizes. Default : disabled.
* NCCL operations arguments * NCCL operations arguments
* `-o,--op <sum/prod/min/max/avg/all>` Specify which reduction operation to perform. Only relevant for reduction operations like Allreduce, Reduce or ReduceScatter. Default : Sum. * `-o,--op <sum/prod/min/max/avg/all>` Specify which reduction operation to perform. Only relevant for reduction operations like Allreduce, Reduce or ReduceScatter. Default : Sum.

View File

@ -210,6 +210,7 @@ testResult_t initComms(ncclComm_t* comms, int nComms, int firstRank, int nRanks,
return testSuccess; return testSuccess;
} }
// NOTE: We use the binary system, so M=Mebibytes and G=Gibibytes
static double parsesize(const char *value) { static double parsesize(const char *value) {
long long int units; long long int units;
double size; double size;