Návrh Školení

Úvod

  • Co je ROCm?
  • Co je HIP?
  • ROCm vs CUDA vs OpenCL
  • Přehled funkcí a architektury ROCm a HIP
  • ROCm for Windows vs ROCm pro Linux

Instalace

  • Instalace ROCm na Windows
  • Ověřte instalaci a zkontrolujte kompatibilitu zařízení
  • Aktualizace nebo odinstalace ROCm v systému Windows
  • Odstraňování běžných problémů s instalací

Začínáme

  • Vytvoření nového projektu ROCm pomocí kódu Visual Studio v systému Windows
  • Prozkoumání struktury projektu a souborů
  • Kompilace a spuštění programu
  • Zobrazení výstupu pomocí printf a fprintf

ROCm API

  • Použití ROCm API v hostitelském programu
  • Dotazování na informace a možnosti zařízení
  • Alokace a uvolnění paměti zařízení
  • Kopírování dat mezi hostitelem a zařízením
  • Spouštění jader a synchronizace vláken
  • Ošetření chyb a výjimek

Jazyk HIP

  • Použití jazyka HIP v programu zařízení
  • Psaní jader, která se spouštějí na GPU a manipulují s daty
  • Použití datových typů, kvalifikátorů, operátorů a výrazů
  • Použití vestavěných funkcí, proměnných a knihoven

ROCm a HIP paměťový model

  • Použití různých paměťových prostorů, jako je globální, sdílený, konstantní a místní
  • Použití různých paměťových objektů, jako jsou ukazatele, pole, textury a povrchy
  • Použití různých režimů přístupu do paměti, jako je pouze pro čtení, pouze pro zápis, pro čtení a zápis atd.
  • Použití modelu konzistence paměti a synchronizačních mechanismů

ROCm a model provedení HIP

  • Použití různých modelů provádění, jako jsou vlákna, bloky a mřížky
  • Použití funkcí vláken, jako je hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x atd.
  • Použití blokových funkcí, jako jsou __syncthreads, __threadfence_block atd.
  • Používání funkcí mřížky, jako je hipGridDim_x, hipGridSync, kooperativní skupiny atd.

Ladění

  • Ladění programů ROCm a HIP ve Windows
  • Použití Visual Studio Code debugger ke kontrole proměnných, zarážek, zásobníku volání atd.
  • Použití ROCm Debugger k ladění ROCm a HIP programů na zařízeních AMD
  • Použití ROCm Profiler k analýze programů ROCm a HIP na zařízeních AMD

Optimalizace

  • Optimalizace programů ROCm a HIP v systému Windows
  • Použití slučovacích technik ke zlepšení propustnosti paměti
  • Použití technik ukládání do mezipaměti a předběžného načítání ke snížení latence paměti
  • Použití sdílené paměti a technik místní paměti k optimalizaci přístupu k paměti a šířky pásma
  • Používání profilovacích a profilovacích nástrojů k měření a zlepšování doby provádění a využití zdrojů

Shrnutí a další krok

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
  • Znalost operačního systému Windows a prostředí PowerShell

Publikum

  • Vývojáři, kteří se chtějí naučit, jak nainstalovat a používat ROCm ve Windows k programování AMD GPU a využívat jejich paralelismus
  • Vývojáři, kteří chtějí psát vysoce výkonný a škálovatelný kód, který lze spustit na různých zařízeních AMD
  • Programátoři, kteří chtějí prozkoumat nízkoúrovňové aspekty GPU programování a optimalizovat výkon svého kódu
 21 hodiny

Počet účastníků



Price per participant

Reference (1)

Související kurzy

GPU Programming - OpenCL vs CUDA vs ROCm

28 hodiny

Související kategorie