marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 1 Code Parallèle pour la Simulation Numérique en Mécanique des Fluides D. Rey – Ingénieur INRIA/DREAM T. Kloczko – Post-Doc INRIA/SMASH
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 2 ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions Plan de la présentation
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 3 ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions Suivi de la présentation
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 4 Objectifs de développement Forces et Faiblesses des codes antérieurs ➢ Codes validés, fiables, efficaces et disposant de nombreuses de possibilités ✗ Formulation VF/EF mixte, modèles de turbulences, schéma haute précision, méthodes implicites,... ➢ Codes en perpétuel développement ✗ Problème de cohérence, de lisibilité et de superposition des fonctions ➢ Absence de documentation ➢ Problèmes liés au langage et aux habitudes de programmation ✗ Variables globales, absence de commentaire, noms de variables obscurs ✗ Gestion dynamique de la mémoire difficile ✗ Non-orthogonalité des opérateurs ➢ Difficultés d'adaptation du code à une architecture parallèle ✗ Complexité du code accrue et perte de lisibilité lors des plantages
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 5 Ré-écriture d'un code parallèle robuste, flexible et portable ➢ Utilisation du Fortran 90 ✗ Gestion dynamique de la mémoire ✗ Structures de données modulaires ➢ Recours uniquement à MPI ✗ Parallélisation de tâches similaires ✗ Synchronisation par échange de message ✗ Méthode standard (doc, forum, debug,...) ➢ Conception d'un code peu affecté par le turn-over des équipes ✗ Orthogonalité des routines ✗ Appel systématique par argument (localité des variables) ✗ Documentation (rapport technique et commentaires) Objectifs de développement
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 6 ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions Suivi de la présentation
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 7 Résultats et performances Maillage ✔ 455,160 noeuds ✔ 2,647,040 éléments Simulation ✔ Mach = 0.8 ✔ Convergence de 7 ordres ✔ Schéma explicite HLLC précis au 1er ordre en espace Calcul ✔ 8 processeurs ✔ 16 processeurs ✔ 32 processeurs
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 8 Cluster NEF : Bi-opteron 2GHz – RAM 2Go - Réseau Gigabit Résultats et performances
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 9 Résultats et performances Maillage ✔ 2,370,816noeuds ✔ 10,240,000 éléments ✔ maille de 7.E-4m sur tube de 1 m Simulation ✔ Schéma explicite HLLC précis au 1er ordre en espace Calcul ✔ 256 processeurs ✔ 15 min sur GRID5000
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 10 Suivi de la présentation ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 11 Flexibilité du Framework Capacités actuelles: ➢ Calculs explicites précis à l'ordre 1 en espace (lent et peu précis) ✗ Schémas AUSM+, HLLC, Godunov... Framework prêt pour intégrer: ➢ Méthodes d'accélération de convergence ✗ Traitement implicite sans Matrice ➢ Schémas haute précision ✗ Bêta-scheme ✗ V6-scheme ➢ Modélisation du comportement des poussières dans ITER ➢ Modèle à sept équations pour les écoulements diphasiques ➢ Adaptation de maillage et multigrilles ➢ Optimisation de formes (projet OPALE)
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 12 ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions Suivi de la présentation
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 13 Portabilité du code Portabilité plateforme: ➢ MPI-1 uniquement ➢ Lecture/écriture par processeur maître ➢ Exemples: ✔ Cluster bi-opteron IBM ✔ GRID5000 (grille de PC hétérogène) ✔ Desktop Grid (PC individuel sur intranet et/ou internet) Portabilité OS: ➢ Testé sur Linux avec PGF90 et MPICH ➢ Portabilité sur windows a priori sans difficulté
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 14 ✗ Objectifs de développement ✗ Résultats et performances ✗ Framework flexible ✗ Portabilité ✗ Conclusions Suivi de la présentation
marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 15 Conclusions Code jeune (<10 mois) en terme d'implémentation: ➢ Incomplet en terme de fonctionnalités de simulation ➢ Adapté aux exigences actuelles de recherche et développement ✔ Flexibilité de l'architecture logicielle ✔ Portabilité du code source (fermes de PC, grid5000, desktop grid,...) Socle logiciel solide: ➢ Méthodes sous jacentes validées ✔ Nombreuses publications sur le sujet ✔ Première implémentation aero3d ➢ La partie maillage + calculs géométriques est largement validée ➢ Travail amont important de spécification et d'architecturage des structures de données profondes (maillage, cellules de contrôle, arêtes,...) ➢ Utilisation d'outils de développement (gforge, svn, extraction automatique de documentation,...)