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 programování GPU?
- Jaké jsou výzvy a kompromisy GPU programování?
- Jaké jsou rámce pro GPU programování?
- Výběr správného rámce 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 OpenCL programu, který provádí sčítání vektorů
- Použití OpenCL API k dotazování na informace o zařízení, alokaci a uvolnění paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jader a synchronizaci vláken
- Použití OpenCL jazyka C k zápisu jader, která se spouštějí na zařízení a manipulují s daty
- Použití OpenCL vestavěných funkcí, proměnných a knihoven k provádění běžných úloh a operací
- Použití OpenCL paměťových prostorů, jako je globální, místní, konstantní a soukromý, k optimalizaci přenosů dat a přístupů k paměti
- Použití prováděcího modelu OpenCL k řízení pracovních položek, pracovních skupin a rozsahů ND, které definují paralelismus
- Ladění a testování OpenCL programů pomocí nástrojů, jako je CodeXL
- Optimalizace OpenCL programů pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování
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í sčítání vektorů
- Použití CUDA API k dotazování na informace o zařízení, alokaci a uvolnění paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jader a synchronizaci vláken
- Použití jazyka CUDA C/C++ k zápisu jader, která se spouštějí na zařízení a manipulují s daty
- Použití vestavěných funkcí, proměnných a knihoven CUDA k provádění běžných úkolů a operací
- Použití paměťových prostorů CUDA, jako jsou globální, sdílené, konstantní a místní, k optimalizaci přenosů dat a přístupů k paměti
- Použití modelu provádění CUDA k řízení vláken, bloků a mřížek, které definují rovnoběžnost
- Ladění a testování programů CUDA pomocí nástrojů jako CUDA-GDB, CUDA-MEMCHECK a NVIDIA Nsight
- Optimalizace programů CUDA pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování
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í sčítání vektorů
- Použití ROCm API k dotazování na informace o zařízení, alokaci a uvolnění paměti zařízení, kopírování dat mezi hostitelem a zařízením, spouštění jader a synchronizaci vláken
- Použití jazyka ROCm C/C++ k zápisu jader, která se spouštějí na zařízení a manipulují s daty
- Použití vestavěných funkcí, proměnných a knihoven ROCm k provádění běžných úloh a operací
- Použití paměťových prostorů ROCm, jako jsou globální, místní, konstantní a soukromé, k optimalizaci přenosů dat a přístupů k paměti
- Použití modelu provádění ROCm k řízení vláken, bloků a mřížek, které definují rovnoběžnost
- Ladění a testování programů ROCm pomocí nástrojů jako ROCm Debugger a ROCm Profiler
- Optimalizace programů ROCm pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování
Srovnání
- Porovnání funkcí, výkonu a kompatibility OpenCL, CUDA a ROCm
- Hodnocení GPU programů pomocí benchmarků a metrik
- Naučte se osvědčené postupy a tipy pro GPU programování
- Zkoumání současných a budoucích trendů a výzev GPU programování
Shrnutí a další kroky
Požadavky
- Pochopení jazyka C/C++ a konceptů paralelního programování
- Základní znalosti architektury počítačů a hierarchie paměti
- Zkušenosti s nástroji příkazového řádku a editory kódu
Publikum
- Vývojáři, kteří se chtějí naučit používat různé frameworky pro GPU programování a porovnat jejich funkce, výkon a kompatibilitu
- Vývojáři, kteří chtějí psát přenosný a škálovatelný kód, který může běžet na různých platformách a zařízeních
- Programátoři, kteří chtějí prozkoumat kompromisy a výzvy GPU programování a optimalizace
28 hodiny
Reference (2)
Velmi interaktivní s různými příklady, s dobrým postupem ve složitosti mezi začátkem a koncem školení.
Jenny - Andheo
Kurz - GPU Programming with CUDA and Python
Machine Translated
Trenéři energii a humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurz - NVIDIA GPU Programming - Extended
Machine Translated