GPU Architectures and Programming
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NIE-GPU | Z,ZK | 5 | 2P+1C | anglicky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Students will gain knowledge of the internal architecture of modern massively parallel GPU processors. They will learn to program them mainly in the CUDA programming environment, which is already a widespread programming technology of GPU processors. As an integral part of the effective computational use of these hierarchical computational structures, students will also learn optimization programming techniques and methods of programming multiprocessor GPU systems.
- Požadavky:
-
Basics of programming in C and C ++ (at the level of subjects BI-PA1 and BI-PA2), it is recommended to complete the subject Parallel and Distributed Programming (MI-PDP).
- Osnova přednášek:
-
1. GPU microarchitecture.
2. (3) Programming language CUDA.
3. Fundamental parallel operations (reduction and prefix sum).
4. Methods of synchronization of threads and thread blocks.
5. Optimization I: General source code optimizations.
6. Optimization II: Architecture SIMT, sdruˇzen´y access to the shared memory.
7. Optimization III: Architecture memory subsystem.
8. Cooperation of multiple GPUs.
9. Asynchronous GPU computations.
10. Case studies of GPU programs. Development and debugging of GPU applications.
11. HPC libraries and other APIs for GPGPU.
- Osnova cvičení:
-
1) Introduction to the environment, assignment of term papers
2) Submission of sequential implementation
3) Compilation of GPU code, involvement of libraries
4) Working with code debugging tools and profiling tools
5) consultation on GPU implementation
6) submission of GPU implementation, credit
- Cíle studia:
- Studijní materiály:
-
1. Kirk, D. B. : Programming Massively Parallel Processors (3rd Edition). Morgan Kaufmann, 2016. ISBN 978-0128119860.
2. Cheng , F. - Grossman, M. - McKercher, T. : Professional CUDA C Programming (1st Edition). Wrox, 2014. ISBN 978-1118739327.
3. Cook, S. : CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs (1st Edition). Morgan Kaufmann, 2012. ISBN 978-0124159334.
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Master specialization Software Engineering, in English, 2021 (volitelný předmět)
- Master specialization Computer Security, in English, 2021 (volitelný předmět)
- Master specialization Computer Systems and Networks, in English, 2021 (PS)
- Master specialization Design and Programming of Embedded Systems, in English, 2021 (volitelný předmět)
- Master specialization Computer Science, in English, 2021 (VO)