Compilateur Intel C/C++, Fortran et OpenMP
Résumé: Ce document sert juste de rapide introduction à l'utilisation du compilateur Intel C/C++ avec OpenMP installé sur le cluster Romeo2. Nous ne détaillerons pas comment programmer avec OpenMP, ce n'est pas le but recherché.
1 Connexion à Romeo2
Pour se connecter à Romeo2, vous pouvez utiliser la commande ssh :
ssh nom@romeo2.univ?reims.fr |
ou
ssh ?X nom@romeo2.univ?reims.fr |
si vous souhaitez exporter le Display. Vous trouverez plus d'informations sur la commance ssh en tapant dans votre terminal man ssh.
2 Le compilateur Intel C/C++ - Fortran
Le compilateur Intel C/C++ est le seul compilateur ?actuellement? sur Romeo2 capable d'utiliser la librairie OpenMP. Cependant, l'appel au compilateur icc (langage C) ou icpc (langage C++) ne vous renverra qu'un message d'erreur (command not found). Pour pouvoir utiliser ces compilateurs vous devez tout d'abord en définir la source. Pour cela tapez :
source /opt/intel/iccvars.sh
pour charger l'environnement Fortran
source /opt/intel/ifortvars.sh
Cette commande est à taper à chaque nouvelle session sur Romeo2. Afin de nous faciliter la tâche, nous allons rajouter cette ligne dans notre fichier .bashrc se trouvant à la racine de notre compte (voir listing 1).
Désormais, à chaque nouvelle session, nous aurons accès au compilateur icc et icpc directement.
3 Intel C/C++ et OpenMP
Pour compiler votre projet OpenMP avec les compilateurs Intel, il suffit de rajouter l'argument -openmp à la ligne de commande. Par exemple :
ou
icpc ?openmp source.c ?o executable
4 Soumettre un job
Afin de soumettre un job à Romeo2, il faut passer par un gestionnaire. On l'appelle par la commande qsub. Cette commande prend une série de paramètres assez conséquent et où il est facile de se tromper. C'est pourquoi nous allons créer un script (listing 2) contenant les informations à passer à qsub.
Le script créé (et adapté à vos besoins) est soumis au gestionnaire par la commande :
qsub Script |
5 Pour finir
Vous savez maintenant compiler vos programmes C/C++ utilisant OpenMP sur Romeo2, et les soumettre au système. Pour plus d'informations, je vous invite à lire le User's Guide (User.pdf) disponible sur le site http://cosy.univ-reims.fr/romeo2/.
Journée débugger parallèle graphique DDT

Dans le cadre de l'animation scientifique du Centre de Calcul Régional - ROMEO II, la journée du mardi 12 juin 2007 est organisée autour du débugger graphique DDT. Cet outil permet de debugger et d'analyser le comportement de vos applications scalaires, multithreadées ou plus largement parallèles (MPI, Pthreads, OpenMP), écrites en C, C++ ou Fortran. L'interface graphique (copies d'écran ci-dessous) permet par exemple de visualiser l'utilisation mémoire sur plusieurs processeurs ... un outil performant et très utile qui est disponible sur ROMEO II.
La journée se déroulera en anglais. Outre la présentation de l'utilisation et des fonctionnalités de DDT, cette journée laissera la place à une partie pratique où chacun pourra expérimenter l'outil. Un déjeuner est aussi prévu pour les participants.
-
- Afin de préparer au mieux cette journée et notamment la réservation du repas, merci de vous inscrire par mail avant le 26 mai 2007 auprès de Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voiren indiquant vos noms, prénoms et labo, et en précisant votre participation au repas.
- Programme prévisonnel :
9h30 - 10h00 - accueil des participants.RDV au batiment Mathématiques-Informatique (numéro 3) de l'Ufr Sciences
10h00 - 11h00 - introduction, comment démarrer ?
11h00 - 12h20 - première manipulation séquentielle suivie d'un premier code parallèle MPI.
12h20 - 13h30 - repas
13h30 - 14h45 - débuggage de code OpenMP sur processeur multi-core, modules Fortran et templates C++. Gestion de la mémoire.
15h00 - 17h00 - DDT sur vos codes et introduction au profileur / optimiseur OPT
Lien : http://www.allinea.com/?page=48

