From 35700360b70bf0ef678fbb3505dda2a3442a10db Mon Sep 17 00:00:00 2001 From: dbeltran Date: Wed, 19 Dec 2018 14:30:22 +0100 Subject: [PATCH] now AS treats THREADS in mn4 as if it is #SBATCH --cpus-per-task=n (wrong branch name should be issue#326), #326 --- autosubmit/platforms/headers/slurm_header.py | 10 ++++++++++ autosubmit/platforms/paramiko_platform.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/autosubmit/platforms/headers/slurm_header.py b/autosubmit/platforms/headers/slurm_header.py index aaa517374..f857f9be4 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 4fac1a70c..711b02310 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'): -- GitLab