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

Obecné výpočty na grafických procesorech

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B4M39GPU KZ 4 1P+2C česky
Přednášející:
Jaroslav Sloup (gar.)
Cvičící:
Jaroslav Sloup (gar.)
Předmět zajišťuje:
katedra počítačové grafiky a interakce
Anotace:

Cílem předmětu je seznámení studentů se základními principy obecných výpočtů na grafických procesorech (GPGPU) a získání praktických zkušeností s návrhem a implementací aplikací využívajících pro urychlení výpočtů GPU. Výklad zahrnuje seznámení s architekturou současných grafických procesorů a jejími omezeními, základní koncepty paralelního programovaní GPU, jakyky pro programování GPU, technologii CUDA a metody optimalizace kódu. Cvičení jsou zaměřena na řešení typových úloh a semestrálních projektů. Důraz je kladen na získání praktických zkušeností s konkrétní technologií - CUDA.

Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/A4M39GPU

Požadavky:

Programování v C/C++, lineární algebra.

Osnova přednášek:

1. Úvod do počítání na GPU (architektury, jazyky, GPU versus CPU).

2. Vicevláknové programování.

3. Popis architektury nVidia CUDA a základy jejího programování (Compute Unified Device Architecture).

4. Práce s vlákny a přístup do paměti (CUDA).

5. Metody optimalizace kódu (CUDA).

6. Ukázky návrhu a implementace aplikací v prostředí CUDA.

7. Ostatní jazyky pro GPGPU I - OpenCL (Open Computing Language).

8. Ostatní jazyky pro GPGPU II - OpenGL Compute Shaders.

Osnova cvičení:

1. Úvod - požadavky, bodové hodnocení.

2. Ukázky konkrétních příkladů vicevláknových aplikací.

3. CUDA - překlad programu, ladění, jednoduché příklady. Zadání projektu.

4. CUDA - řešení jednoduché úlohy I (doplňování kódu do předpřipravené kostry

aplikace).

5. CUDA - řešení jednoduché úlohy II (doplňování kódu do předpřipravené kostry

aplikace).

6. Samostatná práce na projektu - konzultace I.

7. Samostatná práce na projektu - konzultace I.

8. Průběžná kontrola první části projektu.

9. OpenCL - překlad programu, ladění, jednoduché příklady.

10. OpenCL - řešení jednoduché úlohy (doplňování kódu do předpřipravené kostry

aplikace).

11. Samostatná práce na projektu - konzultace II.

12. Samostatná práce na projektu - konzultace II.

13. Odezvdáváni projektu + dokumentace.

14. Zápočty.

Cíle studia:
Studijní materiály:

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

2. Jason Sanders, Edward Kandrot: CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional, 1st edition, 2010, ISBN-13: 978-0131387683.

3. Aaftab Munshi, Benedict Gaster, Timothy G. Mattson, James Fung, Dan Ginsburg: OpenCL Programming Guide. Addison-Wesley Professional, 2011, ISBN 978-0321749642.

4. Gerassimos Barlas: Multicore and GPU Programming: An Integrated Approach. Morgan Kaufmann, 2014, ISBN 978-0124171374.

Poznámka:

Další podrobnější informace o předmětu (včetně podmínek pro udělení klasifikovaného zápočtu) najdete na webové stránce http://cent.felk.cvut.cz/courses/GPU .

Další informace:
http://cent.felk.cvut.cz/courses/GPU
Rozvrh na zimní semestr 2019/2020:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
místnost KN:E-128
Sloup J.
11:00–12:30
(přednášková par. 1)
Karlovo nám.
Cvičebna K3
místnost KN:E-327
Sloup J.
14:30–16:00
(přednášková par. 1
paralelka 101)

Karlovo nám.
Solarium K327
St
Čt

Rozvrh na letní semestr 2019/2020:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 21. 9. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet4696906.html