UCC#
This workload (test_template_name is UCCTest) allows users to execute UCC benchmarks within the CloudAI framework.
Usage Examples#
Test TOML example:
name = "ucc"
description = "Example UCC test"
test_template_name = "UCCTest"
[cmd_args]
docker_image_url = "nvcr.io#nvidia/pytorch:25.06-py3"
Test Scenario example:
name = "ucc-test"
[[Tests]]
id = "ucc.1"
num_nodes = 1
time_limit = "00:02:00"
test_name = "ucc"
Test-in-Scenario example:
name = "ucc-test"
[[Tests]]
id = "ucc.1"
num_nodes = 1
time_limit = "00:02:00"
name = "ucc"
description = "Example UCC test"
test_template_name = "UCCTest"
[Tests.cmd_args]
docker_image_url = "nvcr.io#nvidia/pytorch:25.06-py3"
API Documentation#
Command Arguments#
- class cloudai.workloads.ucc_test.ucc.UCCCmdArgs(
- *,
- docker_image_url: str,
- collective: Literal['allgather', 'allgatherv', 'allreduce', 'alltoall', 'alltoallv', 'barrier', 'bcast', 'gather', 'gatherv', 'reduce', 'reduce_scatter', 'reduce_scatterv', 'scatter', 'scatterv', 'memcpy', 'reducedt', 'reducedt_strided'] | list[Literal['allgather', 'allgatherv', 'allreduce', 'alltoall', 'alltoallv', 'barrier', 'bcast', 'gather', 'gatherv', 'reduce', 'reduce_scatter', 'reduce_scatterv', 'scatter', 'scatterv', 'memcpy', 'reducedt', 'reducedt_strided']] = 'alltoall',
- b: int | list[int] = 1,
- e: str | list[str] = '8M',
- gen: str | list[str] | None = None,
- use_deepep_matrix: bool = False,
- **extra_data: Any,
Bases:
CmdArgsUCC test command arguments.
Test Definition#
- class cloudai.workloads.ucc_test.ucc.UCCTestDefinition(*, name: str, description: str, test_template_name: str, cmd_args: ~cloudai.workloads.ucc_test.ucc.UCCCmdArgs, dse_excluded_args: list[str] = <factory>, extra_env_vars: dict[str, str | ~typing.List[str]] = {}, extra_cmd_args: dict[str, str] = {}, extra_container_mounts: list[str] = [], git_repos: list[~cloudai._core.installables.git_repo.GitRepo] = [], nsys: ~cloudai.models.workload.NsysConfiguration | None = None, predictor: ~cloudai.models.workload.PredictorConfig | None = None, agent: str = 'grid_search', agent_steps: int = 1, agent_metrics: list[str] = ['default'], agent_reward_function: str = 'inverse', agent_config: dict[str, ~typing.Any] | None = None, env_params: dict[str, ~cloudai.configurator.env_params.EnvParamSpec] = <factory>)[source]#
Bases:
TestDefinitionTest object for UCC.
- property is_domain_randomization_enabled: bool#
at least one
env_paramsannotation.- Type:
Whether the config declares domain randomization
- is_dse_excluded_arg(path: str) bool#
Return whether a dot-separated cmd_args path should be ignored by DSE.
- is_env_sampled(cmd_args_path: str) bool#
Whether a cmd_args field is env-sampled (env draws it per trial, not the agent).
- validator validate_env_params » all fields#
Validate env_params annotations against cmd_args.
env_paramsis an annotation: each key names acmd_argsfield whose value is the candidate set (the single source of truth), and the entry carries only how to sample. So each key must name a realcmd_argsfield whose value is a candidate list; a scalar is already fixed, so annotating it is a meaningless label and is rejected here. Whenweightsare declared, the list needs >= 2 values and the weights must align 1:1 with it. Sampling, persistence, the per-trial cmd_args overlay, and the cache key all live inCloudAIGymEnv; keeping this shape check in core lets the overlay stay agent- and workload-agnostic rather than re-implemented per workload.