Lépjen kapcsolatba velünk

Kurzusleírás

GPU-gyorsított számítást bemutató előadás

  • Heterogén számítástechnika és CPU-GPU architektúra
  • CUDA végrehajtási és memóriaterek
  • CUDA C++ fordítása nvcc és CMake használatával
  • A GPU fejlesztői környezet ellenőrzése

Párhuzamos algoritmusok a Thrust és a CUB segítségével

  • GPU-gyorsított rendezés, redukció és transzformáció
  • STL-algoritmusok refactorolása GPU végrehajtásra
  • Thrust eszközök vektorai és végrehajtási politika
  • CUB eszköz szintű primitívek egyedi pipeline-okhoz

GPU memóriarchitektúra és menedzsment

  • Globalis, konstans és textúra memóriatípusok
  • Explicit eszköz memória allokáció és átvitel
  • Egységes memória az egyszerűsített adat-hozzáférésért
  • Memória koaleszkálás és hozzáférési minta optimalizálás

Aszinkron végrehajtás CUDA streamekkel

  • CUDA streamek létrehozása és kezelése
  • Korek végrehajtásának átfedése adatátvitellel
  • CUDA események függőség-kezeléshez
  • Stream prioritások és konkurencia-beállítások

Egyedi CUDA korelek írása

  • A SIMT programozási modell és warp végrehajtás
  • Korek elindítási konfigurációja és grid-stride hurok
  • Szála indexelés és többdimenziós grid-ek
  • Hibakezelés és CUDA runtime API ellenőrzések

Threads hierarchia és végrehajtási modell

  • Grid-ek, blokkok és szálok eszközös kódban
  • Warp-szintű primitívek és ballot műveletek
  • Blokk szintű szinkronizálás és barrierek
  • Foglaltság és erőforrás-használat elemzése

Kooperatív csoportok a rugalmas párhuzamossághoz

  • A cooperative_groups API és csoporttípusok
  • Szálblokk csempék és tiled_partition
  • Grid-szintű kooperatív indítások
  • Több grid szinkronizálási minták

Megosztott memória optimalizálási technikák

  • Megosztott memória bankok és bankkonfliktus elkerülése
  • Csempézés stratégiák mátrixműveletekhez
  • Megosztott memória felhasználó által kezelt cache-ként
  • cuda::shared_memory_mdspan többdimenziós nézetekhez

Korek fúziója és haladó párhuzamos minták

  • Több korek egyesítése az elindítási felülírás csökkentésére
  • Scan, kulcs szerinti redukció és szegmentált algoritmusok
  • Atomos műveletek és lock-free adatszerkezetek
  • Warp-aggregált atomosok a folyamata növelésére

Profilozás és optimalizálás az Nsight Systems segítségével

  • Idővonal elemzés CPU és GPU tevékenységről
  • Memória-átviteli szűk keresztmetszetek azonosítása
  • Korek teljesítmény és foglaltság profilozása
  • Iteratív optimalizálás Nsight Compute-val

Modern C++ jellemzők CUDA eszközös kódban

  • Lambdák, constexpr és auto korelekben
  • C++17 párhuzamos algoritmusok és végrehajtási politikák
  • C++20 koncepciók és tartományok eszközökön
  • C++23 támogatás nvcc-ben és CCCL 3.x-ben

CUDA Graphs és haladó aszinkronitás

  • CUDA graphok definiálása és elindítása
  • Graph rögzítése stream végrehajtásból
  • Graph frissítése és feltételes végrehajtási csomópontok
  • Az iteratív munkaterhelések elindítási késleltetésének csökkentése

Integrációs minták meglévő alkalmazásokhoz

  • GPU-kód burkolása C++ interfészek mögé
  • Több GPU és NUMA rendszerek kezelése
  • Build rendszer integrációja CMake-ral és CUDA-val
  • Eszközös kód hibakeresése cuda-gdb segítségével

Összegzés és legjobb gyakorlatok

  • A Thrust, CUB és egyedi korelek közötti választás
  • Teljesítmény-portabilitás GPU architektúrákon
  • Kód szervezése és RAII a CUDA erőforrásokhoz
  • Következő lépések és haladó CUDA tanulási útvonalak

Követelmények

  • Alap C++ kompetencia: lambda kifejezések, sablonok és STL
  • Ismertség a standard algoritmusokkal, konténerekkel és iterátorokkal
  • Kényelem a hurokstruktúrákkal, feltételekkel és függvényekkel
  • Nincs előzetes CUDA vagy GPU programozási tapasztalat szükséges

Célközönség

  • C++ fejlesztők, akik GPU-k segítségével szeretnék gyorsítani a számításigényes alkalmazásaikat
  • Szoftvermérnökök, akik átmennek a kizárólag CPU-alapú programozásból a heterogén párhuzamos programozásba
  • Teljesítmény mérnökök és kvantitatív fejlesztők nagy adathalmazokkal dolgoznak
 8 Órák

Résztvevők száma


Ár per résztvevő

Vélemények (3)

Közelgő kurzusok

Rokon kategóriák