diff --git a/benchmarks/modules/utils.py b/benchmarks/modules/utils.py index d47784fc..2e4c6eb7 100644 --- a/benchmarks/modules/utils.py +++ b/benchmarks/modules/utils.py @@ -290,6 +290,14 @@ def set_sge_num_slots(self): # Set the total number of CPUs to be requested for the SGE scheduler. self.extra_resources['mpi'] = {'num_slots': num_tasks * num_cpus_per_task} + @run_before('compile') + def set_isambard_memory(self): + # We define the `memory` extra resource, so that we + # can use the corresponding resources in the config file. + system, partition = self.current_partition.fullname.split(':') + if system == "isambard-phase3": + self.extra_resources['memory'] = {} + @run_after('setup') def setup_build_job_num_cpus(self): # When running a build on a compute node, ReFrame by default uses only a diff --git a/benchmarks/reframe_config.py b/benchmarks/reframe_config.py index dafcea4f..2898967b 100644 --- a/benchmarks/reframe_config.py +++ b/benchmarks/reframe_config.py @@ -434,9 +434,9 @@ def spack_root_to_path(): }, 'resources': [ { - 'name': 'cpu', - # TODO: memory should be a separate resource. - 'options': ['ncpus={num_cpus}:mem=100g'], + 'name': 'memory', + # TODO: memory should be a more general resource. + 'options': ['mem=100g'], }, ], }, @@ -455,6 +455,13 @@ def spack_root_to_path(): 'num_sockets': 2, 'num_cpus_per_socket': 64, }, + 'resources': [ + { + 'name': 'memory', + # TODO: memory should be a more general resource. + 'options': ['mem=100g'], + }, + ], }, ] }, # end Isambard Phase3