Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Návrh Školení
Úvod
- Co je GPU programování?
- Proč používat GPU programování?
- Jaké jsou výzvy a obchodní nároky spojené s GPU programováním?
- Jaké jsou frameworky pro GPU programování?
- Zvolení správného frameworku pro vaši aplikaci
OpenCL
- Co je OpenCL?
- Jaké jsou výhody a nevýhody OpenCL?
- Nastavení vývojového prostředí pro OpenCL
- Vytvoření základního programu OpenCL, který provádí vektorovou součtu
- Použití API OpenCL pro dotaz na informace o zařízení, alokaci a uvolňování paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jádrových funkcí a synchronizací vláken
- Použití jazyka OpenCL C k vytvoření jádrových funkcí, které se vykonají na zařízení a manipulují s daty
- Použití integrovaných funkcí, proměnných a knihoven OpenCL k provedení běžných úloh a operací
- Používání paměťových prostorů v OpenCL, jako jsou globální, místní, konstantní a privátní pro optimalizaci datových přenosů a přístupu k paměti
- Použití modelu spuštění v OpenCL k řízení pracovních prvků, skupin práce a ND rozsahů, které definují paralelismus
- Ladění a testování programů OpenCL pomocí nástrojů jako je CodeXL
- Optimalizace programů OpenCL pomocí technik jako jsou splynutí, časování, prefetching a profilaci
CUDA
- Co je CUDA?
- Jaké jsou výhody a nevýhody CUDA?
- Nastavení vývojového prostředí pro CUDA
- Vytvoření základního programu CUDA, který provádí vektorovou součtu
- Použití API CUDA k dotazům na informace o zařízení, alokaci a uvolňování paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jádrových funkcí a synchronizacích vláken
- Použití jazyka CUDA C/C++ k vytvoření jádrových funkcí, které se vykonají na zařízení a manipulují s daty
- Použití integrovaných funkcí, proměnných a knihoven CUDA k provedení běžných úloh a operací
- Používání paměťových prostorů v CUDA, jako jsou globální, sdílené, konstantní a místní pro optimalizaci datových přenosů a přístupu k paměti
- Použití modelu spuštění CUDA k řízení vláken, bloků a sítí, které definují paralelismus
- Ladění a testování programů CUDA pomocí nástrojů jako je CUDA-GDB, CUDA-MEMCHECK a NVIDIA Nsight
- Optimalizace programů CUDA pomocí technik jako jsou splynutí, časování, prefetching a profilaci
ROCm
- Co je ROCm?
- Jaké jsou výhody a nevýhody ROCm?
- Nastavení vývojového prostředí pro ROCm
- Vytvoření základního programu ROCm, který provádí vektorovou součtu
- Použití API ROCm k dotazům na informace o zařízení, alokaci a uvolňování paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jádrových funkcí a synchronizacích vláken
- Použití jazyka ROCm C/C++ k vytvoření jádrových funkcí, které se vykonají na zařízení a manipulují s daty
- Použití integrovaných funkcí, proměnných a knihoven ROCm k provedení běžných úloh a operací
- Používání paměťových prostorů v ROCm, jako jsou globální, místní, konstantní a privátní pro optimalizaci datových přenosů a přístupu k paměti
- Použití modelu spuštění ROCm k řízení vláken, bloků a sítí, které definují paralelismus
- Ladění a testování programů ROCm pomocí nástrojů jako je ROCm Debugger a ROCm Profiler
- Optimalizace programů ROCm pomocí technik jako jsou splynutí, časování, prefetching a profilaci
Srovnání
- Srovnání funkcí, výkonu a kompatibility OpenCL, CUDA a ROCm
- Hodnocení programů GPU pomocí benchmarků a metrik
- Zjišťování nejlepších praxí a tipů pro programování v GPU
- Prozkoumávání aktuálních a budoucích trendy a výzev v oblasti GPU programování
Shrnutí a další kroky
Požadavky
- Přehled jazyka C/C++ a konceptů paralelního programování
- Základní znalost architektury počítače a hierarchie paměti
- Zkušenosti s nástroji příkazového řádku a kódovacími editory
Cílová skupina
- Vývojáři, kteří chtějí naučit se používat různé frameworky pro GPU programování a porovnat jejich vlastnosti, výkon a kompatibilitu
- Vývojáři, kteří chtějí psát portabilní a škálující se kód, který může běžet na různých platformách a zařízeních
- Programátoři, kteří chtějí prozkoumat obchodní výhody a výzvy GPU programování a optimalizace
28 hodiny