Notes pour le TP OpenMP
Cette page décrit comment se connecter et lancer des calculs OpenMP en mémoire partagée sur le mésocentre.
Connexion au mésocentre
Se connecter au noeud de login
ssh -CX loginmeso@mesologin1.univ-fcomte.fr
Se placer dans le répertoire de travail WORK
$ cd WORK
Créer un répertoire personnel unique en utilisant votre nom de famille, par exemple :
$ mkdir dupont
Se placer dans le répertoire nouvellement crée
$ cd dupont
Transfert des données
Copier vos programmes (les fichiers sources) de votre poste du travail vers le mésocentre. Par exemple copier le fichier matmul.c du répertoire courant vers le répertoire nouvellement crée sur le mésocentre :
$ scp matmul.c loginmeso@mesologin1.univ-fcomte.fr:WORK/dupont
Compiler votre application OpenMP
Il faut d'abord charger le compilateur à utiliser. Nous utilisons le compilateur Intel (icc, icpc, ifort)
$ module load intel/14.0.2
Compiler l'application
$ icc -openmp monProgramme.c -o monProgramme
Exécuter l'application en mode batch (asynchrone) avec SGE
Préparer un script SGE :
- script_mpi.sge
#!/bin/bash #$ -q formation.q ## on demande la file formation.q #$ -N tp_omp_dupond ## le nom de votre job #$ -pe openmp 16 ## on demande 16 coeurs #$ -l h_vmem=4G ## on demande 4G/coeur #$ -o $JOB_NAME.$JOB_ID.out ## le nom de fichier output/err #### on charge le module open mpi module load intel/14.0.2 ## on lance l'application export OMP_NUM_THREADS=$NSLOTS ./monProgramme
Enregistrer le script dans le même répertoire que votre programme, par exemple : matmul_omp.sge
On demande à SGE d'exécuter le programme :
$ qsub matmul_omp.sge
Une fois lancé, SGE attribue un numéro à chaque lancement (job)
On vérifie l'état des jobs :
qstat
L'état de tous les jobs sur le cluster ;
$ qstatAll
Arrêter un job :
$ qdel <numeroDuJob>