RAPPEL : allo-psmn est un serveur de connexion; il vous permet d'avoir accès à vos fichiers et de les transférer, et c'est tout. Pour travailler, il faut se connecter, depuis 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..

Soumettre un job

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

Scripts de soumission

Voici quelques scripts de soumission d'un job au système de batch du PSMN.

Certaines variables ont ici des valeurs fantaisistes, pour vous forcer à les mettre à jour selon les configurations réelles des files d'attentes.

D'autres exemples de scripts (soumission, exécution), exemples de scripts de soumission ainsi que des tutoriaux.

job séquentiel (shell tcsh)

On peut soumettre son job en utilisant la commande suivante :

 qsub batch.csh
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

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/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

Surveiller un job

Voir la documentation qui correspond et les exemples.

documentation/tutorials/submit/jobsequentieltcsh.txt · Dernière modification : 2021/08/31 09:38 de cicaluga