Cursusaanbod
Invoering
- Wat is GPU programmeren?
- Waarom GPU programmeren gebruiken?
- Wat zijn de uitdagingen en afwegingen van GPU programmeren?
- Wat zijn de raamwerken voor GPU programmeren?
- Het juiste raamwerk voor uw toepassing kiezen
OpenCL
- Wat is OpenCL?
- Wat zijn de voor- en nadelen van OpenCL?
- Het opzetten van de ontwikkelomgeving voor OpenCL
- Een basisprogramma OpenCL maken dat vectoroptelling uitvoert
- OpenCL API gebruiken om apparaatinformatie op te vragen, apparaatgeheugen toe te wijzen en de toewijzing ongedaan te maken, gegevens tussen host en apparaat te kopiëren, kernels te starten en threads te synchroniseren
- OpenCL C-taal gebruiken om kernels te schrijven die op het apparaat worden uitgevoerd en gegevens manipuleren
- Gebruik OpenCL ingebouwde functies, variabelen en bibliotheken om algemene taken en bewerkingen uit te voeren
- Gebruik OpenCL geheugenruimten, zoals globaal, lokaal, constant en privé, om gegevensoverdracht en geheugentoegang te optimaliseren
- Het OpenCL uitvoeringsmodel gebruiken om de werkitems, werkgroepen en ND-bereiken te controleren die het parallellisme definiëren
- Debuggen en testen OpenCL van programma's met behulp van tools zoals CodeXL
- Het optimaliseren OpenCL van programma's met behulp van technieken zoals coalescentie, caching, prefetching en profilering
CUDA
- Wat is CUDA?
- Wat zijn de voor- en nadelen van CUDA?
- Opzetten van de ontwikkelomgeving voor CUDA
- Een basis CUDA-programma maken dat vectoroptelling uitvoert
- De CUDA API gebruiken om apparaatinformatie op te vragen, apparaatgeheugen toe te wijzen en de toewijzing ongedaan te maken, gegevens tussen host en apparaat te kopiëren, kernels te starten en threads te synchroniseren
- Gebruik van de CUDA C/C++-taal om kernels te schrijven die op het apparaat worden uitgevoerd en gegevens manipuleren
- Ingebouwde CUDA-functies, variabelen en bibliotheken gebruiken om algemene taken en bewerkingen uit te voeren
- Gebruik van CUDA-geheugenruimten, zoals globaal, gedeeld, constant en lokaal, om gegevensoverdracht en geheugentoegang te optimaliseren
- Het CUDA-uitvoeringsmodel gebruiken om de threads, blokken en rasters te controleren die het parallellisme definiëren
- Foutopsporing en testen van CUDA-programma's met behulp van tools zoals CUDA-GDB, CUDA-MEMCHECK en NVIDIA Nsight
- Het optimaliseren van CUDA-programma's met behulp van technieken zoals coalescing, caching, prefetching en profilering
ROCm
- Wat is ROCm?
- Wat zijn de voor- en nadelen van ROCm?
- Inrichten van de ontwikkelomgeving voor ROCm
- Een basis ROCm-programma maken dat vectoroptelling uitvoert
- ROCm API gebruiken om apparaatinformatie op te vragen, apparaatgeheugen toe te wijzen en de toewijzing ongedaan te maken, gegevens tussen host en apparaat te kopiëren, kernels te starten en threads te synchroniseren
- ROCm C/C++-taal gebruiken om kernels te schrijven die op het apparaat worden uitgevoerd en gegevens manipuleren
- Gebruik van ROCm ingebouwde functies, variabelen en bibliotheken om algemene taken en bewerkingen uit te voeren
- ROCm-geheugenruimten gebruiken, zoals globaal, lokaal, constant en privé, om gegevensoverdracht en geheugentoegang te optimaliseren
- Het ROCm-uitvoeringsmodel gebruiken om de threads, blokken en rasters te controleren die het parallellisme definiëren
- Debuggen en testen van ROCm-programma's met behulp van tools zoals ROCm Debugger en ROCm Profiler
- Het optimaliseren van ROCm-programma's met behulp van technieken zoals coalescing, caching, prefetching en profilering
Vergelijking
- Vergelijking van de functies, prestaties en compatibiliteit van OpenCL, CUDA en ROCm
- Evaluatie van GPU programma's met behulp van benchmarks en statistieken
- Leer de best practices en tips voor GPU programmeren
- Onderzoek naar de huidige en toekomstige trends en uitdagingen van GPU programmeren
Samenvatting en volgende stappen
Vereisten
- Een goed begrip van de C/C++-taal en parallelle programmeerconcepten
- Basiskennis van computerarchitectuur en geheugenhiërarchie
- Ervaring met opdrachtregelprogramma's en code-editors
Publiek
- Ontwikkelaars die willen leren hoe ze verschillende raamwerken voor GPU programmeren kunnen gebruiken en hun functies, prestaties en compatibiliteit willen vergelijken
- Ontwikkelaars die draagbare en schaalbare code willen schrijven die op verschillende platforms en apparaten kan worden uitgevoerd
- Programmeurs die de afwegingen en uitdagingen van GPU programmeren en optimaliseren willen verkennen
Leveringsopties
PRIVÉGROEPSTRAINING
Onze identiteit draait om het leveren van precies wat onze klanten nodig hebben.
- Pre-cursusgesprek met uw trainer
- Aanpassing van de leerervaring om uw doelen te bereiken -
- Op maat gemaakte overzichten
- Praktische, praktische oefeningen met gegevens / scenario's die herkenbaar zijn voor de cursisten
- Training gepland op een datum naar keuze
- Gegeven online, op locatie/klaslokaal of hybride door experts die ervaring uit de echte wereld delen
Private Group Prices RRP from €9120 online delivery, based on a group of 2 delegates, €2880 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen
OPENBARE TRAINING
Kijk op onze public courses
Reviews (2)
Zeer interactief met diverse voorbeelden, met een goede progressie in complexiteit tussen start en einde van de training.
Jenny - Andheo
Cursus - GPU Programming with CUDA and Python
Automatisch vertaald
Trainers, energie en humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Cursus - NVIDIA GPU Programming - Extended
Automatisch vertaald