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
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.
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)
Gedetailleerde uitleg, herhaling van punten op een subtielere manier die het kennisproces echt ten goede kwam. Rods bereidheid om de af en toe gestelde obscure vragen dubbel te checken, om zeker te zijn dat zijn antwoorden 100% juist waren. Bovendien was hij geïnteresseerd in het bespreken van de voordelen en nadelen van alternatieve coderingstijlen, zodat we niet alleen leerden hoe we C++ op onze beoogde manier konden gebruiken, maar ook waarom dat zo moest.
Nick Dillon - cellxica Ltd
Cursus - Using C++ in Embedded Systems - Applying C++11/C++14
Automatisch vertaald
Ervaring delen, de kennis en waarde van de docent.
Carey Fan - Logitech
Cursus - C/C++ Secure Coding
Automatisch vertaald
Het feit dat het online was betekende dat we veel tijd konden besparen. Zeer gewaardeerd. Bovendien hielp het enorm dat de trainer zowel c# als Cpp beheerste, waardoor hij alles kon uitleggen aan de hand van kennis die we al hadden.
Gabor - Rheinmetall Electronics Hungary Kft
Cursus - Advanced C++
Automatisch vertaald