Skip to content

Commit 1a9f341

Browse files
authored
Add LUMI support (#1546)
1 parent db26ac9 commit 1a9f341

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

libensemble/resources/platforms.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,19 @@ class GenericROCm(Platform):
162162
scheduler_match_slots: bool = True
163163

164164

165+
class Lumi(Platform):
166+
mpi_runner: str = "srun"
167+
cores_per_node: int = 64
168+
logical_cores_per_node: int = 128
169+
170+
171+
class LumiGPU(Lumi):
172+
gpus_per_node: int = 8
173+
gpu_setting_type: str = "env"
174+
gpu_setting_name: str = "ROCR_VISIBLE_DEVICES"
175+
scheduler_match_slots: bool = True
176+
177+
165178
class Perlmutter(Platform):
166179
mpi_runner: str = "srun"
167180

@@ -243,6 +256,8 @@ class Known_platforms(BaseModel):
243256
aurora: Aurora = Aurora()
244257
generic_rocm: GenericROCm = GenericROCm()
245258
frontier: Frontier = Frontier()
259+
lumi: Lumi = Lumi()
260+
lumi_g: LumiGPU = LumiGPU()
246261
perlmutter: Perlmutter = Perlmutter()
247262
perlmutter_c: PerlmutterCPU = PerlmutterCPU()
248263
perlmutter_g: PerlmutterGPU = PerlmutterGPU()
@@ -272,6 +287,16 @@ def known_envs():
272287
else:
273288
name = "perlmutter"
274289
logger.manager_warning("Perlmutter detected, but no compute partition detected. Are you on login nodes?")
290+
if os.environ.get("SLURM_CLUSTER_NAME") == "lumi":
291+
partition = os.environ.get("SLURM_JOB_PARTITION")
292+
print(f"Lumi partition: {partition}")
293+
if not partition:
294+
logger.manager_warning("LUMI detected, but no compute partition detected. Are you on login nodes?")
295+
if partition and partition.endswith("-g"):
296+
name = "lumi_g"
297+
print(f"Lumi GPU detected: {name}")
298+
else:
299+
name = "lumi"
275300
return name
276301

277302

0 commit comments

Comments
 (0)