Course Outline

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

Requirements

  • 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 Hours

Number of participants



Price per participant

Getuigenissen (1)

Related Courses

Administration of CUDA

35 Hours

GPU Programming with CUDA and Python

14 Hours

AMD GPU Programming

28 Hours

NVIDIA GPU Programming

14 Hours

Introduction to GPU Programming

21 Hours

GPU Programming with CUDA

28 Hours

GPU Programming with OpenACC

28 Hours

GPU Programming with OpenCL

28 Hours

GPU Programming - OpenCL vs CUDA vs ROCm

28 Hours

NVIDIA GPU Programming - Extended

21 Hours

Hardware-Accelerated Video Analytics

14 Hours

Raster and Vector Graphics (Adobe Photoshop, CorelDraw)

28 Hours

Adobe LiveCycle Designer

14 Hours

Affinity Designer

14 Hours

Adobe Illustrator

14 Hours

Related Categories