Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2019/2020

Programování a architektury grafických procesorů

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
NI-GPU Z,ZK 5 2P+1C česky
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra počítačových systémů
Anotace:

Studenti získají znalost vnitřní architektury moderních masivně paralelních GPU procesorů. Naučí se je programovat zejména v programovém prostředí jazyka CUDA, což je už dnes široce rozšířená programovací technologie GPU procesorů. Jako nedílnou součást efektivního výpočetního využití těchto hierarchických výpočetních struktur se studenti naučí i optimalizační programovací techniky a způsoby programování víceprocesorových GPU systémů.

Požadavky:

Základy programování v C a C++ (na úrovni předmětů BI-PA1 a BI-PA2), doporučuje se absolvování předmětu Paralelní a distribuované programování (MI-PDP).

Osnova přednášek:

1. Mikroarchitektura GPU.

2.-4. (3) Programovací jazyk CUDA.

5. Základní paralelní operace (redukce a prefixový součet).

6. Metody synchronizace vláken a bloků vláken.

7. Optimalizace I: obecné optimalizace masivně paralelních kódů

8. Optimalizace II: Architektura SIMT, sdružený přístup do paměti.

9. Optimalizace III: Architektura paměťového podsystému.

10. Spolupráce více GPU.

11. Asynchronní GPU výpočty.

12. Případové studie GPU programů, vývoj, ladění GPU aplikací

13. HPC knihovny a ostatní API pro GPGPU.

Osnova cvičení:

1) Seznámení s prostředím, zadání semestrálních prací

2) Odevzdání sekvenční implementace

3) Kompilace GPU kódu, zapojení knihoven

4) Práce s nástroji pro ladění kódu a profilační nástroje

5) konzultace ke GPU implementaci

6) odevzdaní GPU implementace, zápočet

Cíle studia:
Studijní materiály:

Brian Tuomanen „Hands-On GPU Programming with Python and CUDA: Explore high-performance parallel computing with CUDA“ , Packt Publishing, 2018

Sudhakar Yalamanchili „GPU Architectures“ https://ece8823-sy.ece.gatech.edu/

J. Sanders, E. Kandrot ''CUDA by Example: An Introduction to General-Purpose GPU Programming''

David B. Kirk, Wen-mei W. Hwu: Programming Massively Parallel Processors: A Hands-on Approach. 1st ed., Morgan Kaufmann, 2010.

Poznámka:
Další informace:
https://courses.fit.cvut.cz/NI-GPU/
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 8. 7. 2020
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet6072006.html