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