Kurzusleírás

Bemutatkozás

  • Mi az a GPU programozás?
  • Miért használjuk a CUDA-t a Python-vel?
  • Klíszavazatok: szállítófolyamok, blokkok, rácsok

CUDA jellemzők és architektúrájának áttekintése

  • GPU vs processzor architektúra
  • A SIMT (egyetemes utasítás, több szállítófolyam) megértése
  • CUDA programozási modell

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

  • GPU 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 Programming alapjai

  • A párhuzamos végrehajtás bemutatása
  • Szállítófolyamok és szállítófolyam hierarchiák megértése
  • Munka lapokkal és szinkronizálással

A Numba fordítóval való munkavégzés

  • Numba bemutatása
  • CUDA függvények írása a Numbaval
  • @cuda.jit dekorátorok megértése

Egyéni CUDA kernel fejlesztése

  • Alapvető kernel írása és indítása
  • Szállítófolyamok használata elemes műveletekhez
  • Rács- és blokkdimenziók kezelése

Emlékek Management

  • GPU memóriatípusok (globális, megosztott, helyi, konstans)
  • Hozzáférés áttelepítése a host és az eszköz között
  • A memória felhasználás optimalizálása és a csomópontok elkerülése

Haladó téma: GPU gyorsítás

  • Megosztott memória és szinkronizálás
  • Sávok használata párhuzamos végrehajtásra
  • Több-GPU programozás alapjai

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

  • Processzor kód profilázása
  • Párhuzamos szekciók azonosítása
  • A logika áthelyezése CUDA kernelbe

Hibaelhárítás

  • CUDA alkalmazások hibakeresése
  • GYIK hibák és megoldásuk módja
  • Eszközök és technikák a teszteléshez és ellenőrzéshez

Fénykép és következő lépések

  • Klíszavazatok áttekintése
  • Legjobb gyakorlat GPU programozásban
  • További tanuláshoz szükséges források

Követelmények

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

Közönség

  • 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