Návrh Školení
Úvod
Základy metodologie heterogenního výpočtu
Proč paralelní výpočty? Důvody pro jejich využití
Vícejádrové procesory – architektura a konstrukce
Úvod do vláken, základních principů vláken a základů paralelního programování
Základy optimalizace softwaru na GPU
OpenMP – standard pro direktivně řízené paralelní programování
Praktická ukázka různých programů na vícejádrových systémech
Úvod do výpočtů s využitím GPU
GPU pro paralelní zpracování dat
Programovací model pro GPU
Praktická ukázka různých programů na GPU
SDK, nástroje a nastavení vývojového prostředí pro práci s GPU
Práce s různými knihovnami
Demonstrace možností GPU a nástrojů na ukázkových programech včetně OpenACC
Základy programovacího modelu CUDA
Architektura platformy CUDA
Nastavení vývojového prostředí pro CUDA
Práce s rozhraním API v reálném čase v rámci CUDA
Model paměti v systému CUDA
Další funkce a možnosti API v systému CUDA
Efektivní přístup k globální paměti: optimalizace přenosů dat v CUDA
Optimalizace přenosů dat pomocí proudů v systému CUDA
Využití sdílené paměti v systému CUDA
Atomické operace a instrukce v systému CUDA – jejich využití
Případová studie: Základní zpracování digitálních obrazů s využitím CUDA
Programování s více GPU současně
Pokročilé profilování hardwaru a analýza výkonu na platformách NVIDIA/CUDA
Dynamické spouštění kernelů pomocí rozhraní CUDA Dynamic Parallelism API
Shrnutí a závěry
Požadavky
- Programování v jazyce C
- Kompilátor GCC na Linuxu
Reference (1)
Energie a humorný přístup školenářů.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurz - NVIDIA GPU Programming - Extended
Přeloženo strojem