From 265848ed2c3f729848bd8b37d75ee88358281725 Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Mon, 15 Mar 2021 16:33:01 +0100
Subject: [PATCH] Using more cpu when launching on slurm

---
 scripts/launchSlurmArray.py | 50 ++++++++++++++++++++++++++++++++++---
 1 file changed, 47 insertions(+), 3 deletions(-)

diff --git a/scripts/launchSlurmArray.py b/scripts/launchSlurmArray.py
index 69d9eb1..7de4c91 100644
--- a/scripts/launchSlurmArray.py
+++ b/scripts/launchSlurmArray.py
@@ -12,7 +12,52 @@ def launchSlurmArray(names, commands, jobName, device, nbHours, limit) :
 
   commandList = " ".join(commands)
 
-  if "jean-zay" in hostname :
+  if ".cluster" in hostname :
+    print("""#! /usr/bin/env bash
+
+#SBATCH --array=0-{}%{}
+#SBATCH --job-name={}
+#SBATCH --output=%A_%a.out
+#SBATCH --error=%A_%a.err
+#SBATCH --open-mode=append
+#SBATCH --ntasks=1
+#SBATCH --cpus-per-task=4
+#SBATCH --partition=skylake
+#SBATCH -A b250
+#SBATCH --time={}:00:00
+
+module purge
+module load userspace/all
+module load gcc/10.2.0
+module load python3/3.8.6
+
+names=({})
+commands=({})
+
+newOut=${{names[$SLURM_ARRAY_TASK_ID]}}".stdout"
+newErr=${{names[$SLURM_ARRAY_TASK_ID]}}".stderr"
+oldOut=$SLURM_ARRAY_JOB_ID"_"$SLURM_ARRAY_TASK_ID".out"
+oldErr=$SLURM_ARRAY_JOB_ID"_"$SLURM_ARRAY_TASK_ID".err"
+tmpFile=$SLURM_ARRAY_JOB_ID"_"$SLURM_ARRAY_TASK_ID".tmp"
+
+touch $newOut
+
+cp $newOut $tmpFile
+mv $oldOut $newOut
+cat $tmpFile >> $newOut
+
+touch $newErr
+
+cp $newErr $tmpFile
+mv $oldErr $newErr
+cat $tmpFile >> $newErr
+
+rm $tmpFile
+
+eval "${{commands[$SLURM_ARRAY_TASK_ID]}}"
+""".format(len(names)-1, limit, jobName, nbHours, " ".join(names), " ".join(commands)), file=sFile)
+    sFile.close()
+  elif "jean-zay" in hostname :
     print("""#! /usr/bin/env bash
 
 #SBATCH --array=0-{}%{}
@@ -66,8 +111,7 @@ eval "${{commands[$SLURM_ARRAY_TASK_ID]}}"
 #SBATCH --error=%A_%a.err
 #SBATCH --open-mode=append
 #SBATCH --ntasks=1
-#SBATCH --cpus-per-task=1
-#SBATCH --hint=nomultithread
+#SBATCH --cpus-per-task=4
 #SBATCH --partition={}
 #SBATCH --time={}:00:00
 
-- 
GitLab