**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 [[documentation:clusters:services#serveurs_de_compilation|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 [[documentation:tools:sge|à cette page]] ainsi que [[faq:sge|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 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 [[documentation:clusters:batch#les_files_d_attente|les configurations réelles des files d'attentes]]. D'autres [[documentation:examples:tutorials_scripts|exemples de scripts (soumission, exécution)]], [[documentation:examples:submit_scripts|exemples de scripts de soumission]] ainsi que [[documentation:tutorials:build:accueil|des tutoriaux]]. ======job séquentiel (shell tcsh)====== 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 ====== Surveiller un job ====== Voir [[documentation:tools:sge#surveiller_les_jobs|la documentation]] qui correspond et [[documentation:examples:qstat_cli|les exemples]].