Licence Fluent/Abaqus
Les utilisateurs du logiciel Fluent/Abaqus sur EXPLOR doivent utiliser le nombre de licences dans leurs scripts de soumission. Le nombre de licences requises doit être en accord avec le nombre de processus MPI à exécuter par les scripts. Pour EXPLOR, nous avons un nombre maximum de licences actives qui a été ajusté à 320 processus MPI. Ce nombre maximum de licences actives est partagé pour tous les utilisateurs d’EXPLOR. Le nombre de licences est désormais une ressource qui sera prise en compte par SLURM pour allouer les JOBs des utilisateurs. Les processus exécutés sans le « TAG » des licences de ces logiciels (Fluent/Abaqus) peuvent être supprimés de l’exécution – sans aucun avertissement.
Fluent – max license: 320
Abaqus – max license: 320
Ex. JOB fluent avec 64 MPI processus
#$SBATCH –licenses=fluent:64
ou
#$SBATCH -L fluent:64
Ex. JOB abaqus avec 128 MPI processus
#$SBATCH –licenses=abaqus:128
ou
#$SBATCH -L abaqus:128
Lors de la soumission d’un JOB avec le << TAG >> de licence, le processus peut ne pas être exécuté immédiatement même s’il y a des nœuds disponibles. Cela signifie que toutes les licences logicielles Fluent/Abaqus sont déjà utilisées. Dans ce cas, le JOB de l’utilisateur attendra la ressource dans le système, qui dans ce cas est le numéro de licence demandé par le JOB via la licence << TAG >>. L’utilisateur peut vérifier le nombre de licences via les commandes
%scontrol show lic fluent
LicenseName=fluent
Total=320 Used=0 Free=320 Reserved=0 Remote=no
%scontrol show lic abaqus
LicenseName=abaqus
Total=320 Used=0 Free=320 Reserved=0 Remote=no
Exemple de script de job de Fluent
#!/bin/bash
#SBATCH --account=<group>
#SBATCH --partition=std
#SBATCH --job-name=Test
#SBATCH --output=slurm-%x.%N.%j.out
#SBATCH --error=slurm-%x.%N.%j.err
#SBATCH --nodes=1
#SBATCH --ntasks=16
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=1
#SBATCH --time=04:00:00
#SBATCH --license=fluent:16
env | grep -i slurm
echo ""
echo " JOB started: $(date) "
echo ""
cd $SLURM_SUBMIT_DIR
# Creating temporary directory
# do not run your JOB in the HOME or $SLURM_SUBMIT_DIR
WORKDIR="$SCRATCHDIR/job.$SLURM_JOB_ID.$USER"
mkdir -p $WORKDIR
echo ""
echo " WORKDIR: $WORKDIR"
echo ""
module purge
module load ansys/17.2
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1
ulimit -s unlimited
unset I_MPI_PMI_LIBRARY
srun hostname -s | sort -V > $WORKDIR/hosts.file
cp $SLURM_SUBMIT_DIR/* $WORKDIR
cd $WORKDIR
# you may change the executable 3ddp
# you may change the input.jou and/out output.jou names
# for the other options, they are necessary to run in parallel: do not touch them
# unless you really need
fluent 2ddp -g -mpi=intel -cnf=$WORKDIR/hosts.file -t$SLURM_NTASKS -i input.jou > output.jou
cp $WORKDIR/* $SLURM_SUBMIT_DIR
cd $SLURM_SUBMIT_DIR
# removing the $WORKDIR
rm $WORKDIR/*
rmdir $WORKDIR
echo ""
echo " JOB finished: $(date) "
echo ""