Skip to content

Commit 0891830

Browse files
committed
Update test_support.py
1 parent d04fc15 commit 0891830

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

libensemble/tools/test_support.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@ def _get_opt_value(option_name, cmd_line):
2727
return opt_val
2828

2929

30+
def _default_option_names(mpirunner, setting_type):
31+
"""Return MPI runner defaults for GPU setting options or None
32+
33+
Implement differently to in mpi_runner.py
34+
"""
35+
if mpirunner == "srun":
36+
if setting_type == "option_gpus_per_task":
37+
return "--gpus-per-task"
38+
else:
39+
return "--gpus-per-node"
40+
if mpirunner == "jsrun":
41+
if setting_type == "option_gpus_per_task":
42+
return "-g"
43+
return None
44+
45+
3046
def _get_expected_output(name, value):
3147
"""Return expected gpu runline setting"""
3248
if name.endswith("="):
@@ -152,7 +168,9 @@ def check_gpu_setting(task, assert_setting=True, print_setting=False, resources=
152168
if setting_type is not None:
153169
assert setting_type in gpu_settings, f"unknown setting type in platform_info: {setting_type}"
154170
if setting_type != "runner_default":
155-
expected_setting = gresources.platform_info.get("gpu_setting_name")
171+
expected_setting = gresources.platform_info.get(
172+
"gpu_setting_name", _default_option_names(mpirunner, setting_type)
173+
)
156174
assert expected_setting is not None, "gpu_setting_type must have a gpu_setting_name"
157175
if setting_type in ["option_gpus_per_node", "option_gpus_per_task"]:
158176
assert wresources.even_slots, f"Error: Found uneven slots on nodes {slots}"
@@ -169,12 +187,13 @@ def check_gpu_setting(task, assert_setting=True, print_setting=False, resources=
169187
assert wresources.even_slots, f"Error: Found uneven slots on nodes {slots}"
170188
cmd_line = True
171189
if mpirunner == "srun":
172-
expected_setting = "--gpus-per-node"
190+
expected_setting = "--gpus-per-task"
191+
gpus_per_task = True
173192
if _get_value(expected_setting, task.runline) is None:
174193
# Try gpus per task
175-
if _get_value("--gpus-per-task", task.runline) is not None:
176-
gpus_per_task = True
177-
expected_setting = "--gpus-per-task"
194+
if _get_value("--gpus-per-node", task.runline) is not None:
195+
gpus_per_task = False
196+
expected_setting = "--gpus-per-node"
178197
elif mpirunner == "jsrun":
179198
gpus_per_task = True
180199
expected_setting = "-g"

0 commit comments

Comments
 (0)