diff --git a/autosubmit/platforms/headers/slurm_header.py b/autosubmit/platforms/headers/slurm_header.py index aaa517374ef8831960ee959ce9582f1ced902834..f857f9be4cd81bc0b7d0af5404c4da9b2d667755 100644 --- a/autosubmit/platforms/headers/slurm_header.py +++ b/autosubmit/platforms/headers/slurm_header.py @@ -84,6 +84,12 @@ class SlurmHeader(object): return "SBATCH --mem-per-cpu {0}".format(job.parameters['MEMORY_PER_TASK']) return "" + def get_threads_per_task(self, job): + if job.parameters['NUMTHREADS'] == '': + return "" + else: + return "SBATCH --cpus-per-task={0}".format(job.parameters['NUMTHREADS']) + # noinspection PyMethodMayBeStatic,PyUnusedLocal def get_custom_directives(self, job): """ @@ -99,6 +105,8 @@ class SlurmHeader(object): return '\n'.join(str(s) for s in job.parameters['CUSTOM_DIRECTIVES']) return "" + + def get_tasks_per_node(self, job): """ Returns memory per task directive for the specified job @@ -121,6 +129,7 @@ class SlurmHeader(object): #%ACCOUNT_DIRECTIVE% #%MEMORY_DIRECTIVE% #%TASKS_PER_NODE_DIRECTIVE% + #%THREADS% #%NUMTASK% #SBATCH -n %NUMPROC% #SBATCH -t %WALLCLOCK%:00 @@ -142,6 +151,7 @@ class SlurmHeader(object): #%MEMORY_DIRECTIVE% #%MEMORY_PER_TASK_DIRECTIVE% #%TASKS_PER_NODE_DIRECTIVE% + #%THREADS% #SBATCH -n %NUMPROC% #SBATCH -t %WALLCLOCK%:00 #SBATCH -J %JOBNAME% diff --git a/autosubmit/platforms/paramiko_platform.py b/autosubmit/platforms/paramiko_platform.py index 4fac1a70ca9f7f4797bb22a35b0d7c693b04f51a..711b02310cabb8a492594f29857f1e30859a02c6 100644 --- a/autosubmit/platforms/paramiko_platform.py +++ b/autosubmit/platforms/paramiko_platform.py @@ -441,7 +441,7 @@ class ParamikoPlatform(Platform): if hasattr(self.header, 'get_tasks_per_node'): header = header.replace('%TASKS_PER_NODE_DIRECTIVE%', self.header.get_tasks_per_node(job)) if hasattr(self.header, 'get_threads_per_task'): - header = header.replace('%THREADS_PER_TASK_DIRECTIVE%', self.header.get_threads_per_task(job)) + header = header.replace('%THREADS%', self.header.get_threads_per_task(job)) if hasattr(self.header, 'get_scratch_free_space'): header = header.replace('%SCRATCH_FREE_SPACE_DIRECTIVE%', self.header.get_scratch_free_space(job)) if hasattr(self.header, 'get_custom_directives'):