Kurzusleírás

Bevezetés

  • Mi az a GPU programozás?
  • Miért használjuk CUDA-t Pythonnal?
  • Kulcsfontosságú koncepciók: Szálonc, Blokkok, Rácsok

CUDA jellemzőinek és architekturájának áttekintése

  • GPU vs CPU architektúra
  • A SIMT (Single Instruction, Multiple Threads) megértése
  • CUDA programozási modell

A fejlesztői környezet beállítása

  • CUDA Toolkit és illesztőprogramok telepítése
  • Python és Numba telepítése
  • A környezet beállítása és ellenőrzése

Párhuzamos programozás alapjai

  • A párhuzamos végrehajtás bemutatása
  • Száloncok és szálhierarchiák megértése
  • Warps használata és szinkronizáció

A Numba fordító használata

  • A Numba bemutatása
  • CUDA magok írása a Numbával
  • A @cuda.jit dekorátorok megértése

Egyéni CUDA mag készítése

  • Egyszerű mag írása és indítása
  • Száloncok használata elemenkénti műveletekhez
  • Rács- és blokkméretek kezelése

Memóriakezelés

  • A GPU memória típusai (globális, megosztott, helyi, állandó)
  • Az adatátvitel host és eszköz között
  • A memóriahasználat optimalizálása és a bottleneckok elkerülése

Haladó témák GPU-gyorsításban

  • Megosztott memória és szinkronizáció
  • Folyamok használata aszinkron végrehajtásra
  • Több-GPU programozás alapjai

CPU-alapú alkalmazások átalakítása GPU-ra

  • A CPU kód profilozása
  • Paralellizálható szegmensek azonosítása
  • Logika átportálása CUDA magokba

Hibaelhárítás

  • CUDA alkalmazások hibakeresése
  • Gyakori hibák és megoldásaik
  • Eszközök és technikák a teszteléshez és érvényesítéshez

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

  • Kulcsfontosságú koncepciók áttekintése
  • A GPU programozás legjobb gyakorlatai
  • Folyamatos tanuláshoz szükséges erőforrások

Követelmények

  • Python programozási tapasztalat
  • Tapasztalat a NumPy használatával (ndarrays, ufuncs stb.)

Célcsoport

  • Fejlesztők
 14 Órák

Résztvevők száma


Ár résztvevőnként

Vélemények (1)

Közelgő kurzusok

Rokon kategóriák