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
Testimonials (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