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
Inleiding
- Wat is ROCm?
- Wat is HIP?
- ROCm versus CUDA versus OpenCL
- Overzicht van de kenmerken en architectuur van ROCm en HIP
- Het opzetten van de ontwikkelomgeving
Aan de slag
- Een nieuw ROCm-project aanmaken met Visual Studio Code.
- De structuur en bestanden van het project verkennen.
- Het programma compileren en uitvoeren.
- De output weergeven met behulp van printf en fprintf.
ROCm-API
- De rol van de ROCm-API in het host-program begrijpen.
- Apparaatinformatie en mogelijkheden raadplegen via de ROCm-API.
- Geheugen op de GPU reserveren en vrijgeven met behulp van de ROCm-API.
- Data overdragen tussen host en device door gebruik te maken van de ROCm-API.
- Kernels starten en threads synchroniseren via de ROCm-API.
- Fouten en uitzonderingen afhandelen met behulp van de ROCm-API.
HIP-taal
- De rol van de HIP-taal in het device-program begrijpen.
- Kernels schrijven die op de GPU worden uitgevoerd en data bewerken met behulp van HIP.
- HIP-datatypen, kwalificerende termen, operators en expressies gebruiken.
- Ingebouwde functies, variabelen en bibliotheken in HIP benutten voor veelvoorkomende operaties.
ROCm- en HIP-geheugenmodel
- Het verschil tussen host- en device-geheugenmodellen begrijpen.
- Gebruik maken van ROCm- en HIP-geheugentypen zoals globaal, gedeeld, constant en lokaal.
- Geheugenobjecten als pointers, arrays, textures en surfaces inzetten via ROCm en HIP.
- Het gebruik van verschillende toegangsmodi – zoals read-only, write-only en read-write – bij geheugenoperaties.
- Het begrijpen van het geheugenconsistentiemodel en synchronisatiemechanismen in ROCm en HIP.
ROCm- en HIP-uitvoeringsmodel
- Het onderscheid tussen host- en device-uitvoeringsmodellen begrijpen.
- Parallelisme beheren met behulp van threads, blokken en grids in ROCm en HIP.
- Functies zoals hipThreadIdx_x, hipBlockIdx_x en hipBlockDim_x gebruiken om threadbeheer te regelen.
- Blokeigenschappen zoals __syncthreads en __threadfence_block hanteren om synchronisatie te bewerkstelligen.
- Gridspecifieke functies zoals hipGridDim_x, hipGridSync en coöperatieve groepen inzetten voor uitgebreid threadbeheer.
Debugging
- Vaak voorkomende fouten en bugs in ROCm- en HIP-programma’s herkennen.
- Het debuggen van variabelen, breakpoints en de call stack met Visual Studio Code.
- Het debuggen van programma's op AMD-apparaten door middel van ROCm Debugger.
- De prestaties analyseren via ROCm Profiler voor verdere optimalisatie.
Optimalisatie
- Factoren bepalen die de performantie van ROCm- en HIP-programma’s beïnvloeden.
- Het toepassen van coëlescentietechnieken om geheugenbandbreedte te verhogen.
- Caching- en prefetching-technieken gebruiken om geheugentraagheid terug te dringen.
- Gedeeld en lokaal geheugen benutten om data-access en bandbreedte aanzienlijk te verbeteren.
- Het meten en verfijnen van uitvoeringstijd en systeemgebruik door middel van profileringstechnieken.
Samenvatting en vervolgstappen
Vereisten
- Basiskennis van de C/C++-taal en begrip van concepten rond parallel programmeren
- Grondige kennis van computarchitectuur en het geheugenhiërarchiepatroon
- Ervaring met command-line-tools en code-editors
Doelgroep
- Ontwikkelaars die ROCm en HIP willen leren gebruiken om AMD-GPU’s te programmeren en hun parallelle capaciteiten optimaal in te zetten.
- Ontwikkelaars die code met hoge prestaties en schaalbaarheid willen schrijven voor diverse AMD-apparaten.
- Programmeurs die meer willen weten over de onderliggende aspecten van GPU-programmeren en hun codeprestaties verder willen optimaliseren.
28 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.
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