Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
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
Közönség
- Fejlesztők, akik szeretnék megtanulni a ROCm és a HIP használatát 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
28 Hours
Vélemények (1)
Nagyon interaktív különféle példákkal, a képzés kezdete és vége között jó összetettséggel.
Jenny - Andheo
Kurzus - GPU Programming with CUDA and Python
Machine Translated