Lépjen kapcsolatba velünk

Kurzusleírás

GPU-számítás és CUDA architektúra

  • CPU és GPU architektúrális különbségei
  • NVIDIA GPU streaming multiprocesszor modell
  • A CUDA programozási modell áttekintése
  • Heterogén számítástechnika és a host-eszköz paradigmája

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

  • A CUDA Toolkit 13.x telepítése
  • NVCC fordító és build munkafolyamat
  • Az eszközlekérdezésekkel történő környezet ellenőrzése
  • IDE integráció és fejlesztési eszközök

CUDA kernel-ek írása és indítása

  • Kernel függvény szintaxisa és minősítői
  • Indítási konfiguráció és végrehajtás
  • Vektorösszeadás és alapvető adat-párhuzamos minták
  • CUDA hibakezelő makrók

CUDA szárhierarchia és végrehajtási modell

  • Grid, block és thread szervezés
  • Számozás és globális azonosító számítása
  • Warp végrehajtás és SIMT modell
  • Foglaltság és erőforrás-hasznosítás

GPU-memória architektúra és kezelése

  • Memóriatípusok: globális, megosztott, állandó, regiszterek
  • Eszközmemória lefoglalása és felszabadítása
  • Hostról eszközre és eszközről hostra történő adatátvitel
  • Megosztott memória a blockon belüli együttműködéshez

Egységes memória és adatkövetkezmények

  • Egységes memóriamodell és kezelt lefoglalások
  • Oldalvándorlás és igény szerinti paging
  • Aszinkron előtöltés a cudaMemPrefetchAsync segítségével
  • Memóriabeszúrási tippek az access mintákhoz

Rendszer-szintű profilozás Nsight Systems-szel

  • Nsight Systems idővonal elemzés
  • CPU-GPU szinkronizációs pontok azonosítása
  • Kernel végrehajtás és memóriaátvitel vizualizálása
  • Rendszerszintű teljesítményadatok értelmezése

Kernel-optimalizálás Nsight Compute segítségével

  • Nsight Compute interaktív kernel profilozás
  • Memórián keresztüláramlási és sávszélesség elemzés
  • Számítási kihasználtság és warp állapot statisztikák
  • Irányított elemzés és optimalizálási szabályok

Párhuzamos stream-ek és aszinkron műveletek

  • CUDA stream-ek és az alapértelmezett stream
  • Kernel végrehajtás átfedése adatátvitellel
  • Stream szinkronizáció és CUDA események
  • Többstream-es munkafolyamat tervezési minták

Hibakezelés és hibakereső eszközök

  • CUDA API hiba kódok és helyreállítási stratégiák
  • Compute-sanitizer memóriahozzáférés-ellenőrzésre
  • cuda-gdb kernel hibakereséshez
  • Assertiók és szinkron hibajelzés

Profil-alapú optimalizálási munkafolyamat

  • Iteratív profilozási módszertan
  • Palacktorok azonosítása és prioritizálása
  • Teljesítmény regressziós tesztelés
  • Optimalizálási döntések dokumentálása

Végéről-végéig terjedő gyorsított alkalmazás projekt

  • Teljes GPU-gyorsított megoldás tervezése
  • Profilozás integrálása a fejlesztés során
  • Teljesítmény benchmark és jelentések
  • Gyártási üzemeltetés szempontjai

Követelmények

  • Alapvető C/C++ programozási kompetencia, változótípusok, hurkok, feltételes utasítások, függvények és tömbkezelés beleértve
  • Bizonyos jártasság a parancssorból történő fordításban és programok futtatásában
  • Nincs szükség előzetes GPU- vagy CUDA-programozási tapasztalatra

Célközönség

  • Szoftverfejlesztők és mérnökök, akik GPU-k segítségével szeretnék gyorsítani a C/C++ alkalmazásaikat
  • Tudományos kutatók és HPC szakemberek, akik csak CPU-alapú rendszerekről váltanak heterogén számítási megoldásokra
  • Műszaki vezetők, akik GPU-gyorsítást értékelnek gyártási munkaterhelésekhez
 8 Órák

Résztvevők száma


Ár per résztvevő

Közelgő kurzusok

Rokon kategóriák