Kurzusleírás

Bevezetés

  • Mi az a ROCm?
  • Mi az a HIP?
  • ROCm vs CUDA vs OpenCL
  • A ROCm és HIP funkciók és architektúra áttekintése
  • A Fejlesztési Környezet kialakítása

Elkezdeni

  • Új ROCm projekt létrehozása Visual Studio kóddal
  • A projekt szerkezetének és fájljainak feltárása
  • A program összeállítása és futtatása
  • A kimenet megjelenítése a printf és fprintf használatával

ROCm API

  • A ROCm API szerepének megértése a gazdagép programban
  • ROCm API használata az eszközinformációk és képességek lekérdezésére
  • ROCm API használata az eszközmemória lefoglalására és felszabadítására
  • ROCm API használata adatok másolására a gazdagép és az eszköz között
  • ROCm API használata kernelek indításához és szálak szinkronizálásához
  • ROCm API használata a hibák és kivételek kezelésére

HIP nyelv

  • A HIP nyelv szerepének megértése az eszközprogramban
  • HIP nyelv használata olyan kernelek írásához, amelyek a GPU-on futnak és adatokat kezelnek
  • HIP adattípusok, minősítők, operátorok és kifejezések használata
  • HIP beépített függvények, változók és könyvtárak használata általános feladatok és műveletek végrehajtására

ROCm és HIP memória modell

  • A gazdagép és az eszközmemória modellek közötti különbség megértése
  • ROCm és HIP memóriaterületek használata, például globális, megosztott, állandó és helyi
  • ROCm és HIP memóriaobjektumok, például mutatók, tömbök, textúrák és felületek használata
  • ROCm és HIP memória hozzáférési módok használata, például csak olvasható, csak írható, írás-olvasás stb.
  • ROCm és HIP memória konzisztencia modell és szinkronizálási mechanizmusok használata

ROCm és HIP végrehajtási modell

  • A gazdagép és az eszköz végrehajtási modelljei közötti különbség megértése
  • ROCm és HIP szálak, blokkok és rácsok használata a párhuzamosság meghatározásához
  • ROCm és HIP szálfüggvények használata, például hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x stb.
  • ROCm és HIP blokkfüggvények használata, például __syncthreads, __threadfence_block stb.
  • ROCm és HIP grid funkciók használata, például hipGridDim_x, hipGridSync, együttműködő csoportok stb.

Hibakeresés

  • A ROCm és HIP programok gyakori hibáinak és hibáinak megértése
  • A Visual Studio kódhibakereső használata változók, töréspontok, veremhívás stb. vizsgálatához.
  • A ROCm Debugger használata ROCm és HIP programok hibakereséséhez AMD eszközökön
  • A ROCm Profiler használata ROCm és HIP programok elemzéséhez AMD eszközökön

Optimalizálás

  • A ROCm és HIP programok teljesítményét befolyásoló tényezők megértése
  • ROCm és HIP összevonási technikák használata a memória átviteli sebességének javítására
  • ROCm és HIP gyorsítótárazási és előzetes letöltési technikák használata a memória késleltetésének csökkentése érdekében
  • ROCm és HIP megosztott memória és helyi memória technikák használata a memóriaelérések és a sávszélesség optimalizálására
  • ROCm és HIP profilkészítő és profilkészítő eszközök használata a végrehajtási idő és az erőforrás-kihasználás mérésére és javítására

Összegzés és a következő lépés

 28 Hours

Résztvevők száma



Ár per résztvevő

Vélemények (1)

Rokon tanfolyam

GPU Programming with OpenCL

28 Hours

GPU Programming with CUDA

28 Hours

GPU Programming - OpenCL vs CUDA vs ROCm

28 Hours

ROCm for Windows

21 Hours

Introduction to GPU Programming

21 Hours

GPU Programming with OpenACC

28 Hours

Rokon kategóriák