Cursusaanbod
Invoering
- Wat is ROCm?
- Wat is HIP?
- ROCm versus CUDA versus OpenCL
- Overzicht van ROCm- en HIP-functies en architectuur
- Het opzetten van de ontwikkelomgeving
Aan de slag
- Een nieuw ROCm-project maken met behulp van Visual Studio Code
- Het verkennen van de projectstructuur en bestanden
- Het compileren en uitvoeren van het programma
- De uitvoer weergeven met printf en fprintf
ROCm-API
- Inzicht in de rol van ROCm API in het hostprogramma
- ROCm API gebruiken om apparaatinformatie en -mogelijkheden op te vragen
- ROCm API gebruiken om apparaatgeheugen toe te wijzen en de toewijzing ongedaan te maken
- ROCm API gebruiken om gegevens tussen host en apparaat te kopiëren
- ROCm API gebruiken om kernels te starten en threads te synchroniseren
- ROCm API gebruiken om fouten en uitzonderingen af te handelen
HIP-taal
- Inzicht in de rol van HIP-taal in het apparaatprogramma
- HIP-taal gebruiken om kernels te schrijven die worden uitgevoerd op de GPU en gegevens manipuleren
- HIP-gegevenstypen, kwalificaties, operators en expressies gebruiken
- Gebruik van ingebouwde HIP-functies, variabelen en bibliotheken om algemene taken en bewerkingen uit te voeren
ROCm- en HIP-geheugenmodel
- Het verschil begrijpen tussen host- en apparaatgeheugenmodellen
- ROCm- en HIP-geheugenruimten gebruiken, zoals globaal, gedeeld, constant en lokaal
- ROCm- en HIP-geheugenobjecten gebruiken, zoals pointers, arrays, texturen en oppervlakken
- ROCm- en HIP-geheugentoegangsmodi gebruiken, zoals alleen-lezen, alleen-schrijven, lezen-schrijven, enz.
- Gebruik van ROCm- en HIP-geheugenconsistentiemodel en synchronisatiemechanismen
ROCm- en HIP-uitvoeringsmodel
- Het verschil begrijpen tussen host- en apparaatuitvoeringsmodellen
- ROCm- en HIP-threads, blokken en rasters gebruiken om het parallellisme te definiëren
- ROCm- en HIP-threadfuncties gebruiken, zoals hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, enz.
- ROCm- en HIP-blokfuncties gebruiken, zoals __syncthreads, __threadfence_block, enz.
- Met behulp van ROCm- en HIP-rasterfuncties, zoals hipGridDim_x, hipGridSync, coöperatieve groepen, enz.
Foutopsporing
- Inzicht in de veelvoorkomende fouten en bugs in ROCm- en HIP-programma's
- Gebruik Visual Studio Code debugger om variabelen, breekpunten, call-stack, enz. te inspecteren.
- ROCm Debugger gebruiken om ROCm- en HIP-programma's op AMD-apparaten te debuggen
- ROCm Profiler gebruiken om ROCm- en HIP-programma's op AMD-apparaten te analyseren
Optimalisatie
- Inzicht in de factoren die de prestaties van ROCm- en HIP-programma's beïnvloeden
- ROCm- en HIP-coalescentietechnieken gebruiken om de geheugendoorvoer te verbeteren
- ROCm- en HIP-caching en prefetching-technieken gebruiken om de geheugenlatentie te verminderen
- Gebruik van ROCm en HIP gedeeld geheugen en lokale geheugentechnieken om geheugentoegang en bandbreedte te optimaliseren
- ROCm- en HIP-profilering en profileringstools gebruiken om de uitvoeringstijd en het gebruik van middelen te meten en te verbeteren
Samenvatting en volgende stap
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 ROCm en HIP kunnen gebruiken om AMD GPU's te programmeren en hun parallellisme te exploiteren
- Ontwikkelaars die hoogwaardige en schaalbare code willen schrijven die op verschillende AMD-apparaten kan draaien
- Programmeurs die de lagere aspecten van GPU programmeren willen verkennen en hun codeprestaties willen optimaliseren
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