**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:accueil|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 script_seq
====== 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 bash)======
On peut soumettre son job en utilisant la commande suivante :
qsub script_seq
#!/bin/bash
#
### variables SGE
### shell du job
#$ -S /bin/bash
### nom du job (a changer)
#$ -N SommeVecVecSEQ
### file d'attente (a changer)
#$ -q E5_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}
# init env (should be in ~/.profile)
source /usr/share/lmod/lmod/init/bash
### configurer l'environnement (a changer)
module load GCC/7.2.0
### execution du programme (a changer avec votre executable)
###EXECDIR=${HOME}/Formations/Sequentiel
###${EXECDIR}/SommeVecVecSEQ.exe < Monfichierdedata > monfichierresultat
./SommeVecVecSEQ.exe
# fin
Travailler dans le /scratch
#!/bin/bash
#
### variables SGE
#
### shell du job
#$ -S /bin/bash
### nom du job (a changer)
#$ -N SommeVecVecSEQ
### file d'attente (a changer)
#$ -q E5_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 (a changer)
module load GCC/7.2.0
### definition SCRATCHDIR en fonction de la partition existent
if [[ -d "/scratch/Lake" ]]
then
SCRATCHDIR="/scratch/Lake/${USER}/${JOB_ID}/"
elif [[ -d "/scratch/E5N" ]]
then
SCRATCHDIR="/scratch/E5N/${USER}/${JOB_ID}/"
else
echo "Cannot create ${SCRATCHDIR} on /scratch, creating it in the current directory"
SCRATCHDIR="${SGE_O_WORKDIR}/scratch/"
fi
###SCRATCHDIR=/scratch/E5N/votre_login/Formations/Sequentiel
### verif SCRATCHDIR
echo "SCRATCHDIR=${SCRATCHDIR}"
### creation du repertoire de travail dans le /scratch
if [[ ! -d "${SCRATCHDIR}" ]]
then
/bin/mkdir -p ${SCRATCHDIR}
fi
### copie des fichiers sources dans le /scratch
/bin/cp ${SGE_O_WORKDIR}/* ${SCRATCHDIR}/
### se placer dans le repertoire d'execution AVANT le lancement du programme
cd ${SCRATCHDIR}
### execution du programme
EXECDIR=${SCRATCHDIR}
${EXECDIR}/SommeVecVecSEQ.exe > output_scratch
####./SommeVecVecSEQ.exe
# copy results from scratch to home
/bin/cp -r $SCRATCHDIR/output_scratch $SGE_O_WORKDIR/output_home
# 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]].