Objectifs (en termes de compétences)
- Promouvoir la connaissance des principales architectures d'ordinateurs parallèles
- Décrire les méthodes d'analyse de performance d'algorithmes parallèles
- Analyser un certain nombre d'algorithmes numériques parallèles de base
- Montrer le potentiel de l'algorithmique parallèle en calcul scientifique
- Mettre en oeuvre la méthodologie développée au cours dans le cadre d'un projet de programmation parallèle sur un ordinateur parallèle de l'Institut de Calcul Intensif de l'UCL.
Objet de l'activité (principaux thèmes à aborder)
L'architecture interne des ordinateurs connaît depuis quelques années une révolution qui est en passe de permettre aux méthodes de simulation numérique à grande échelle de réaliser pleinement leurs potentialités. Ces nouvelles architectures exploitent de diverses manières le concept de parallélisme. La mise en oeuvre optimale de méthodes de simulation numérique sur ordinateurs parallèles nécessite une méthodologie et des algorithmes appropriés. Le cours décrit les principales architectures d'ordinateurs parallèles, et ce du point de vue fonctionnel indispensable à la conception d'algorithmes numériques performants.
Il établit et illustre sur des exemples élémentaires (e.g. multiplication matricielle) les méthodes d'analyse de performance d'algorithmes numériques parallèles. Il décrit et analyse divers algorithmes parallèles de résolution de problèmes linéaires, soit dans un contexte algébrique général, soit dans le cadre de la résolution des équations aux dérivées partielles de la physique. Enfin, il illustre sur des exemples concrets l'apport du calcul parallèle dans la simulation numérique de problèmes complexes. Dans le cadre des travaux pratiques, occasion est donnée aux étudiant(e)s de réaliser un projet de programmation sur un ordinateur parallèle de l'Institut de Calcul Intensif de l'UCL.
Résumé : Contenu et Méthodes
1. Introduction
- Simulation numériques de grande taille
- Superordinateurs : historique et évolution des performances Calcul parallèle : Définition, potentiel et historique
2. Architectures parallèles
- Description fonctionnelle
- Classification des principales architectures parallèles
- Description de modèles commerciaux représentatifs
3. Algorithmique parallèle : problématique de base
- problématique générale et aspects liés à une architecture particulière
- modèles de programmation
- facteur d'accélération ; efficacité ; équilibrage des tâches ; granularité - modélisation et évaluation des performances
- exemples élémentaires (produit scalaire, multiplication matricielle)
- implémentation: aide à la conception et langages de programmation.
4. Algorithmique numérique parallèle
- Algèbre numérique linéaire (matrices pleines et creuses) méthodes directes; méthodes itératives; méthodes de décomposition de domaine
-Applications à la résolution approchée d'équations aux dérivées partielles ; décomposition automatique; équilibrage dynamique des tâches; mise en oeuvre pour des simulations de grande taille; illustrations; résultats récents.
Autres informations (Pré-requis, Evaluation, Support, ...)
Pré-requis :
Un premier cours de base en méthodes numériques, programmation et systèmes informatiques.
Mode d'évaluation :
Les travaux pratiques interviennent pour 50% dans la cote finale. Ils consistent en la réalisation d'un projet de programmation parallèle un ordinateur parallèle de l'Institut de Calcul Intensif de l'UCL.. Ces travaux sont défendus lors de l'examen oral, qui se déroule "à livre ouvert".
Syllabus : copies de transparents disponibles au début du cours.
|