Návrh Školení

Úvod

  • Co je programování GPU?
  • Proč používat CUDA s Pythonem?
  • Klíčové koncepty: vlákna, bloky, mříže

Přehled funkcí a architektury CUDA

  • Srovnání GPU a CPU architektury
  • Porozumění SIMT (Single Instruction, Multiple Threads)
  • Programovací model CUDA

Nastavení vývojového prostředí

  • Instalace CUDA Toolkit a ovladačů
  • Instalace Pythonu a Numbry
  • Nastavení a ověření prostředí

Základy paralelního programování

  • Úvod do paralelního provádění
  • Porozumění vláknům a hierarchii vláken
  • Práce s warpem a synchronizací

Práce s kompilátorem Numba

  • Úvod do Numbry
  • Pisání CUDA jáder pomocí Numpy
  • Porozumění dekorátorům @cuda.jit

Vytvoření vlastního CUDA jádra

  • Napsání a spuštění základního jádra
  • Použití vláken pro elementární operace
  • Správa rozměrů mříže a bloku

Správa paměti

  • Typy GPU paměti (globální, sdílená, místní, konstantní)
  • Přenos dat mezi hostitelem a zařízením
  • Optimalizace využití paměti a odstranění láhve v krkavci

Pokročilé témata v GPU zrychlení

  • Sdílená paměť a synchronizace
  • Použití streamů pro asynchronní provádění
  • Základy programování více GPU

Převod aplikací založených na CPU do GPU

  • Profiling kódu CPU
  • Identifikace paralelních částí
  • Přenesení logiky do CUDA jáder

Řešení potíží

  • Ladení CUDA aplikací
  • Běžné chyby a jejich řešení
  • Nástroje a techniky pro testování a ověřování

Závěr a další kroky

  • Revize klíčových konceptů
  • Osvědčené postupy v GPU programování
  • Zdroje pro dále pokračující vzdělávání

Požadavky

  • Zkušenosti s programováním v Pythonu
  • Zkušenosti s NumPy (ndarrays, ufuncs atd.)

Cílová skupina

  • Programátoři
 14 Hodiny

Počet účastníků


Cena za účastníka

Reference (1)

Nadcházející kurzy

Související kategorie