Kurzusleírás

Bevezetés

  • Mi az a ROCm?
  • Mi az a HIP?
  • ROCm vs CUDA kontra OpenCL
  • A ROCm és HIP funkciók és architektúra áttekintése
  • ROCm for Windows vs ROCm, Linux

Telepítés

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

Elkezdeni

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

ROCm API

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

HIP nyelv

  • HIP nyelv használata a készülék programjában
  • Olyan kernelek írása, amelyek a GPU-n futnak és adatokat kezelnek
  • 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ória modell

  • Különféle memóriaterületek használata, például globális, megosztott, állandó és helyi
  • Különféle memóriaobjektumok, például mutatók, tömbök, textúrák és felületek használata
  • Különféle memóriaelérési módok használata, például csak olvasható, csak írható, írás-olvasás stb.
  • Memóriakonzisztencia modell és szinkronizációs mechanizmusok használata

ROCm és HIP végrehajtási modell

  • Különféle végrehajtási modellek, például szálak, blokkok és rácsok használata
  • Szálfüggvények használata, például hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x stb.
  • Blokkfüggvények használata, például __syncthreads, __threadfence_block stb.
  • Rácsfüggvények használata, például hipGridDim_x, hipGridSync, együttműködő csoportok stb.

Hibakeresés

  • ROCm és HIP programok hibakeresése Windows rendszeren
  • A Visual Studio kódhibakereső használata változók, töréspontok, veremhívások 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

  • ROCm és HIP programok optimalizálása Windows rendszeren
  • Összevonási technikák használata a memória áteresztőképességének javítására
  • 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
  • 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
  • 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

Követelmények

  • A C/C++ nyelv és a párhuzamos programozási fogalmak megértése
  • Számítógép-architektúra és memóriahierarchia alapismeretei
  • Parancssori eszközökben és kódszerkesztőkben szerzett tapasztalat
  • Windows operációs rendszer és PowerShell ismerete

Közönség

  • Fejlesztők, akik szeretnék megtanulni, hogyan kell telepíteni és használni a ROCm-et Windows rendszeren az AMD GPU programozására és a párhuzamosságuk kihasználására
  • Fejlesztők, akik nagy teljesítményű és méretezhető kódot szeretnének í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 szeretnék kódteljesítményüket
 21 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

AMD GPU Programming

28 Hours

Introduction to GPU Programming

21 Hours

GPU Programming with OpenACC

28 Hours

Rokon kategóriák