38,757
edits
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 29: | Line 29: | ||
* <code>starccm-mixed</code> pour le format précision mixte, soit <code>module load starccm-mixed/19.04.007</code>. | * <code>starccm-mixed</code> pour le format précision mixte, soit <code>module load starccm-mixed/19.04.007</code>. | ||
<div class="mw-translate-fuzzy"> | |||
Quand vous soumettez des tâches sur une grappe pour la première fois, vous devrez configurer votre environnement pour l’utilisation de votre licence. Si vous utilisez le serveur CD-adapco qui vous permet de payer uniquement pour votre consommation, créez simplement un fichier <code>~/.licenses/starccm.lic</code> comme décrit ci-dessus dans <i>Fichier pour une licence POD</i>. | Quand vous soumettez des tâches sur une grappe pour la première fois, vous devrez configurer votre environnement pour l’utilisation de votre licence. Si vous utilisez le serveur CD-adapco qui vous permet de payer uniquement pour votre consommation, créez simplement un fichier <code>~/.licenses/starccm.lic</code> comme décrit ci-dessus dans <i>Fichier pour une licence POD</i>. | ||
Par contre, si vous utilisez un serveur de licence interne, créez d'abord le fichier <code>~/.licenses/starccm.lic</code> et soumettez un billet d'assistance au [[Technical support/fr|soutien technique]]. Nous vous aiderons à coordonner les modifications ponctuelles du pare-feu réseau nécessaires pour y accéder. Si vous rencontrez toujours des problèmes pour faire fonctionner la licence, essayez de supprimer ou de renommer le fichier <code>~/.flexlmrc</code> car les chemins de recherche et/ou les paramètres précédents du serveur de licence peuvent y être stockés et entrer en conflit avec vos paramètres <code>starccm.lic</code> actuels. Notez que les fichiers des versions précédentes peuvent avoir accumulé une quantité importante d'espace disque dans des répertoires cachés nommés <code>.star-version_number</code> si vous avez exécuté de nombreuses tâches longues par le passé en utilisant des scripts slurm plus anciens ou si vous exécutez régulièrement starccm+ en mode graphique. Ceux-ci peuvent être supprimés périodiquement en exécutant soigneusement <code>rm -ri ~/.starccm*</code> et en répondant <i>oui</i> à l'affichage de l'invite. | Par contre, si vous utilisez un serveur de licence interne, créez d'abord le fichier <code>~/.licenses/starccm.lic</code> et soumettez un billet d'assistance au [[Technical support/fr|soutien technique]]. Nous vous aiderons à coordonner les modifications ponctuelles du pare-feu réseau nécessaires pour y accéder. Si vous rencontrez toujours des problèmes pour faire fonctionner la licence, essayez de supprimer ou de renommer le fichier <code>~/.flexlmrc</code> car les chemins de recherche et/ou les paramètres précédents du serveur de licence peuvent y être stockés et entrer en conflit avec vos paramètres <code>starccm.lic</code> actuels. Notez que les fichiers des versions précédentes peuvent avoir accumulé une quantité importante d'espace disque dans des répertoires cachés nommés <code>.star-version_number</code> si vous avez exécuté de nombreuses tâches longues par le passé en utilisant des scripts slurm plus anciens ou si vous exécutez régulièrement starccm+ en mode graphique. Ceux-ci peuvent être supprimés périodiquement en exécutant soigneusement <code>rm -ri ~/.starccm*</code> et en répondant <i>oui</i> à l'affichage de l'invite. | ||
</div> | |||
Sur [[Niagara/fr|Niagara]], les nœuds de calcul configurent le système de fichiers <code>$HOME</code> en lecture seule (<i>read only</i>). Il est donc important de définir la variable d'environnement <code>$STARCCM_TMP</code> et de la diriger vers <code>$SCRATCH</code>, ce qui est unique à la version de StarCCM+. Autrement, StarCCM+ tente de créer le répertoire dans <code>$HOME</code> et se termine de façon anormale. | |||
<tabs> | <tabs> | ||
Line 53: | Line 57: | ||
module load starccm-mixed/18.06.006 | module load starccm-mixed/18.06.006 | ||
# chargez le module starccm/18.04.008-R8 | |||
module load starccm-mixed/18.04.008 | |||
<div class="mw-translate-fuzzy"> | |||
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | ||
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | ||
</div> | |||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
Line 68: | Line 79: | ||
</div> | </div> | ||
<div class="mw-translate-fuzzy"> | |||
#SBATCH --account=def-group # indiquez le nom du compte | #SBATCH --account=def-group # indiquez le nom du compte | ||
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | #SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | ||
Line 82: | Line 86: | ||
#SBATCH --mem=0 # demandez toute la mémoire par nœud | #SBATCH --mem=0 # demandez toute la mémoire par nœud | ||
#SBATCH --ntasks-per-node=1 # ne pas modifier | #SBATCH --ntasks-per-node=1 # ne pas modifier | ||
</div> | |||
#module load StdEnv/2020 # Versions < 18.06.006 | #module load StdEnv/2020 # Versions < 18.06.006 | ||
Line 89: | Line 94: | ||
module load starccm-mixed/18.06.006 | module load starccm-mixed/18.06.006 | ||
<div class="mw-translate-fuzzy"> | |||
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | ||
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | ||
</div> | |||
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
slurm_hl2hl.py --format STAR-CCM+ > | slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | ||
<div class="mw-translate-fuzzy"> | |||
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | |||
mkdir -p "$STARCCM_TMP" | |||
</div> | |||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
Line 104: | Line 114: | ||
</div> | </div> | ||
<div class="mw-translate-fuzzy"> | |||
#SBATCH --account=def-group # indiquez le nom du compte | #SBATCH --account=def-group # indiquez le nom du compte | ||
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | #SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | ||
Line 118: | Line 121: | ||
#SBATCH --mem=0 # demandez toute la mémoire par nœud | #SBATCH --mem=0 # demandez toute la mémoire par nœud | ||
#SBATCH --ntasks-per-node=1 # ne pas modifier | #SBATCH --ntasks-per-node=1 # ne pas modifier | ||
</div> | |||
#module load StdEnv/2020 # Versions < 18.06.006 | #module load StdEnv/2020 # Versions < 18.06.006 | ||
Line 125: | Line 129: | ||
module load starccm-mixed/18.06.006 | module load starccm-mixed/18.06.006 | ||
<div class="mw-translate-fuzzy"> | |||
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | ||
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | ||
</div> | |||
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | |||
mkdir -p "$STARCCM_TMP" | |||
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | |||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
slurm_hl2hl.py --format STAR-CCM+ > $SLURM_TMPDIR/machinefile | slurm_hl2hl.py --format STAR-CCM+ > $SLURM_TMPDIR/machinefile | ||
</div> | </div> | ||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
Line 138: | Line 147: | ||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -nbuserdir -licpath $CDLMD_LICENSE_FILE -nbuserdir $SLURM_TMPDIR -machinefile $SLURM_TMPDIR/machinefile $SLURM_SUBMIT_DIR/your-file.sim -mpi intel -fabric psm2 | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -nbuserdir -licpath $CDLMD_LICENSE_FILE -nbuserdir $SLURM_TMPDIR -machinefile $SLURM_TMPDIR/machinefile $SLURM_SUBMIT_DIR/your-file.sim -mpi intel -fabric psm2 | ||
</div> | </div> | ||
#SBATCH --account=def-group # indiquez le nom du compte | #SBATCH --account=def-group # indiquez le nom du compte | ||
Line 160: | Line 161: | ||
module load starccm-mixed/18.06.006 | module load starccm-mixed/18.06.006 | ||
<div class="mw-translate-fuzzy"> | |||
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | ||
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}" | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | # supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | ||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -nbuserdir $SLURM_TMPDIR -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -nbuserdir $SLURM_TMPDIR -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
< | |||
#SBATCH --account=def-group # indiquez le nom du compte | #SBATCH --account=def-group # indiquez le nom du compte | ||
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | #SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm) | ||
Line 192: | Line 195: | ||
module load CCEnv | module load CCEnv | ||
</div> | |||
#module load StdEnv/2020 # Versions < 18.06.006 | #module load StdEnv/2020 # Versions < 18.06.006 | ||
Line 199: | Line 203: | ||
module load starccm-mixed/18.06.006 | module load starccm-mixed/18.06.006 | ||
<div class="mw-translate-fuzzy"> | |||
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE' | ||
export CDLMD_LICENSE_FILE="1999@127.0.0.1" | export CDLMD_LICENSE_FILE="1999@127.0.0.1" | ||
</div> | |||
# Comment the next line when using an institutional license server | |||
LM_PROJECT='my22digitpodkey' # Specify your Siemens Power on Demand (PoD) Key | |||
# These settings are used instead of your ~/.licenses/starccm.lic | |||
# (settings shown will use the cd-adapco pod license server) | |||
FLEXPORT=1999 # Specify server static flex port | |||
VENDPORT=2099 # Specify server static vendor port | |||
LICSERVER=flex.cd-adapco.com # Specify license server hostname | |||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
Line 227: | Line 240: | ||
</tabs> | </tabs> | ||
</div> | </div> | ||
<div class="mw-translate-fuzzy"> | |||
ssh nia-gw -L 1999:flex.cd-adapco.com:1999 -L 2099:flex.cd-adapco.com:2099 -N -f | |||
</div> | |||
slurm_hl2hl.py --format STAR-CCM+ > $SLURM_TMPDIR/machinefile | |||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | |||
# Workaround for license failures: | |||
# until the exit status is equal to 0, we try to get Star-CCM+ to start (here, for at least 5 times). | |||
i=1 | |||
RET=-1 | |||
while [ $i -le 5 ] && [ $RET -ne 0 ]; do | |||
[ $i -eq 1 ] {{!}}{{!}} sleep 5 | |||
echo "Attempt number: "$I | |||
if [ -n "$LM_PROJECT" ]; then | |||
# Siemens PoD license server | |||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -nbuserdir $SLURM_TMPDIR -machinefile $SLURM_TMPDIR/machinefile $JAVA_FILE $SIM_FILE | |||
else | |||
# Institutional license server | |||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -np $NCORE -nbuserdir $SLURM_TMPDIR -machinefile $SLURM_TMPDIR/machinefile $JAVA_FILE $SIM_FILE | |||
fi | |||
RET=$? | |||
i=$((i+1)) | |||
done | |||
exit $RET | |||
}} | |||
</tab> | |||
</tabs> | |||
= Visualisation à distance = | = Visualisation à distance = |