OSU#
This workload (test_template_name is OSUBench) allows you to execute OSU Micro Benchmarks
within the CloudAI framework.
Usage Example#
Test example:
name = "osu_example"
test_template_name = "OSUBench"
description = "OSU Benchmark example"
[cmd_args]
"docker_image_url" = "<docker container url here>"
"benchmarks_dir" = "/directory/with/osu/binaries/in/container"
"benchmark" = ["osu_allreduce", "osu_allgather"]
"iterations" = 10
"message_size" = "1024"
Test Scenario example:
name = "osu_example"
[[Tests]]
id = "Tests.1"
test_name = "osu_example"
num_nodes = "2"
time_limit = "00:20:00"
Test-in-Scenario example:
name = "osu-test"
[[Tests]]
id = "Tests.osu_allreduce"
num_nodes = 2
time_limit = "00:05:00"
name = "osu_example"
description = "OSU allreduce 1KB"
test_template_name = "OSUBench"
[Tests.cmd_args]
docker_image_url = "<docker container url here>"
benchmarks_dir = "/directory/with/osu/binaries/in/container"
benchmark = "osu_allreduce"
iterations = 10
message_size = "1024"
API Documentation#
Command Arguments#
- class cloudai.workloads.osu_bench.osu_bench.OSUBenchCmdArgs(
- *,
- docker_image_url: str,
- benchmarks_dir: str,
- benchmark: str | List[str],
- message_size: str | List[str] | None = None,
- iterations: int | None = None,
- warmup: int | None = None,
- mem_limit: int | None = None,
- full: bool = True,
- **extra_data: Any,
Bases:
CmdArgsCommand line arguments for a OSU Benchmark test.
- field docker_image_url: str [Required]#
URL of the Docker image to use for the test.
- field benchmarks_dir: str [Required]#
Directory with the OSU Benchmark binaries inside the container.
- field benchmark: str | List[str] [Required]#
Name of the benchmark to run.
- field message_size: str | List[str] | None = None#
Message size for the benchmark.
Examples:
128 // min = default, max = 128 2:128 // min = 2, max = 128 2: // min 2, max = default
- field iterations: int | None = None#
Number of iterations for the benchmark.
- field warmup: int | None = None#
Number of warmup iterations to skip before timing.
- field mem_limit: int | None = None#
Per-process maximum memory consumption in bytes.
- field full: bool = True#
Print full format listing of results.
Test Definition#
- class cloudai.workloads.osu_bench.osu_bench.OSUBenchTestDefinition(*, name: str, description: str, test_template_name: str, cmd_args: ~cloudai.workloads.osu_bench.osu_bench.OSUBenchCmdArgs, 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)[source]#
Bases:
TestDefinitionTest definition for OSU Benchmark test.
- is_dse_excluded_arg(path: str) bool#
Return whether a dot-separated cmd_args path should be ignored by DSE.