Bedankt voor uw aanvraag! Een van onze medewerkers neemt binnenkort contact met u op
Bedankt voor uw boeking! Een van onze medewerkers neemt binnenkort contact met u op.
Cursusaanbod
GPU Computing en CUDA Architectuur
- Verschillen in architectuur tussen CPU en GPU
- Het streamingmultiprocessor-model van NVIDIA GPU's
- Overzicht van het CUDA-programmeermodel
- Heterogene computing en het host-device-paradigma
De CUDA-ontwikkelomgeving instellen
- Installeren van de CUDA Toolkit 13.x
- NVCC-compiler en bouwworkflow
- De omgeving verifiëren met device queries
- IDE-integratie en ontwikkeltools
CUDA-kernels schrijven en lanceren
- Syntaxis en kwalificaties van kernfuncties
- Configuratie voor lancing en uitvoering
- Vectoroptelling en basispatronen voor data-parallelle processing
- CUDA-macro's voor foutcontrole
CUDA Threadhiërarchie en Uitvoeringsmodel
- Organisatie van grid, block en thread
- Thread-indexering en berekening van de globale ID
- Warp-uitvoering en het SIMT-model
- Occupancy en resourcegebruik
GPU-geheugenarchitectuur en -beheer
- Geheugentypen: global, shared, constant, registers
- Toewijzen en vrijgeven van apparaatgeheugen
- Overdracht van host naar apparaat en omgekeerd
- Gedeeld geheugen voor samenwerking binnen een block
Unified Memory en Gegevensmigratie
- Het unified memory-model en beheerde toewijzingen
- Page migratie en on-demand paging
- Asynchrone prefetching met cudaMemPrefetchAsync
- Geheugenadviesindicaties voor toegangs patronen
Systeembrede profilering met Nsight Systems
- Tijdlijnanalyse in Nsight Systems
- Identificeren van CPU-GPU-synchronisatiepunten
- Visualiseren van kernel-uitvoering en gegevensoverdracht
- Systemniveau prestatiegegevens interpreteren
Kerneloptimalisatie met Nsight Compute
- Interactieve kernelprofilering in Nsight Compute
- Analyse van geheugendoorvoer en bandbreedte
- Gebruik van rekenkracht en warpstatistieken
- Gestuurde analyse en optimalisatieregels
Concurrent Streams en Asynchrone Bewerkingen
- CUDA-streams en de standaardstream
- Overlappende kerneluitvoering met gegevensoverdracht
- Stream-synchronisatie en CUDA-events
- Patiroonpatronen voor multi-streampipelines
Foutafhandeling en Debugtools
- CUDA-API-foutcodes en herstelstrategieën
- compute-sanitizer voor controle van geheugentoegang
- cuda-gdb voor het debuggen van kernels
- Asserties en synchronisatie voor foutdetectie
Door profilering gedreven optimalisatiewerkstroom
- Iteratieve profileringsmethodologie
- Identificeren en prioriteren van knelpunten
- Testen op prestatievermindering
- Dokumenteren van optimalisatiebeslissingen
Eind-tot-eind project: versnelde applicatie
- Ontwerpen van een volledige GPU-versnelde oplossing
- Profiling integreren doorheen het ontwikkelproces
- Prestatiemeeting en rapportage
- Aandachtspunten voor implementatie in productie
Vereisten
- Basisvaardigheden in C/C++-programmering, waaronder variabeltypen, lussen, voorwaardelijke statementen, functies en manipulatie van arrays
- Vertrouwdheid met compileren en uitvoeren van programma's via de opdrachtprompt
- Geen voorkennis van GPU- of CUDA-programmering vereist
Doelgroep
- Softwareontwikkelaars en ingenieurs die C/C++-applicaties met GPU's willen versnellen
- Wetenschappelijke onderzoekers en HPC-specialisten die overstappen van alleen CPU naar heterogene computing
- Technische leidinggevenden die GPU-versnelling evalueren voor productiewerklasten
8 Uren