NVIDIA GPU Programming - Extended Počítačový Kurz
Tento instruktorem vedený živý tréninkový kurz se zabývá tím, jak programovat GPU pro paralelní výpočty, jak používat různé platformy, jak pracovat s platformou CUDA a jejími funkcemi a jak pomocí CUDA provádět různé optimalizační techniky. Některé z aplikací zahrnují hluboké učení, analýzy, zpracování obrazu a inženýrské aplikace.
Návrh Školení
Úvod
Pochopení základů metodologie heterogenních výpočtů
Proč Parallel Computing? Pochopení potřeby paralelních počítačů
Vícejádrové procesory – architektura a design
Úvod do vláken, základy vláken a základní pojmy paralelní Programming
Pochopení základů GPU procesů optimalizace softwaru
OpenMP – standard pro paralelní směrnici Programming
Praktické / Ukázka různých programů na vícejádrových strojích
Úvod do GPU Computing
GPUs pro paralelní výpočty
Model GPU Programming
Praktické / Ukázka různých programů na GPU
SDK, sada nástrojů a instalace prostředí pro GPU
Práce s různými knihovnami
Ukázka GPU a nástrojů s ukázkovými programy a OpenACC
Pochopení modelu CUDA Programming
Naučte se architekturu CUDA
Prozkoumání a nastavení vývojových prostředí CUDA
Práce s CUDA Runtime API
Pochopení paměťového modelu CUDA
Prozkoumání dalších funkcí CUDA API
AccessEfektivní využití globální paměti v CUDA: Global Memory Optimization
Optimalizace datových přenosů v CUDA pomocí CUDA Streams
Použití sdílené paměti v CUDA
Pochopení a použití atomových operací a instrukcí v CUDA
Případová studie: Základní digitální zpracování obrazu pomocí CUDA
Práce s více GPU Programming
Pokročilé hardwarové profilování a vzorkování na NVIDIA / CUDA
Použití CUDA Dynamic Parallelism API pro dynamické spouštění jádra
Shrnutí a závěr
Požadavky
- C Programming
- Linux GCC
Open Training Courses require 5+ participants.
NVIDIA GPU Programming - Extended Počítačový Kurz - Booking
NVIDIA GPU Programming - Extended Počítačový Kurz - Enquiry
NVIDIA GPU Programming - Extended - Consultancy Enquiry
Reference (1)
Trenéři energii a humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurz - NVIDIA GPU Programming - Extended
Machine Translated
Upcoming Courses
Související kurzy
GPU Programming with CUDA and Python
14 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na vývojáře, kteří chtějí používat CUDA k vytváření Python aplikací, které běží paralelně na GPU NVIDIA.
Na konci tohoto školení budou účastníci schopni:
- Použijte kompilátor Numba k urychlení Python aplikací běžících na GPU NVIDIA.
- Vytvářejte, kompilujte a spouštějte vlastní jádra CUDA.
- Správa paměti GPU.
- Převeďte aplikaci založenou na CPU na aplikaci s akcelerací GPU.
Administration of CUDA
35 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začínající systémové administrátory a IT profesionály, kteří chtějí instalovat, konfigurovat, spravovat a odstraňovat problémy s prostředími CUDA.
Na konci tohoto školení budou účastníci schopni:
- Pochopte architekturu, komponenty a možnosti CUDA.
- Nainstalujte a nakonfigurujte prostředí CUDA.
- Spravujte a optimalizujte zdroje CUDA.
- Ladění a odstraňování běžných problémů CUDA.
NVIDIA GPU Programming
14 hodinyTento kurz popisuje, jak programovat GPU pro paralelní výpočty. Některé z aplikací zahrnují hluboké učení, analýzy a inženýrské aplikace.
Hardware-Accelerated Video Analytics
14 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na vývojáře, kteří chtějí sestavit hardwarově akcelerované modely detekce a sledování objektů pro analýzu streamovaných video dat.
Na konci tohoto školení budou účastníci schopni:
- Nainstalujte a nakonfigurujte potřebné vývojové prostředí, software a knihovny, abyste mohli začít s vývojem.
- Vytvářejte, trénujte a nasazujte modely hlubokého učení pro analýzu živých video kanálů.
- Identifikujte, sledujte, segmentujte a předvídejte různé objekty v rámci video snímků.
- Optimalizujte modely detekce a sledování objektů.
- Nasaďte inteligentní aplikaci pro analýzu videa (IVA).
GPU Programming with OpenCL
28 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí používat OpenCL k programování heterogenních zařízení a využívat jejich paralelismus.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které obsahuje OpenCL SDK, zařízení podporující OpenCL a Visual Studio kód.
- Vytvořte základní OpenCL program, který provede sčítání vektorů na zařízení a načte výsledky z paměti zařízení.
- Použijte OpenCL API k dotazování na informace o zařízení, vytváření kontextů, příkazových front, vyrovnávacích pamětí, jader a událostí.
- Jazyk OpenCL C použijte k zápisu jader, která se spouštějí na zařízení a manipulují s daty.
- K provádění běžných úloh a operací použijte OpenCL vestavěné funkce, rozšíření a knihovny.
- Použijte OpenCL modely paměti hostitele a zařízení k optimalizaci přenosů dat a přístupu k paměti.
- Použijte prováděcí model OpenCL k řízení pracovních položek, pracovních skupin a rozsahů ND.
- Ladění a testování OpenCL programů pomocí nástrojů jako CodeXL, Intel VTune a NVIDIA Nsight.
- Optimalizujte OpenCL programy pomocí technik, jako je vektorizace, rozbalování smyček, lokální paměť a profilování.
GPU Programming with CUDA
28 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí používat CUDA k programování NVIDIA GPU a využívat jejich paralelismus.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které obsahuje sadu nástrojů CUDA, kód NVIDIA GPU a Visual Studio.
- Vytvořte základní CUDA program, který provede sčítání vektorů na GPU a načte výsledky z paměti GPU.
- Použijte 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žijte jazyk CUDA C/C++ k zápisu jader, která se spouštějí na GPU a manipulují s daty.
- K provádění běžných úloh a operací používejte vestavěné funkce, proměnné a knihovny CUDA.
- Použijte paměťové prostory CUDA, jako jsou globální, sdílené, konstantní a místní, k optimalizaci datových přenosů a přístupů k paměti.
- Použijte prováděcí model 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.
- Optimalizujte programy CUDA pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování.
GPU Programming - OpenCL vs CUDA vs ROCm
28 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí používat různé rámce pro programování GPU a porovnávat jejich funkce, výkon a kompatibilitu.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které obsahuje OpenCL SDK, CUDA Toolkit, ROCm Platform, zařízení, které podporuje OpenCL, CUDA nebo ROCm, a Visual Studio kód.
- Vytvořte základní GPU program, který provádí přidávání vektorů pomocí OpenCL, CUDA a ROCm, a porovnejte syntaxi, strukturu a provedení každého rámce.
- Použijte příslušná rozhraní 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žijte příslušné jazyky k zápisu jader, která se spouštějí na zařízení a manipulují s daty.
- K provádění běžných úloh a operací použijte příslušné vestavěné funkce, proměnné a knihovny.
- Použijte příslušné paměťové prostory, jako je globální, místní, konstantní a soukromý, k optimalizaci datových přenosů a přístupů do paměti.
- Použijte příslušné modely provádění k řízení vláken, bloků a mřížek, které definují rovnoběžnost.
- Ladění a testování GPU programů pomocí nástrojů jako CodeXL, CUDA-GDB, CUDA-MEMCHECK a NVIDIA Nsight.
- Optimalizujte GPU programy pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování.
AMD GPU Programming
28 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí používat ROCm a HIP k programování AMD GPU a využívat jejich paralelismus.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které zahrnuje platformu ROCm, kód AMD GPU a Visual Studio.
- Vytvořte základní program ROCm, který provede sčítání vektorů na GPU a načte výsledky z paměti GPU.
- Použijte 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žijte jazyk HIP k zápisu jader, která se spouštějí na GPU a manipulují s daty.
- K provádění běžných úloh a operací použijte vestavěné funkce, proměnné a knihovny HIP.
- Používejte paměťové prostory ROCm a HIP, jako jsou globální, sdílené, konstantní a místní, k optimalizaci datových přenosů a přístupů k paměti.
- Pomocí modelů provádění ROCm a HIP můžete ovládat vlákna, bloky a mřížky, které definují paralelismus.
- Ladění a testování programů ROCm a HIP pomocí nástrojů jako ROCm Debugger a ROCm Profiler.
- Optimalizujte programy ROCm a HIP pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování.
ROCm for Windows
21 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí nainstalovat a používat ROCm ve Windows k programování AMD GPU a využívat jejich paralelismus.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které obsahuje ROCm Platform, AMD GPU a Visual Studio kód na Windows.
- Vytvořte základní program ROCm, který provede sčítání vektorů na GPU a načte výsledky z paměti GPU.
- Použijte 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žijte jazyk HIP k zápisu jader, která se spouštějí na GPU a manipulují s daty.
- K provádění běžných úloh a operací použijte vestavěné funkce, proměnné a knihovny HIP.
- Používejte paměťové prostory ROCm a HIP, jako jsou globální, sdílené, konstantní a místní, k optimalizaci datových přenosů a přístupů k paměti.
- Pomocí modelů provádění ROCm a HIP můžete ovládat vlákna, bloky a mřížky, které definují paralelismus.
- Ladění a testování programů ROCm a HIP pomocí nástrojů jako ROCm Debugger a ROCm Profiler.
- Optimalizujte programy ROCm a HIP pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování.
Introduction to GPU Programming
21 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří se chtějí naučit základy programování GPU a hlavní rámce a nástroje pro vývoj aplikací GPU. .
- Na konci tohoto školení budou účastníci schopni:
Pochopte rozdíl mezi CPU a GPU computingem a výhody a výzvy programování GPU. - Vyberte si správný rámec a nástroj pro jejich GPU aplikaci.
- Vytvořte základní GPU program, který provádí přidávání vektorů pomocí jednoho nebo více rámců a nástrojů.
- Použijte příslušná rozhraní API, jazyky a knihovny 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žijte příslušné paměťové prostory, jako je globální, místní, konstantní a soukromý, k optimalizaci datových přenosů a přístupů do paměti.
- K řízení paralelismu použijte příslušné modely provádění, jako jsou pracovní položky, pracovní skupiny, vlákna, bloky a mřížky.
- Ladění a testování GPU programů pomocí nástrojů jako CodeXL, CUDA-GDB, CUDA-MEMCHECK a NVIDIA Nsight.
- Optimalizujte GPU programy pomocí technik, jako je slučování, ukládání do mezipaměti, předběžné načítání a profilování.
GPU Programming with OpenACC
28 hodinyToto živé školení vedené instruktorem v České republice (online nebo na místě) je zaměřeno na začátečníky až středně pokročilé vývojáře, kteří chtějí používat OpenACC k programování heterogenních zařízení a využívat jejich paralelismus.
Na konci tohoto školení budou účastníci schopni:
- Nastavte vývojové prostředí, které obsahuje OpenACC SDK, zařízení podporující OpenACC a Visual Studio Code.
- Vytvořte základní program OpenACC, který provede přidání vektoru na zařízení a načte výsledky z paměti zařízení.
- Použijte direktivy a klauzule OpenACC k anotaci kódu a určete paralelní oblasti, přesun dat a možnosti optimalizace.
- Použijte OpenACC API k dotazování na informace o zařízení, nastavení čísla zařízení, zpracování chyb a synchronizaci událostí.
- Použijte knihovny OpenACC a funkce interoperability k integraci OpenACC s jinými programovacími modely, jako je CUDA, OpenMP a MPI.
- Pomocí nástrojů OpenACC můžete profilovat a ladit programy OpenACC a identifikovat úzká místa výkonu a příležitosti.
- Optimalizujte programy OpenACC pomocí technik, jako je umístění dat, fúze smyček, fúze jádra a automatické ladění.