NCCL
This workload (test_template_name is NcclTest) allows users to execute NCCL benchmarks within the CloudAI framework.
Test TOML example:
name = "my_nccl_test"
description = "Example NCCL test"
test_template_name = "NcclTest"
[cmd_args]
docker_image_url = "nvcr.io#nvidia/pytorch:25.06-py3"
Test Scenario example:
name = "nccl-test"
[[Tests]]
id = "nccl.1"
num_nodes = 1
time_limit = "00:05:00"
test_name = "my_nccl_test"
Test-in-Scenario example:
name = "nccl-test"
[[Tests]]
id = "nccl.1"
num_nodes = 1
time_limit = "00:05:00"
name = "my_nccl_test"
description = "Example NCCL test"
test_template_name = "NcclTest"
[Tests.cmd_args]
docker_image_url = "nvcr.io#nvidia/pytorch:25.06-py3"
subtest_name = "all_reduce_perf_mpi"
iters = 100
Command Arguments
- class cloudai.workloads.nccl_test.nccl.NCCLCmdArgs(*, docker_image_url: str, subtest_name: Literal['all_reduce_perf_mpi', 'all_gather_perf_mpi', 'alltoall_perf_mpi', 'broadcast_perf_mpi', 'gather_perf_mpi', 'hypercube_perf_mpi', 'reduce_perf_mpi', 'reduce_scatter_perf_mpi', 'scatter_perf_mpi', 'sendrecv_perf_mpi', 'bisection_perf_mpi', 'all_reduce_perf', 'all_gather_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf', 'bisection_perf'] | list[Literal['all_reduce_perf_mpi', 'all_gather_perf_mpi', 'alltoall_perf_mpi', 'broadcast_perf_mpi', 'gather_perf_mpi', 'hypercube_perf_mpi', 'reduce_perf_mpi', 'reduce_scatter_perf_mpi', 'scatter_perf_mpi', 'sendrecv_perf_mpi', 'bisection_perf_mpi', 'all_reduce_perf', 'all_gather_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf', 'bisection_perf']] = 'all_reduce_perf_mpi', nthreads: int | list[int] = 1, ngpus: int | list[int] = 1, minbytes: str | list[str] = '32M', maxbytes: str | list[str] = '32M', stepbytes: str | list[str] = '1M', op: Literal['sum', 'prod', 'min', 'max', 'avg', 'all'] | list[Literal['sum', 'prod', 'min', 'max', 'avg', 'all']] = 'sum', datatype: Literal['uint8', 'float'] | list[Literal['uint8', 'float']] = 'float', root: int | list[int] = 0, iters: int | list[int] = 20, warmup_iters: int | list[int] = 5, agg_iters: int | list[int] = 1, average: int | list[int] = 1, parallel_init: int | list[int] = 0, check: int | list[int] = 1, blocking: int | list[int] = 0, cudagraph: int | list[int] = 0, stepfactor: int | list[int] | None = None, **extra_data: Any)[source]
Bases:
CmdArgsNCCL test command arguments.
- docker_image_url: str
- subtest_name: Literal['all_reduce_perf_mpi', 'all_gather_perf_mpi', 'alltoall_perf_mpi', 'broadcast_perf_mpi', 'gather_perf_mpi', 'hypercube_perf_mpi', 'reduce_perf_mpi', 'reduce_scatter_perf_mpi', 'scatter_perf_mpi', 'sendrecv_perf_mpi', 'bisection_perf_mpi', 'all_reduce_perf', 'all_gather_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf', 'bisection_perf'] | list[Literal['all_reduce_perf_mpi', 'all_gather_perf_mpi', 'alltoall_perf_mpi', 'broadcast_perf_mpi', 'gather_perf_mpi', 'hypercube_perf_mpi', 'reduce_perf_mpi', 'reduce_scatter_perf_mpi', 'scatter_perf_mpi', 'sendrecv_perf_mpi', 'bisection_perf_mpi', 'all_reduce_perf', 'all_gather_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf', 'bisection_perf']]
- nthreads: int | list[int]
- ngpus: int | list[int]
- minbytes: str | list[str]
- maxbytes: str | list[str]
- stepbytes: str | list[str]
- op: Literal['sum', 'prod', 'min', 'max', 'avg', 'all'] | list[Literal['sum', 'prod', 'min', 'max', 'avg', 'all']]
- datatype: Literal['uint8', 'float'] | list[Literal['uint8', 'float']]
- root: int | list[int]
- iters: int | list[int]
- warmup_iters: int | list[int]
- agg_iters: int | list[int]
- average: int | list[int]
- parallel_init: int | list[int]
- check: int | list[int]
- blocking: int | list[int]
- cudagraph: int | list[int]
- stepfactor: int | list[int] | None
Test Definition
- class cloudai.workloads.nccl_test.nccl.NCCLTestDefinition(*, name: str, description: str, test_template_name: str, cmd_args: NCCLCmdArgs, extra_env_vars: dict[str, str | List[str]] = {}, extra_cmd_args: dict[str, str] = {}, extra_container_mounts: list[str] = [], git_repos: list[GitRepo] = [], nsys: NsysConfiguration | None = None, predictor: PredictorConfig | None = None, agent: str = 'grid_search', agent_steps: int = 1, agent_metrics: list[str] = ['default'], agent_reward_function: str = 'inverse')[source]
Bases:
TestDefinitionTest object for NCCL.
- cmd_args: NCCLCmdArgs
- property extra_args_str: str
- property docker_image: DockerImage
- property installables: list[Installable]
- was_run_successful(tr: TestRun) → JobStatusResult[source]