Centrale Lille Course Catalogue

Algorithmics and databases 2 - High Performance Computing

Course label : Algorithmics and databases 2 - High Performance Computing
Teaching departement : EEA / Electrotechnics - Electronics - Control Systems
Teaching manager : Mister PIERRE-ANTOINE THOUVENIN / Mister PIERRE CHAINAIS
Education language :
Potential ects : 0
Results grid :
Code and label (hp) : MR_DS_S3_AD2 - Algorithmics and databases 2 -

Education team

Teachers : Mister PIERRE-ANTOINE THOUVENIN / Mister PIERRE CHAINAIS
External contributors (business, research, secondary education): various temporary teachers

Summary

This course aims at presenting the basics of parallel and high performance computing on one or multiple node(s) of multi-core CPUs and GPUs. This includes: · parallel architectures, · parallel algorithmics, · data and task parallelism, · data distribution and load balancing, · parallel programming on distributed-memory architectures (MPI standard), · sequential code optimization for high performance computing, · GPU programming and optimization

Educational goals

After successfully taking this course, a student should be able to: · know the various parallel architectures and the various parallel programming models, · design parallel algorithms, · design, implement and optimize parallel programs on high performance architectures (one or multiple node(s) of multi-core CPUs and GPUs), · determine whether an application is relevant for CPU and/or GPU parallel acceleration, · use a supercomputer with multiple CPU+GPU nodes.

Sustainable development goals

Knowledge control procedures

Continuous Assessment
Comments: Project, (min) 0 - 20 (max) Oral exam, (min) 0 - 20 (max) Passing grade 10/20

Online resources

• Parallel Programming in C with MPI and OpenMP, M.J. Quinn • U.C. Berkeley CS267 (J. Demmel et al.): http://www.cs.berkeley.edu/~demmel • Univ. Tennessee Knoxville CS 594 (J. Dongarra et al.): http://www.netlib.org/utk/people/JackDongarra/courses.htm • IDRIS course on MPI: http://www.idris.fr/formations/mpi/ • CUDA documentation (https://docs.nvidia.com/cuda/index.html) and courses (https://developer.nvidia.com/educators/existing-courses)

Pedagogy

24 hours, 6 lectures, 6 labs/tutorial sessions English is the default language.

Sequencing / learning methods

Number of hours - Lectures : 12
Number of hours - Tutorial : 12
Number of hours - Practical work : 0
Number of hours - Seminar : 0
Number of hours - Half-group seminar : 0
Number of student hours in TEA (Autonomous learning) : 0
Number of student hours in TNE (Non-supervised activities) : 0
Number of hours in CB (Fixed exams) : 0
Number of student hours in PER (Personal work) : 0
Number of hours - Projects : 0

Prerequisites

C or Python programming

Maximum number of registrants

Remarks