FI:PV197 GPU Programming - Informace o předmětu
PV197 GPU Programming
Fakulta informatikypodzim 2011
- Rozsah
- 1/1. 2 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- doc. RNDr. Jiří Filipovič, Ph.D. (přednášející)
prof. RNDr. Jiří Barnat, Ph.D. (přednášející)
doc. RNDr. Petr Holub, Ph.D. (přednášející)
RNDr. Jiří Matela, Ph.D. (pomocník) - Garance
- prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky - Rozvrh
- Po 14:00–15:50 A107
- Předpoklady
- IB109 Návrh paralelních systémů
Předpokládá se znalost základů jazyka C, základní přehled architektury procesorů a paralelizace algoritmů. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- Aplikovaná informatika (program FI, B-AP)
- Aplikovaná informatika (program FI, N-AP)
- Bezpečnost informačních technologií (program FI, N-IN)
- Bioinformatika (program FI, B-AP)
- Bioinformatika (program FI, N-AP)
- Informační systémy (program FI, N-IN)
- Informatika a druhý obor (program FI, B-BI)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-GE)
- Informatika a druhý obor (program FI, B-GK)
- Informatika a druhý obor (program FI, B-CH)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (angl.) (program FI, D-IN4)
- Informatika (program FI, D-IN4)
- Informatika (program FI, N-IN)
- Informatika ve veřejné správě (program FI, B-AP)
- Matematická informatika (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, N-IN)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačová grafika (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, N-IN)
- Počítačové systémy a technologie (angl.) (program FI, D-IN4)
- Počítačové systémy a technologie (program FI, D-IN4)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Počítačové systémy (program FI, N-IN)
- Programovatelné technické struktury (angl.) (program FI, N-IN)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Služby - výzkum, řízení a inovace (angl.) (program FI, N-AP)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Teoretická informatika (program FI, N-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, N-SS) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, N-IN)
- Zpracování obrazu (program FI, N-AP)
- Cíle předmětu
- Předmět se soustředí na programování grafických procesorů (GPU), které při vhodném využití paralelismu umožňují dosažení výpočetních výkonů nedostupných na univerzálních procesorech. Studenti budou podrobně seznámeni s architekturou GPUa následně s programovacím modelem CUDA. Budou analyzovány základní vzory vhodné pro implementaci na GPU. Studenti budou samostatně vypracovávat řešení zadaných úkolů na GPU. Absolventi kurzu budou rozumět SIMD/SIMT paralelnímu programovacímu modelu a jeho využití na GPU. Budou schopni samostatně navrhovat paralelizaci algoritmů pro GPU a implementovat je pomocí programovacího modelu CUDA.
- Osnova
- Úvod: motivace, architektura, základní pohled na model paralelismu, základy CUDA, úvodní demonstrační program
- GPU hardware a paralelismus: podrobný popis architektury, synchronizace, příklad různého rozdělení vláken na násobení matic (naivní přístup versus přístup po blocích)
- Výkon GPU hardware: optimalizace přístupu do paměti, rychlost běhu instrukcí, příklad -- transpozice matic
- CUDA, nástroje a knihovny: podrobný popis API, kompilace, profiler, základní knihovny, zadání projektu
- Optimalizace: specifika a obecné zásady optimalizace pro GPU, revize násobení matic, paralelní redukce
- Paralelizace obecně: dekompizice problému, analýza závislostí, analýza návrhu, vzory paralelismu
- Metriky efektivity na GPU: souběžné využití CPU a GPU, metriky umožňující odhad výkonu algoritmu na GPU, demonstrace na zobrazovacích algoritmech, zásady měření výkonu algoritmů
- OpenCL: úvod do OpenCL, rozdíly oproti CUDA, využití OpenCL pro hardware nedostupný v CUDA
- Případová studie 1: Výpočet energetického pole molekuly, automatická optimalizace mapovaných funkcí
- Případová studie 2: Akcelerace komprese obrazu a videa
- Případová studie 3: Akcelerace LTL model checkingu
- Rozprava o projektu, prezentace dosažených vysledků, prezentace tří nejlepších výsledků jejich autory, závěrečná diskuse
- Literatura
- MATTSON, Timothy G, Beverly A. SANDERS a Berna MASSINGILL. Patterns for Parallel Programming. Boston: Addison-Wesley, 2005, xiii, 355. ISBN 0321228111. info
- The data parallel programming model : foundations, HPF realization, and scientific applications. Edited by Guy-René Perrin - Alain Darte. Berlin: Springer, 1996, xv, 284. ISBN 3540617361. info
- GPU gems 3. Edited by Hubert Nguyen. Upper Saddle River, NJ: Addison-Wesley, 2007, l, 942. ISBN 9780321515261. info
- Výukové metody
- Standardní výuka, čtení doporučené literatury, praktické řešení a programování zadaných úkolů.
- Metody hodnocení
- Bodované hodnocní řešení úkolů: 50% za projekt, až 30% bonus za výkon. Ústní zkouška v průběhu zkouškového období, 50% hodnocení. Pro úspěšné absolvování musí být za ústní zkoušku alespoň polovina maxima.
- Vyučovací jazyk
- Angličtina
- Informace učitele
- V odůvodněném případě (dostatečné vstupní znalosti, potřeba absolvování předmětu pro realizaci závěrečné práce atp.) lze zapsat předmět i bez splnění předpokladu IB109 (je třeba požádat v IS o výjimku).
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (podzim 2011, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2011/PV197