IGoR is a C++ software designed to infer V(D)J recombination related processes from sequencing data such as:
Par défaut, IGoR est compilé avec OpenMP et utilise le nombre max de threads.
Autrement dit, si vous soumettez un job qui ne réserve qu'un seul CPU/coeur, et que vous lancez simplement igor
, le programme va détecter 16 CPUs sur le noeud de calcul. Igor lancera alors 16 threads OpenMP. Mais Slurm limite votre job a un seul CPU : donc les 16 threads vont en réalité s'exécuter sur un seul coeur, ce qui ralentira considérablement l'exécution.
Quand vous utilisez igor
en lançant un job sous slurm, vous devez donc :
#SBATCH --ntasks=1 #SBATCH --cpus-per-task=8
-threads $SLURM_CPUS_PER_TASK
lors de l'appel à igor
Référence : https://qmarcou.github.io/IGoR/#general-commands-summary
Les sources ont été compilées avec GCC 6.4, les versions compilées avec GCC 8 ou 9 “plantent”.