Durée
30h Th, 15h Pr, 20h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue anglaise
Organisation et évaluation
Enseignement au premier quadrimestre, examen en janvier
Horaire
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, scalabilité forte et faible, programmation pour mémoire distribuée avec MPI, programmation pour mémoire partagée avec OpenMP, introduction au calcul sur GPU.
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) 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.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, II.3, III.1, III.2, III.3, IV.1, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil en aérospatiale.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, II.3, III.1, III.2, III.3, IV.1, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil en génie biomédical.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, I.3, II.1, II.2, II.3, III.1, III.2, III.3, IV.1, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil en science des données.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, II.3, III.1, III.2, III.3, IV.1, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil électricien.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, II.3, III.1, III.2, III.3, IV.1, IV.3, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil en informatique.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, II.3, III.1, III.2, III.3, III.3, IV.1, VI.1, VI.2, VI.4, VII.1, VII.2, VII.3, VII.4, VII.5 du programme d'ingénieur civil physicien.
Savoirs et compétences prérequis
MATH0006 (Introduction to numerical analysis), MATH0504 (Applied mathematics) et INFO2009 (Introduction à l'informatique).
Activités d'apprentissage prévues et méthodes d'enseignement
Cours théoriques, séances pratiques sur ordinateur et un ou plusieurs projet(s).
Le nombre de projets varie d'une année à l'autre. Le premier projet est assigné dès le début du quadrimestre, i.e. la première ou la deuxième semaine de cours. La date de remise du rapport du dernier projet coincide habituellement avec la fin du quadrimestre.
Mode d'enseignement (présentiel, à distance, hybride)
Présentiel et/ou à distance. Voir la site web du cours pour les dernières informations.
Supports de cours, lectures obligatoires ou recommandées
Cf. le site web du cours.
Modalités d'évaluation et critères
Examen(s) en session
Toutes sessions confondues
- En présentiel
évaluation orale
Stage(s)
Remarques organisationnelles et modifications principales apportées au cours
Ce cours est enseigné en anglais.
Contacts
C. Geuzaine (cgeuzaine at uliege.be), D. Colignon (david.colignon at uliege.be) et O. Louant (orian.louant at uliege.be).