#!/bin/bash # fichier script shell # une ligne commençant par #PBS est une commande PBS # une ligne commençant par # est un commentaire # le shell utilisé par PBS pour interpréter # le fichier est bash #PBS -S /bin/bash # nom du job (facultatif) # 15 caractères maximun #PBS -N JobName # par défaut, les flux "output" et "error" sont envoyés # dans des fichiers situés dans le répertoire de # travail (PBS_O_WORKDIR) et dont les noms sont : # job_name.osequence_number <- output # job_name.esequence_number <- error # où job_name est le nom du job et sequence_number et # le numéro du job qui est assigné lors de la soumission # On peut changer les noms par défaut en utilisant les # commandes suivantes : # #PBS -o stdout_file # #PBS -e stderr_file # Pour éviter d'avoir trop de fichiers, on peut # regrouper les flux "output et "error" dans un seul # fichier : #PBS -j oe # PBS peut envoyer des informations sur l'état du job # par email : # un simple caractère "n" (pas de mail) # #PBS -m n # un ou plusieurs caractères : # "a" envoi email si le job est avorté, # "b" envoi email lorsque le job débute # "e" envoi email lorsque le job se termine # #PBS -m abe # #PBS -m ae # l'adresse email est spécifiée par la commande # #PBS -M cros@iup.univ-evry.fr # ressources demandées : # 1 noeud : nodes=1 # 2 processeurs par noeud : ppn=2 #PBS -l nodes=1:ppn=2 # le positionnement de la variable OMP_NUM_THREADS # indique le nombre de thread utilisé lors de # l'exécution export OMP_NUM_THREADS=2 # PBS_O_WORKDIR correspond au répertoire où a été lancé # le script, affichage pour vérification : echo $PBS_O_WORKDIR # déplacement dans le répertoire où se trouve # l'exécutable cd $PBS_O_WORKDIR # lancement du calcul echo "début du calcul à `date`" ./test echo "fin du calcul à `date`" # la même chose mais avec redirection des impressions # dans un fichier echo "début du calcul à `date`" ./test > test.out2 echo "fin du calcul à `date`"