Outils du Calcul Scientifique Méthodes Numériques pour le Calcul Haute Performance Génie Logiciel II Génie Logiciel I Tutorat MAP431 Tutorat MAP311

Cette page est dédiée à l’ensemble des cours dans lesquels je suis intervenu dans le cadre de mes 3 années de monitorat à l’Ecole Polytechnique, et de mon contrat d’A.T.E.R. à l’I.S.T.I.L.

ISTIL - MAM1 - Outils du Calcul Scientifique

ISTIL - MAM3 - Méthodes Numériques pour le Calcul Haute Performance

Utiliser M.P.I. sur les portables M.A.M.

L’implémentation M.P.I. installée sous linux sur les portables M.A.M. est MPICH2. A la différence de l’implémentation sur ouessant (version native de la distribution unix SGI).

On peut essayer de bricoler quelque chose qui devrait marcher, mais il vaut mieux s’attaquer au problème de fond : la version MPICH2 installée sur les portables n’est pas vraiment compatible avec Fortran 90. Il faut donc recompiler MPICH2 :

  1. se placer dans le répertoire ~/mpich2-1.0.6pl ;

  2. exécuter la commande (une seule commande) :

FC="gfortran ${BUILD32}" CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
 ./configure --enable-cxx --enable-f77 --enable-f90

qui va préparer la recompilation de MPICH2 en précisant que l’on veut une version F77, une version F90 et une version C++; 3. exécuter la commande make pour recompiler MPICH2; 4. exécuter la commande make install pour réinstaller MPICH2.

Ceci étant fait, nous pouvons maintenant écrire les bonnes options de compilation dans le Makefile :

FC= mpif90
FFLAGS = -O3 -I/usr/local/mpich2/include/
LDFLAGS = -O3 -L/usr/local/mpich2/lib -lmpif90

...

le LDFLAGS sera utilisé en remplacement du FFLAGS dans le linkage (la commande qui génère l’exécutable).

Il nous reste maintenant à modifier l’environnement de travail Unix pour que tout fonctionne :

  • dans le fichier ~/.bashrc : ajouter l’instruction :
PATH=/usr/local/mpich2/bin/:${PATH}
  • dans le répertoire racine ($HOME), créer un fichier .mpd.conf contenant :
MPD_SECRETWORD=mr45-j9z
  • lancer la commande mpd & avant toute exécution de programme MPI

On peut alors utilise `use mpi`comme avant.

Transparents des séances de TPs MPI

Structure d’un programme parallèle de calcul scientifique

  1. Initialisation

  2. Voisinage

  3. Champs

  4. (Début de boucle) Calcul

  5. Communications (Fin de boucle)

Avec des communications bloquantes, les communications se font toujours après les calculs, pour synchroniser la mise à jour de toutes les valeurs.

ISTIL - MAM2 - Génie Logiciel I

ISTIL - MAM2 - Génie Logiciel II

Liens utiles pour Java

Liens utiles pour BOUML

Ecole Polytechnique - Tutorat MAP 431

En tant que moniteur du cours MAP 431, voici quelques liens utiles :

  • La page du cours MAP431.
  • Besoin d’aide pour Scilab ? Un petit tutoriel est disponible ici.
  • Besoin d’aide en Freefem++ ? Un petit tutoriel est disponible ici.

D’autres tutoriels et docs sont disponibles en cliquant sur docs et liens dans le menu.

Pour le cours de tutorat du jeudi 23 mars 2006, le sujet, ainsi que le fichier generatrices.txt. Une archive complète de l'énoncé et des corrections au format .tar.gz est disponible ici

Ecole Polytechnique - Tutorat MAP 311

Enoncés

  • Feuille 1 distribuée en séance 1 le 30 mai 2007
  • Feuille 2 distribuée en séance 3 le 13 mai 2007
  • Feuille 3 distribuée en séance 4 le 20 mai 2007

Corrigés