@@ -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+
165178class 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