CONTACT ONS

Cursusaanbod

Inleiding

  • Wat is ROCm?
  • Wat is HIP?
  • ROCm versus CUDA versus OpenCL
  • Overzicht van de functies en architectuur van ROCm en HIP
  • ROCm voor Windows vergeleken met ROCm voor Linux

Installatie

  • ROCm installeren op Windows
  • De installatie verifiëren en de compatibiliteit van het apparaat controleren
  • ROCm updaten of verwijderen op Windows
  • Oplossen van veelvoorkomende installatieproblemen

Aan de slag

  • Een nieuw ROCm-project aanmaken met Visual Studio Code op Windows
  • De projectstructuur en bestanden verkennen
  • Het programma compileren en uitvoeren
  • Het resultaat weergeven via printf en fprintf

ROCm API

  • De ROCm-API gebruiken in het host-programma
  • Informatie over het apparaat en diens mogelijkheden verkrijgen
  • Geheugen toewijzen en vrijgeven op het device
  • Gegevens overdragen tussen host en device
  • Kernels starten en threads synchroniseren
  • Fouten en uitzonderingen afhandelen

HIP Taal

  • HIP-taal gebruiken in het device-programma
  • Kernels schrijven die op de GPU worden uitgevoerd en gegevens bewerken
  • Gegevenstypen, kwalificatoren, operators en expressies hanteren
  • Ingebouwde functies, variabelen en bibliotheken gebruiken

ROCm en HIP Geheugenmodel

  • Diverse geheugenruimtes zoals global, shared, constant en local toepassen
  • Geheugensobjecten als pointers, arrays, textures en surfaces gebruiken
  • Verschillende manieren van geheugentoegang – alleen-lezen, schrijven of lezen/schrijven – hanteren
  • Het geheugenconsistentie-model begrijpen en synchronisatiemechanismen toepassen

ROCm en HIP Uitvoeringsmodel

  • Diverse uitvoeringsmodellen zoals threads, blokken en grids gebruiken
  • Thread-functies zoals hipThreadIdx_x, hipBlockIdx_x en hipBlockDim_x toepassen
  • Blokfuncties als __syncthreads en __threadfence_block benutten<\/li>
  • Grid-functies zoals hipGridDim_x, hipGridSync en cooperative groups gebruiken

Debuggen

  • ROCm- en HIP-programma’s debuggen onder Windows
  • De debugger van Visual Studio Code gebruiken om variabelen te inspecteren, breakpoints in te stellen en de call stack te bekijken.
  • ROCm Debugger gebruiken voor het debuggen van ROCm- en HIP-programma’s op AMD-apparaten
  • ROCm Profiler gebruiken om ROCm- en HIP-programma’s op AMD-apparaten te analyseren.

Optimalisatie

  • ROCm- en HIP-programma’s optimaliseren op Windows
  • Coalescing-technieken toepassen om de geheugendoorvoer te verbeteren
  • Caching en prefetching gebruiken om de geheugensnelheid te verhogen
  • Gedeeld geheugen en lokaal geheugen inzetten voor efficiënte toegang tot het geheugen en bandbreedteoptimalisatie.
  • Profileringshulpmiddelen gebruiken om uitvoeringstijd en resourcegebruik te meten en te verbeteren.

Samenvatting en vervolgstappen

Vereisten

  • Basiskennis van de C/C++-taal en begrip van concepten rond parallelle programmering
  • Algemene kennis van computerarchitectuur en geheugenhiërarchie
  • Ervaring met command-line tools en code-editors
  • Vertrouwdheid met het Windows-besturingssysteem en PowerShell

Doelgroep

  • Ontwikkelaars die leren hoe ROCm op Windows geïnstalleerd en gebruikt kan worden om AMD-GPU’s te programmeren en hun parallelle verwerkingscapaciteit optimaal benutten.
  • Ontwikkelaars die hoogpresterende, schaalbare code willen ontwikkelen die op verschillende AMD-apparaten kan draaien.
  • Programmeurs die de onderliggende mechanismen van GPU-programmering verkennen en hun codeperformance willen verbeteren.
 21 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.
Investering

Prijs per privégroep, online live training, startend vanaf 4800 € + BTW*

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen

Voorlopige Aankomende Cursussen

Gerelateerde categorieën