Popis předmětu - A4M39GPU
A4M39GPU | Obecné výpočty na grafických procesorech | ||
---|---|---|---|
Role: | Rozsah výuky: | 1P+2C | |
Katedra: | 13139 | Jazyk výuky: | CS |
Garanti: | Zakončení: | KZ | |
Přednášející: | Kreditů: | 4 | |
Cvičící: | Semestr: | Z |
Webová stránka:
http://cent.felk.cvut.cz/courses/GPUAnotace:
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: A4M39GPU
Osnovy 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. |
Osnovy 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 |
5. | CUDA - řešení jednoduché úlohy II (doplňování kódu do předpřipravené kostry |
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 |
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. |
Literatura:
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. |
Požadavky:
Programování v C/C++, lineární algebra.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 . |
Klíčová slova:
OpenCL, CUDAPředmět je zahrnut do těchto studijních plánů:
Plán | Obor | Role | Dop. semestr |
Stránka vytvořena 19.3.2025 17:50:54, semestry: Z/2025-6, L/2024-5, L/2025-6, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |