**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]].