2020-2021 / 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 

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, 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) 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.
Le nombre de projets varie d'une année à l'autre, mais est typiquement de 2 ou 3. 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.

Adaptations organisationnelles liées au contexte sanitaire

Lectures recommandées ou obligatoires et notes de cours

Cf. le site web du cours.

Modalités d'évaluation et critères

Vous trouverez ci-dessous les modalités d'évaluation envisagées pour les examens en présentiel et à distance ainsi que celle souhaitée en cas de session hybride. En fonction de l'évolution sanitaire, la modalité choisie vous sera communiquée au plus tard un mois avant le début de la session d'examen.

Rapports de projets

Stage(s)

Remarques organisationnelles

Ce cours est enseigné en anglais.

Contacts

Prof. C. Geuzaine (cgeuzaine@uliege.be)