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
Invoering
- Wat is ROCm?
- Wat is HIP?
- ROCm versus CUDA versus OpenCL
- Overzicht van ROCm- en HIP-functies en architectuur
- ROCm for Windows versus ROCm voor Linux
Installatie
- ROCm installeren op Windows
- Verificatie van de installatie en controleer de apparaatcompatibiliteit
- ROCm bijwerken of verwijderen op Windows
- Veelvoorkomende installatieproblemen oplossen
Aan de slag
- Een nieuw ROCm-project maken met behulp van Visual Studio Code op Windows
- Het verkennen van de projectstructuur en bestanden
- Het compileren en uitvoeren van het programma
- De uitvoer weergeven met printf en fprintf
ROCm-API
- ROCm API gebruiken in het hostprogramma
- Apparaatinformatie en -mogelijkheden opvragen
- Apparaatgeheugen toewijzen en de toewijzing ongedaan maken
- Gegevens kopiëren tussen host en apparaat
- Kernels starten en threads synchroniseren
- Afhandelen van fouten en uitzonderingen
HIP-taal
- HIP-taal gebruiken in het apparaatprogramma
- Kernels schrijven die worden uitgevoerd op de GPU en gegevens manipuleren
- Gegevenstypen, kwalificaties, operators en expressies gebruiken
- Ingebouwde functies, variabelen en bibliotheken gebruiken
ROCm- en HIP-geheugenmodel
- Verschillende geheugenruimten gebruiken, zoals globaal, gedeeld, constant en lokaal
- Verschillende geheugenobjecten gebruiken, zoals pointers, arrays, texturen en oppervlakken
- Gebruik van verschillende geheugentoegangsmodi, zoals alleen-lezen, alleen-schrijven, lezen-schrijven, enz.
- Gebruik maken van een geheugenconsistentiemodel en synchronisatiemechanismen
ROCm- en HIP-uitvoeringsmodel
- Gebruik maken van verschillende uitvoeringsmodellen, zoals threads, blokken en rasters
- Thread-functies gebruiken, zoals hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, enz.
- Blokfuncties gebruiken, zoals __synctreads, __threadfence_block, enz.
- Met behulp van rasterfuncties, zoals hipGridDim_x, hipGridSync, coöperatieve groepen, enz.
Foutopsporing
- Debuggen van ROCm- en HIP-programma's op Windows
- 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
- Optimaliseren van ROCm- en HIP-programma's op Windows
- Coalescentietechnieken gebruiken om de geheugendoorvoer te verbeteren
- Het gebruik van caching- en prefetch-technieken om de geheugenlatentie te verminderen
- Gebruik van gedeeld geheugen en lokale geheugentechnieken om geheugentoegang en bandbreedte te optimaliseren
- Het gebruik van profilering en profileringstools 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
- Kennis van het Windows besturingssysteem en PowerShell
Publiek
- Ontwikkelaars die willen leren hoe ze ROCm op Windows kunnen installeren en 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
21 Uren