Köszönjük, hogy elküldte érdeklődését! Csapatunk egyik tagja hamarosan felveszi Önnel a kapcsolatot.
Köszönjük, hogy elküldte foglalását! Csapatunk egyik tagja hamarosan felveszi Önnel a kapcsolatot.
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