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.
Duur 28 uren
Cursusaanbod
Inleiding
- Wat is CUDA?
- CUDA vs. OpenCL vs. SYCL
- Overzicht van CUDA-functies en architectuur
- Inrichten van de ontwikkelomgeving
Starten met CUDA
- Een nieuw CUDA-project aanmaken met Visual Studio Code
- De projectstructuur en bestanden verkennen
- Programma compileren en uitvoeren
- Uitvoer tonen met printf en fprintf
CUDA API
- De rol van de CUDA API in het host-programma begrijpen
- De CUDA API gebruiken om apparaatgegevens en capaciteiten op te vragen
- De CUDA API gebruiken om device-geheugen toe te wijzen en vrij te geven
- De CUDA API gebruiken om data over te kopiëren tussen host en device
- De CUDA API gebruiken om kernels te starten en threads te synchroniseren
- De CUDA API gebruiken om fouten en uitzonderingen af te handelen
CUDA C/C++
- De rol van CUDA C/C++ in het device-programma begrijpen
- CUDA C/C++ gebruiken om kernels te schrijven die op de GPU worden uitgevoerd en data manipuleren
- CUDA C/C++ datatypes, kwalificatoren, operators en expressies gebruiken
- Ingebouwde CUDA C/C++-functies gebruiken, zoals wiskunde, atomair, warp, etc.
- Ingebouwde CUDA C/C++-variabelen gebruiken, zoals threadIdx, blockIdx, blockDim, etc.
- CUDA C/C++-bibliotheken gebruiken, zoals cuBLAS, cuFFT, cuRAND, etc.
CUDA-geheugenmodel
- Het verschil tussen de geheugenmodellen van host en device begrijpen
- CUDA-geheugenspaces gebruiken, zoals globale, gedeelde, constante en lokale geheugens
- CUDA-geheugenobjecten gebruiken, zoals pointers, arrays, texturen en oppervlakken
- CUDA-geheugentoegangsmodi gebruiken, zoals alleen-lezen, alleen-schrijven, lezen-schrijven, etc.
- Het CUDA-geheugenconsistentiemodel en synchronisatiemechanismen gebruiken
CUDA-uitvoeringsmodel
- Het verschil tussen de uitvoeringsmodellen van host en device begrijpen
- CUDA-threads, blokken en roosters gebruiken om de parallelisme te definiëren
- CUDA-threadfuncties gebruiken, zoals threadIdx, blockIdx, blockDim, etc.
- CUDA-blokfuncties gebruiken, zoals __syncthreads, __threadfence_block, etc.
- CUDA-roosterfuncties gebruiken, zoals gridDim, gridSync, cooperative groups, etc.
Debugging
- Gangbare fouten en bugs in CUDA-programma's begrijpen
- De debugger van Visual Studio Code gebruiken om variabelen, breakpoints en call stacks te inspecteren
- CUDA-GDB gebruiken om CUDA-programma's te debuggen op Linux
- CUDA-MEMCHECK gebruiken om geheugenfouten en lekken te detecteren
- NVIDIA Nsight gebruiken om CUDA-programma's te debuggen en te analyseren op Windows
Optimalisatie
- Factoren begrijpen die de prestaties van CUDA-programma's beïnvloeden
- CUDA-coalescingtechnieken gebruiken om het geheugendebiet te verbeteren
- CUDA-caching- en prefetchingtechnieken gebruiken om geheugentranslatentie te verlagen
- CUDA gedeeld en lokaal geheugen gebruiken om geheugentoegang en bandbreedte te optimaliseren
- CUDA-profiling en profieltools gebruiken om de uitvoertijd en bronbenutting te meten en te verbeteren
Vereisten
- Een begrip van de C/C++-taal en concepten van parallelle programmering
- Basis kennis van computerarchitectuur en geheughenhierarchie
- Ervaring met command line tools en code editors
Publiek
- Ontwikkelaars die willen leren hoe CUDA kan worden gebruikt om NVIDIA GPU's te programmeren en hun parallelle capaciteiten te benutten
- Ontwikkelaars die hoogpresterende en schaalbare code willen schrijven die op verschillende CUDA-apparaten kan draaien
- Programmeurs die de laag-niveau aspecten van GPU-programmering willen verkennen en de prestaties van hun code willen optimaliseren
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 6400 € + BTW*
Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen