Parallel Architectures | Computer Science | S4 | |||||||
---|---|---|---|---|---|---|---|---|---|
Lessons : h | TD : h | TP : h | Project : h | Total : h | |||||
Co-ordinator : Emmanuel Cagniot |
Prerequisite | |
---|---|
Elements of CPU architectures, knowledge of C and C++ (template programming) programming languages | |
Course Objectives | |
Introduction to parallel architectures and programming models | |
Syllabus | |
The course mainly focus on the classification of parallel architectures according to architectural and memory access schemes. Pratical works focus on shared memory programming using OpenMP (Open MultiProcessing) API. | |
Practical work (TD or TP) | |
- PW 1 (4h) : introduction to basic OpenMP constructs (parallel region, data status and synchronization) in C programming language - PW 2 (4h) : for loop parallelization, parallel region maximization, brute force algorithm (C programming language) - PW 3 (4h) : recursive algorithm parallelization using parallel sections and tasks (C programming language) - PW 4 (3h) : porting a distributed memory sorting algorithm onto a shared memory architecture (C++ programming language, template programming) |
|
Acquired skills | |
Choosing the best parallel architecture for a specific kind of application. Finding a good compromise between performances and both portability and maintenability for a parallel code. | |
Bibliography | |
Algorithmes et architectures parallèles, Michel Cosnard, Denis Trystram, InterEditions, Paris, 1993 |
© 2024 - ENSICAEN ( Legal Notices - Credits )