Programme des cours 2016-2017
INFO0939-1  
High performance scientific computing
Durée :
30h Th, 15h Pr, 20h Proj.
Nombre de crédits :
Master en ingénieur civil en aérospatiale, à finalité5
Master en ingénieur civil biomédical, à finalité5
Master en ingénieur civil électricien, à finalité 5
Master en ingénieur civil en informatique, à finalité 5
Master en sciences informatiques, à finalité5
Master en ingénieur civil mécanicien, à finalité5
Master en ingénieur civil physicien, à finalité4
Nom du professeur :
Christophe Geuzaine
Langue(s) de l'unité d'enseignement :
Langue anglaise
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Description du cours :
Ce cours aborde les méthodes de calcul scientifique avancées, à la fois du point de vue théorique et du point de vue de l'implémentation pratique des algorithmes dans les applications de calcul intensif.
Table des matières :
Introduction au calcul scientique haute performance, architecture des ordinateurs parallèles, latence et bande passante, localité spatiale et temporelle, loi d'Amdahl, programmation pour mémoire distribuée avec MPI, programmation pour mémoire partagée avec OpenMP, algorithmes pour éqations différentielles ordinaires, algorithmes pour équations aux dérivées partielles, solveurs linéaires directs et itératifs.
Le cours utilise le langage de programmation C pour l'implémentation des algorithmes, en série et en parallèle. Les travaux pratiques couvrent l'utilisation de machines de calcul parallèle (système UNIX, connection à distance, ligne de commande, système de gestion de queue), la programmation d'algorithmes utilisant les librairies BLAS et LAPACK, et la parallélisation d'algorithmes via MPI et OpenMP.
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
A l'issue du cours les étudiants auront étudié différents algorithmes avancés de calcul scientifique intensif. Ils auront appris les bases de leur implémentation efficace sur des ordinateurs série et parallèle, et seront familiers avec les paradigmes de programmation sur architectures multicoeurs (à mémoire partagée) via OpenMP, et sur architectures à mémoire distribuées via MPI.
Savoirs et compétences prérequis :
Cours d'analyse mathématique; cours d'analyse numérique.
Activités d'apprentissage prévues et méthodes d'enseignement :
Cours théoriques, séances pratiques sur ordinateur, projets individuels et de groupe.
Mode d'enseignement (présentiel ; enseignement à distance) :
Présentiel.
Lectures recommandées ou obligatoires et notes de cours :
Cf. le site web du cours.
Modalités d'évaluation et critères :
Projets individuals et de groupe.
Stage(s) :
Remarques organisationnelles :
Ce cours est enseigné en anglais.
Contacts :
Prof. C. Geuzaine (cgeuzaine@ulg.ac.be)