Kurzusleírás

Bevezetés

  • Mi a ROCm?
  • Mi a HIP?
  • ROCm vs CUDA vs OpenCL
  • A ROCm és HIP funkcióinak és architektúrájának áttekintése
  • ROCm for Windows vs ROCm for Linux

Telepítés

  • ROCm telepítése Windows rendszeren
  • A telepítés ellenőrzése és az eszköz kompatibilitásának ellenőrzése
  • ROCm frissítése vagy eltávolítása Windows rendszeren
  • Gyakori telepítési problémák hibaelhárítása

Első lépések

  • Új ROCm projekt létrehozása a Visual Studio Code használatával Windows rendszeren
  • A projekt struktúrájának és fájljainak felfedezése
  • A program fordítása és futtatása
  • Az eredmények megjelenítése printf és fprintf használatával

ROCm API

  • ROCm API használata a hoszt programban
  • Eszköz információk és képességek lekérdezése
  • Eszközmemória lefoglalása és felszabadítása
  • Adatok másolása a gazda és az eszköz között
  • Magok indítása és szálak szinkronizálása
  • Hibák és kivételek kezelése

HIP nyelv

  • HIP nyelv használata az eszköz programban
  • Magok írása, amelyek a GPU-n futnak és az adatokat kezelik
  • Adattípusok, minősítők, operátorok és kifejezések használata
  • Beépített függvények, változók és könyvtárak használata

ROCm és HIP memóriamodell

  • Különböző memóriaterületek használata, mint például globális, megosztott, konstans és helyi
  • Különböző memóriaobjektumok használata, mint például mutatók, tömbök, textúrák és felületek
  • Különböző memória-hozzáférési módok használata, mint például csak olvasható, csak írható, olvasható-írható stb.
  • Memóriakonzisztencia modell és szinkronizációs mechanizmusok használata

ROCm és HIP végrehajtási modell

  • Különböző végrehajtási modellek használata, mint például szálak, blokkok és rácsok
  • Szálfüggvények használata, mint például hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x stb.
  • Blokkfüggvények használata, mint például __syncthreads, __threadfence_block stb.
  • Rácsfüggvények használata, mint például hipGridDim_x, hipGridSync, kooperatív csoportok stb.

Hibakeresés

  • ROCm és HIP programok hibakeresése Windows rendszeren
  • Visual Studio Code debugger használata változók, töréspontok, hívási verem stb. ellenőrzésére
  • ROCm Debugger használata ROCm és HIP programok hibakeresésére AMD eszközökön
  • ROCm Profiler használata ROCm és HIP programok elemzésére AMD eszközökön

Optimalizálás

  • ROCm és HIP programok optimalizálása Windows rendszeren
  • Összeolvasztási technikák használata a memóriaátvitel javítására
  • Gyorsítótárazási és előtöltési technikák használata a memóriakésés csökkentésére
  • Megosztott memória és helyi memória technikák használata a memória-hozzáférés és sávszélesség optimalizálására
  • Profilozási és profilozási eszközök használata a végrehajtási idő és erőforrás-használat mérésére és javítására

Összefoglalás és következő lépések

Követelmények

  • A C/C++ nyelv és a párhuzamos programozás alapjainak ismerete
  • Alapvető ismeretek a számítógép architektúráról és a memóriahierarchiáról
  • Tapasztalat parancssori eszközökkel és kódszerkesztőkkel
  • Ismeret a Windows operációs rendszerről és a PowerShell-ről

Célközönség

  • Fejlesztők, akik szeretnék megtanulni, hogyan telepítsék és használják a ROCm-et Windows rendszeren, hogy programozhassák az AMD GPU-kat és kihasználhassák azok párhuzamosítási képességeit
  • Fejlesztők, akik szeretnének nagy teljesítményű és skálázható kódot írni, amely különböző AMD eszközökön futhat
  • Programozók, akik szeretnék felfedezni a GPU programozás alacsony szintű aspektusait és optimalizálni kódjuk teljesítményét
 21 Órák

Résztvevők száma


Ár per résztvevő

Közelgő kurzusok

Rokon kategóriák