2024-2025 / INFO0939-1

High performance scientific computing

Duration

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

Number of credits

 Bachelor of Science (BSc) in Engineering5 crédits 
 Master MSc. in Engineering Physics, research focus4 crédits 
 Master MSc. in Aerospace Engineering, professional focus in aerospace engineering5 crédits 
 Master MSc. in Biomedical Engineering, professional focus5 crédits 
 Master MSc. in Computer Science, professional focus in computer systems security5 crédits 
 Master MSc. in Computer Science, professional focus in computer systems security (double diplômation avec HEC)5 crédits 
 Master MSc. in Data Science, professional focus5 crédits 
 Master MSc. in Electrical Engineering, professional focus in electronic systems and devices5 crédits 
 Master Msc. in electrical engineering, professional focus in "Smart grids"5 crédits 
 Master MSc. in Data Science and Engineering, professional focus5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in management5 crédits 
 Master Msc. in computer science and engineering, professional focus in intelligent systems5 crédits 
 Master MSc. in Computer Science, professional focus in management5 crédits 
 Master Msc. in Electrical Engineering, professional focus in Neuromorphic Engineering5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in computer systems and networks5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in computer systems and networks (double diplômation avec HEC)5 crédits 
 Master MSc. in Computer Science, professional focus in intelligent systems5 crédits 
 Master in physics, research focus5 crédits 
 Master in physics, teaching focus5 crédits 
 Master in physics, professional focus in medical radiophysics5 crédits 

Lecturer

Christophe Geuzaine

Language(s) of instruction

English language

Organisation and examination

Teaching in the first semester, review in January

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

Description of the course:

This course tackles advanced scientific calculation methods, both from a theoretical point of view and from the point of view of the implementation of high-performance applications.

Table of Contents:

Introduction to high performance scientific computing, parallel computer architectures, latency and bandwidth, spatial and temporal locality, Amdahl's law, strong and weak scaling, distributed memory programming with MPI, shared memory programming with OpenMP, introduction to GPU computing.

The course uses the C programming language for the  implementation of algorithms, both serial and parallel. Practical work covers the use of parallel computers (UNIX system, remote login, command line, job scheduler) and the parallelisation of algorithms using MPI and OpenMP.

Learning outcomes of the learning unit

By the end of the course the students will have studied various advanced scientific computing algorithms. They will have learned the basics of their efficient implementation on serial and parallel computers, and will be familiar with the muticore (shared memory) programming paradigm using OpenMP, and the distributed memory programming paradigm using MPI.

This course contributes to the learning outcomes 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 of the MSc in aerospace engineering.


This course contributes to the learning outcomes 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 of the MSc in biomedical engineering.


This course contributes to the learning outcomes 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 of the MSc in data science and engineering.


This course contributes to the learning outcomes 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 of the MSc in electrical engineering.


This course contributes to the learning outcomes 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 of the MSc in computer science and engineering.


This course contributes to the learning outcomes 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 of the MSc in engineering physics.

Prerequisite knowledge and skills

MATH0006 (Introduction to numerical analysis), MATH0504 (Applied mathematics) and INFO2009 (Introduction à l'informatique).

Planned learning activities and teaching methods

Theory lectures, practical computer sessions and one or more project(s).

The number of projects varies from year to year. The first projet is usually assigned very early in the quadrimester, i.e. during the first or second week. The deadline for the last project usually coincides with the end of the quadrimester.

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face and/or online. See the course website for up-to-date information.

Cf. course website.

Exam(s) in session

Any session

- In-person

oral exam


Additional information:

Project presentation.

Work placement(s)

Organisational remarks and main changes to the course

This course is taught in English.

Contacts

C. Geuzaine (cgeuzaine at uliege.be), D. Colignon (david.colignon at uliege.be) and O. Louant (orian.louant at uliege.be).

Association of one or more MOOCs