allo-psmn
, sur l'un des serveurs de compilation
Le système de batch actuellement utilisé par le PSMN est Sun Grid Engine (SGE). Sa documentation se trouve à cette page ainsi que dans la F.A.Q..
On utilise la commande qsub
pour soumettre un job au système de batch du PSMN. Exemple :
qsub programme <input >output
Il est possible de rajouter des options :
qsub -V -m b -m e -e /path/to/workdir -o /path/to/workdir -q $QUEUE programme > output.log
avec :
-V : export environment variables -m b : mail @begin -m e : mail @end -e : where to put error files -o : where to put output files -q : file d'attente
Il est plus simple de soumettre simplement un (ou plusieurs) script contenant plus d'options :
qsub -m b -m e monscript
Voici quelques scripts de soumission d'un job au système de batch du PSMN.
D'autres exemples de scripts (soumission, exécution), exemples de scripts de soumission ainsi que des tutoriaux.
On peut soumettre son job en utilisant la commande suivante :
qsub batch.csh
#!/bin/tcsh # ### variables SGE ### shell du job #$ -S /bin/tcsh ### nom du job (a changer) #$ -N SommeVecVecSEQ ### file d'attente (a changer) #$ -q E5-2670_test ### charger l'environnement utilisateur pour SGE #$ -cwd ### exporter les variables d'environnement sur tous les noeuds d'execution #$ -V ### mails en debut et fin d'execution #$ -m be # aller dans le repertoire de travail/soumission # important, sinon, le programme est lancé depuis ~/ cd ${SGE_O_WORKDIR} ### configurer l'environnement ### source /usr/share/modules/init/tcsh ### module use /applis/PSMN/Modules ### module load Base/psmn module load IntelComp/2017.4 ### execution du programme ##set EXECDIR=${HOME}/Formations/Sequentiel ##${EXECDIR}/SommeVecVecSEQ.exe < Monfichierdedata > monfichierresultat ./SommeVecVecSEQ.f90.exe # fin
Travailler dans le /scratch
#!/bin/tcsh # ### variables SGE ### shell du job #$ -S /bin/tcsh ### nom du job (a changer) #$ -N SommeVecVecSEQ ### file d'attente (a changer) #$ -q E5-2670_test ### charger l'environnement utilisateur pour SGE #$ -cwd ### exporter les variables d'environnement sur tous les noeuds d'execution #$ -V ### mails en debut et fin d'execution #$ -m be # aller dans le repertoire de travail/soumission # important, sinon, le programme est lancé depuis ~/ cd ${SGE_O_WORKDIR} ### configurer l'environnement ### source /usr/local/modeles/set_debian7-clean.sh ### source /usr/share/modules/init/bash ### module use /applis/PSMN/Modules ### module load Base/psmn module load IntelComp/2017.4 set SCRATCHDIR = `echo $SGE_O_WORKDIR | awk -F "/" '{$2="scratch"; for(j=2;j<=NF;j++) {printf("/%s",$j);} print ""} ' ` /bin/mkdir -p $SCRATCHDIR /bin/cp -rf SommeVecVecSEQ.f90.exe $SCRATCHDIR/ ###/bin/cp -rf $INPUT $SCRATCHDIR/ # go to scratch (instead of workdir) before running binary cd ${SCRATCHDIR} ### execution du programme ######EXECDIR=/scratch/cicaluga/tempo set EXECDIR=${SCRATCHDIR} ${EXECDIR}/SommeVecVecSEQ.f90.exe > output ####./SommeVecVecSEQ.f90.exe # copy results from scratch to home /bin/cp -r $SCRATCHDIR/output $SGE_O_WORKDIR/ rm -fr ${SCRATCHDIR}/* # fin
Voir la documentation qui correspond et les exemples.