CONTACT ONS

Cursusaanbod

Introductie tot GPU-versnelde computing

  • Heterogene computing en de CPU-GPU-architectuur
  • CUDA-executie en geheugenruimtes
  • CUDA C++ compileren met nvcc en CMake
  • De GPU-ontwikkelomgeving verifiëren

Parallele algoritmes met Thrust en CUB

  • GPU-versnelde sort, reduce en transform
  • STL-algoritmes herstructureren voor GPU-executie
  • Thrust device vectors en execution policies
  • CUB-devicebrede primitieven voor aangepaste pipelines

GPU-geheugenarchitectuur en -beheer

  • Type global, constant en texture geheugen
  • Expliciete device-geheugentoewijzing en overdracht
  • Unified Memory voor vereenvoudigde gegevenstoegang
  • Memory coalescing en optimalisatie van toegangspatronen

Asynchrone uitvoering met CUDA-streams

  • CUDA-streams aanmaken en beheren
  • Kernel-executie laten overlappen met gegevensoverdracht
  • CUDA-events voor afhankelijkheidsbeheer
  • Stream-prioriteiten en concurrentie-instelling

Aangepaste CUDA-kernels schrijven

  • Het SIMT-programmeermodel en warp-executie
  • Kernel-opstartconfiguratie en grid-stride loops
  • Thread-indexering en multidimensionale grids
  • Foutafhandeling en verificatie van de CUDA runtime API

Thread-hiërarchie en uitvoeringsmodel

  • Grids, blocks en threads in device-code
  • Warp-level primitieven en ballot-operaties
  • Block-level synchronisatie en barrières
  • Occupancy- en resource-utilisatieanalyse

Cooperative groups voor flexibele parallelle uitvoering

  • De cooperative_groups-API en groeps types
  • Thread-block tegels en tiled_partition
  • Grid-level coöperatieve launches
  • Synchronisatiepatronen over meerdere grids

Techieken voor optimalisatie van gedeeld geheugen

  • Gedeelde geheugenbanken en het vermijden van bankconflicten
  • Tiling-strategieën voor matrixoperaties
  • Gedeeld geheugen als door de gebruiker beheerde cache
  • cuda::shared_memory_mdspan voor multidimensionale weergaven

Kernel fusion en geavanceerde parallele patronen

  • Meerdere kernels fuseren om opstartoverhead te verminderen
  • Scan, reduce-by-key en gesegmenteerde algoritmes
  • Atomic operaties en lock-free datastructuren
  • Warp-aggregated atomics voor doorvoer

Profilering en optimalisatie met Nsight Systems

  • Tijdlijnanalyse van CPU- en GPU-activiteit
  • Gegevensoverdracht-flaschenhalsen identificeren
  • Kernelprestaties en occupancy-profilering
  • Iteratieve optimalisatie met Nsight Compute

Modern C++-onderdelen in CUDA-devicecode

  • Lambdas, constexpr en auto in kernels
  • C++17-parallele algoritmes en execution policies
  • C++20-concepts en ranges op device
  • C++23-ondersteuning in nvcc en CCCL 3.x

CUDA-grafen en geavanceerde asynchronie

  • CUDA-grafen definiëren en starten
  • Grafopname vanuit stream-executie
  • Graph-update en conditionele uitvoeringsnodes
  • Opstartlatentie verminderen voor iteratieve werklasten

Integratiepatronen voor bestaande applicaties

  • GPU-code verpakken achter C++-interfaces
  • Beheer van multi-GPU en NUMA-systemen
  • Build-systeemintegratie met CMake en CUDA
  • Debuggen van device-code met cuda-gdb

Samenvatting en beste praktijken

  • Kiezen tussen Thrust, CUB en aangepaste kernels
  • Prestatieportabiliteit over GPU-architecturen heen
  • Code-organisatie en RAII voor CUDA-resources
  • Volgsteps en geavanceerde leerpaden voor CUDA

Vereisten

  • Basis C++-vaardigheden, waaronder lambda-expressies, templates en de STL
  • Kenis van standaardalgoritmes, containers en iterators
  • Comfortabel in omgaan met loops, conditionals en functies
  • Geen voorafgaande kennis vereist van CUDA of GPU-programmering

Doelgroep

e
  • C++-ontwikkelaars die rekintensiva applicaties willen versnellen met GPUs
  • Software engineers die overgaan van CPU-only naar heterogene parallele programmering
  • Prestatie-engineers en kwantitatieve ontwikkelaars die werken met grote datasets
 8 Uren

Aangepaste bedrijfsopleiding

Opleidingsoplossingen ontworpen exclusief voor bedrijven.

  • Aangepaste inhoud: We passen de syllabus en praktijkopdrachten aan naar de echte doelen en behoeften van uw project.
  • Voor flexibel schema: Datums en tijden aangepast aan het rooster van uw team.
  • Formaat: Online (live), In-company (bij uw kantoren) of Hybride.
Investering

Prijs per privégroep, online live training, startend vanaf 3200 € + BTW*

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen

Reviews (3)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën