School / Prep
ENSEIRB-MATMECA
Internal code
EI9IT390
Description
The course is divided into 2 parts. One covers the operation of general-purpose multicore systems, the other the operation of graphics gas pedals.
The aim of this course is to present these architectures, and to learn how to program them efficiently using :
- compilation flags
- compiler extensions (SIMD, intrinsic functions),
- code annotations (OpenACC),
- specific languages (CUDA),
- optimized libraries (CUBLAS),
- performance analysis tools,
- task-based execution support (StarPU) to articulate general-purpose multicore and graphics gas pedals.
Microbenchmarks will be used to describe how these architectures work, and to understand the link between written code, compiler-generated code and compiler performance.
Practical exercises will be devoted to writing, debugging and optimizing GPU- and multicore-accelerated code, and to performance analysis.
Teaching hours
- CIIntegrated Courses12h
- TDTutorial16h
Mandatory prerequisites
Notions of parallelism.
Knowledge of C/C++ (especially memory management).
Further information
Code operation and optimization for multicore and GPU computing gas pedals.
Assessment of knowledge
Initial assessment / Main session
| Type of assessment | Nature of assessment | Duration (in minutes) | Number of tests | Evaluation coefficient | Eliminatory evaluation mark | Remarks |
|---|---|---|---|---|---|---|
| Project | Machine work | 1 | ||||
| Project | Defense | 1 |
