Course unit

TB2 - HIGH PERFORMANCE COMPUTING

Last updated: 22/02/2024

Edit

Course Director(s):

BRUCHON Julien

General Description:

Context and objectifs

An engineer is often involved in the development of computer programs that allow for large, complex but expensive calculations. However, these calculations often encounter physical limitations of computers (e. g., excessive computing time or memory resources) that may make it impossible to carry out the calculation. In addition, these programs are still most often developed sequentially, i.e. they work on a single processor or even a single core. Consequently, they do not take full advantage of the computing power of today's multiprocessor and/or multi-core architectures. Hence, high-performance computing can only be achieved through an fully parallel approach

In the High Performance Computing (HPC) toolobx, students will learn the techniques of algorithm design and parallel programing as well as the tools to make these programs in three different ways: use of graphics processing units (GPUs), multi-core processors and multi-processor clusters.

The pedagogical objectives are: :

·         Understanding the basic concepts and paradigms of high-performance computing,

·         Being familiar with API (Application Programming Interface) for programming parallel applications

Key words:

Parallel computing Cluster OpenMP MPI GPU

Number of teaching hours

Fields of study

Teaching language

Intended learning outcomes

On completion of the unit, the student will be capable of: Classification level Priority

Learning assessment methods

Percentage ratio of individual assessment Percentage ratio of group assessment
Written exam: % Project submission: %
Individual oral exam: % Group presentation: %
Individual presentation: % Group practical exercise: %
Individual practical exercise: % Group report: %
Individual report: %
Other(s): %

Programme and content

Type of teaching activity Content, sequencing and organisation