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 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 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 bash)

On peut soumettre son job en utilisant la commande suivante :

 qsub script_seq
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

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}
### 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 la documentation qui correspond et les exemples.

documentation/tutorials/submit/jobsequentielbash.txt · Dernière modification : 2021/01/14 15:55 de cicaluga