2023-2024 / INFO0939-1

High performance scientific computing

Durée

30h Th, 15h Pr, 20h Proj.

Nombre de crédits

 Master : ingénieur civil en aérospatiale, à finalité5 crédits 
 Master : ingénieur civil biomédical, à finalité5 crédits 
 Master en science des données, à finalité5 crédits 
 Master : ingénieur civil électricien, à finalité5 crédits 
 Master : ingénieur civil en informatique, à finalité5 crédits 
 Master : ingénieur civil en informatique, à finalité (double diplômation avec HEC)5 crédits 
 Master : ingénieur civil en science des données, à finalité5 crédits 
 Master en sciences informatiques, à finalité5 crédits 
 Master en sciences informatiques, à finalité (double diplômation avec HEC)5 crédits 
 Master : ingénieur civil physicien, à finalité4 crédits 
 Master en sciences physiques, à finalité5 crédits 

Enseignant

Christophe Geuzaine

Langue(s) de l'unité d'enseignement

Langue anglaise

Organisation et évaluation

Enseignement au premier quadrimestre, examen en janvier

Horaire

Horaire en ligne

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.

Lectures recommandées ou obligatoires et notes de cours

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


Explications complémentaires:

Project presentation.

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) et 

Association d'un ou plusieurs MOOCs