diff --git a/reframe/core/pipeline.py b/reframe/core/pipeline.py index ea63aaa1c9..e97ad769d4 100644 --- a/reframe/core/pipeline.py +++ b/reframe/core/pipeline.py @@ -54,6 +54,7 @@ class RegressionTest(object): num_tasks_per_core = IntegerField('num_tasks_per_core', allow_none=True) num_tasks_per_socket = IntegerField('num_tasks_per_socket', allow_none=True) use_multithreading = BooleanField('use_multithreading', allow_none=True) + exclusive_access = BooleanField('exclusive_access') local = BooleanField('local') prefix = StringField('prefix') sourcesdir = StringField('sourcesdir', allow_none=True) @@ -103,6 +104,7 @@ def __init__(self, name, prefix, system, resources): self.num_tasks_per_core = None self.num_tasks_per_socket = None self.use_multithreading = None + self.exclusive_access = False # True only if check is to be run locally self.local = False @@ -277,6 +279,7 @@ def _setup_job(self, **job_opts): num_tasks_per_core=self.num_tasks_per_core, num_tasks_per_socket=self.num_tasks_per_socket, use_smt=self.use_multithreading, + exclusive_access=self.exclusive_access, launcher=self._launcher_type, stdout=self.stdout, stderr=self.stderr, diff --git a/reframe/core/schedulers.py b/reframe/core/schedulers.py index 768380e1e0..e6e4bfd9ff 100644 --- a/reframe/core/schedulers.py +++ b/reframe/core/schedulers.py @@ -235,7 +235,6 @@ class SlurmJob(Job): def __init__(self, time_limit = (0, 10, 0), use_smt = None, - exclusive = True, nodelist = None, exclude = None, partition = None, @@ -245,12 +244,13 @@ def __init__(self, num_cpus_per_task=None, num_tasks_per_core=None, num_tasks_per_socket=None, + exclusive_access = False, **kwargs): super().__init__(**kwargs) self.partition = partition self.time_limit = time_limit self.use_smt = use_smt - self.exclusive = exclusive + self.exclusive_access = exclusive_access self.nodelist = nodelist self.exclude = exclude self.reservation = reservation @@ -291,7 +291,7 @@ def emit_preamble(self, builder): if self.partition: builder.verbatim('%s --partition=%s' % (self.prefix, self.partition)) - if self.exclusive: + if self.exclusive_access: builder.verbatim('%s --exclusive' % self.prefix) if self.account: diff --git a/reframe/settings.py b/reframe/settings.py index 584d8aa3c3..c8fe58ab5b 100644 --- a/reframe/settings.py +++ b/reframe/settings.py @@ -8,7 +8,7 @@ from reframe.core.fields import ReadOnlyField class RegressionSettings: - version = ReadOnlyField('2.5') + version = ReadOnlyField('2.6') module_name = ReadOnlyField('reframe') job_state_poll_intervals = ReadOnlyField([ 1, 2, 3 ]) job_init_poll_intervals = ReadOnlyField([ 1 ])