diff --git a/eessi/testsuite/eessi_mixin.py b/eessi/testsuite/eessi_mixin.py index ad2cc0d7..c8ede0a6 100644 --- a/eessi/testsuite/eessi_mixin.py +++ b/eessi/testsuite/eessi_mixin.py @@ -1,3 +1,4 @@ +from reframe.core.backends import getlauncher from reframe.core.builtins import parameter, run_after, run_before, variable from reframe.core.exceptions import ReframeFatalError from reframe.core.pipeline import RegressionMixin @@ -53,6 +54,7 @@ class EESSI_Mixin(RegressionMixin): always_request_gpus = None require_buildenv_module = False require_internet = False + launcher = None # Create ReFrame variables for logging runtime environment information cvmfs_repo_name = variable(str, value='None') @@ -213,6 +215,12 @@ def EESSI_mixin_assign_tasks_per_compute_unit(self): # Set compact process binding hooks.set_compact_process_binding(self) + @run_after('setup') + def EESSI_set_launcher(self): + """Select custom launcher""" + if self.launcher: + self.job.launcher = getlauncher(self.launcher)() + @run_after('setup') def EESSI_mixin_request_mem(self): """Call hook to request the required amount of memory per node""" diff --git a/eessi/testsuite/tests/apps/numpy/numpy.py b/eessi/testsuite/tests/apps/numpy/numpy.py index 52fa8f67..8532fa80 100644 --- a/eessi/testsuite/tests/apps/numpy/numpy.py +++ b/eessi/testsuite/tests/apps/numpy/numpy.py @@ -11,7 +11,6 @@ """ import reframe as rfm import reframe.utility.sanity as sn -from reframe.core.backends import getlauncher from reframe.core.builtins import parameter, run_after, run_before, sanity_function, variable from eessi.testsuite.constants import COMPUTE_UNITS, DEVICE_TYPES, SCALES @@ -32,6 +31,8 @@ class EESSI_NumPy(rfm.RunOnlyRegressionTest, EESSI_Mixin): k for (k, v) in SCALES.items() if v['num_nodes'] == 1 ]) + thread_binding = 'compact' + launcher = 'local' # no MPI module is loaded in this test matrix_size = variable(str, value='8192') iterations = variable(str, value='4') @@ -58,11 +59,6 @@ def set_executable_opts(self): '--iterations-eigen', self.iterations_eigen, ] - @run_after('setup') - def set_launcher(self): - """Select local launcher""" - self.job.launcher = getlauncher('local')() - @sanity_function def assert_numpy_found(self): """Assert that NumPy is found"""