Enseignements#

Cette page est dédiée à l’ensemble des cours dans lesquels j’interviens dans le cadre de mes vacations.

Cours ENSTA#

APM_4SIM1_TA - Programmation Scientifique en C++#

APM_4SIM2_TA - Projet de Simulation Numérique#

APM_5MS01_TA - Calcul Scientifique Parallèle#

Formation LaTeX#

Cours ATER#

MAM1 - Outils du calcul scientifique#

MAM2 - Génie Logiciel#

Liens utiles pour Java:

Liens utiles pour BOUML:

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

Utiliser MPI sur les portables MAM#

L’implémentation MPI installée sous linux sur les portables MAM est MPICH2. À 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, 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 utiliser use mpi comme avant.

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.

Cours Monitorat#

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 <../docs/generatrices.txt>. Une archive complète de l’énoncé et des corrections au format .tar.gz est disponible ici.

Tutorat MAP311#

Énoncé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

  • Feuille 4 distribuée en séance 4 le 27 mai 2007

Corrigés#