Skip to content

Commit 5867179

Browse files
committed
Rename field model_config to model_cfg in NIXLKVBench workload
1 parent caa903c commit 5867179

File tree

3 files changed

+44
-2
lines changed

3 files changed

+44
-2
lines changed

src/cloudai/workloads/nixl_kvbench/nixl_kvbench.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ class NIXLKVBenchCmdArgs(CmdArgs):
3333
kvbench_script: str = "/workspace/nixl/benchmark/kvbench/main.py"
3434
python_executable: str = "python"
3535

36+
model_cfg: str | list[str] | None = None
37+
"""Path to model configuration file used by NIXL KVBench."""
38+
3639
backend: str | list[str] | None = None
3740

3841

@@ -55,14 +58,15 @@ def installables(self) -> list[Installable]:
5558
@property
5659
def cmd_args_dict(self) -> dict[str, str | list[str]]:
5760
return self.cmd_args.model_dump(
61+
by_alias=True,
5862
exclude={
5963
"kvbench_script",
6064
"python_executable",
6165
"etcd_path",
6266
"wait_etcd_for",
6367
"docker_image_url",
6468
"command",
65-
}
69+
},
6670
)
6771

6872
def was_run_successful(self, tr: TestRun) -> JobStatusResult:

src/cloudai/workloads/nixl_kvbench/slurm_command_gen_strategy.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,14 @@ def gen_kvbench_command(self) -> list[str]:
6666
f"{self.tdef.cmd_args.kvbench_script}",
6767
self.tdef.cmd_args.command,
6868
]
69+
6970
for k, v in self.test_run.test.cmd_args_dict.items():
70-
command.append(f"--{k} {v}")
71+
if v is None:
72+
continue
73+
74+
key = "model_config" if k == "model_cfg" else k
75+
76+
command.append(f"--{key} {v}")
7177

7278
command.append("--etcd_endpoints http://$NIXL_ETCD_ENDPOINTS")
7379

tests/slurm_command_gen_strategy/test_nixl_kvbench_command_gen.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,35 @@ def test_gen_kvbench_ucx(kvbench_tr: TestRun, slurm_system: SlurmSystem):
6767
"--op_type READ",
6868
"--etcd_endpoints http://$NIXL_ETCD_ENDPOINTS",
6969
]
70+
71+
72+
def test_gen_kvbench_model_cfg_maps_to_model_config(kvbench_tr: TestRun, slurm_system: SlurmSystem):
73+
kvbench_tr.test.cmd_args = NIXLKVBenchCmdArgs.model_validate(
74+
{
75+
"docker_image_url": "docker://image/url",
76+
"model_cfg": "./cfg.yaml",
77+
}
78+
)
79+
cmd_gen = NIXLKVBenchSlurmCommandGenStrategy(slurm_system, kvbench_tr)
80+
cmd = cmd_gen.gen_kvbench_command()
81+
82+
# Ensure the alias 'model_cfg' is mapped to '--model_config'
83+
assert "--model_config ./cfg.yaml" in cmd
84+
assert not any(arg.startswith("--model_cfg ") for arg in cmd)
85+
86+
87+
def test_gen_kvbench_omits_none_values(kvbench_tr: TestRun, slurm_system: SlurmSystem):
88+
kvbench_tr.test.cmd_args = NIXLKVBenchCmdArgs.model_validate(
89+
{
90+
"docker_image_url": "docker://image/url",
91+
"model": "./model.yaml",
92+
"op_type": None,
93+
"source": None,
94+
}
95+
)
96+
cmd_gen = NIXLKVBenchSlurmCommandGenStrategy(slurm_system, kvbench_tr)
97+
cmd = cmd_gen.gen_kvbench_command()
98+
99+
# Ensure None-valued args are omitted entirely
100+
assert not any(arg.startswith("--op_type ") for arg in cmd)
101+
assert not any(arg.startswith("--source ") for arg in cmd)

0 commit comments

Comments
 (0)