Kursplan

Introduksjon

  • Hva er ROCm?
  • Hva er HIP?
  • ROCm vs CUDA vs OpenCL
  • Oversikt over ROCm og HIP funksjoner og arkitektur
  • ROCm for Windows vs ROCm for Linux

Installasjon

  • Installere ROCm på Windows
  • Verifiserer installasjonen og kontroller enhetens kompatibilitet
  • Oppdatere eller avinstallere ROCm på Windows
  • Feilsøking av vanlige installasjonsproblemer

Starter

  • Opprette et nytt ROCm-prosjekt ved å bruke Visual Studio-kode på Windows
  • Utforske prosjektstrukturen og filene
  • Kompilere og kjøre programmet
  • Viser utdata ved hjelp av printf og fprintf

ROCm API

  • Bruker ROCm API i vertsprogrammet
  • Spørre enhetsinformasjon og -funksjoner
  • Tildele og deallokere enhetsminne
  • Kopiering av data mellom vert og enhet
  • Starte kjerner og synkronisere tråder
  • Håndtering av feil og unntak

HIP-språk

  • Bruke HIP-språk i enhetsprogrammet
  • Skrive kjerner som kjører på GPU og manipulerer data
  • Bruke datatyper, kvalifikatorer, operatorer og uttrykk
  • Bruke innebygde funksjoner, variabler og biblioteker

ROCm og HIP minnemodell

  • Bruk av forskjellige minneplasser, for eksempel global, delt, konstant og lokal
  • Bruke forskjellige minneobjekter, for eksempel pekere, matriser, teksturer og overflater
  • Bruk av forskjellige minnetilgangsmoduser, for eksempel skrivebeskyttet, skrivebeskyttet, lese-skrive osv.
  • Bruke minnekonsistensmodell og synkroniseringsmekanismer

ROCm og HIP utførelsesmodell

  • Bruke forskjellige utførelsesmodeller, som tråder, blokker og rutenett
  • Bruke trådfunksjoner, for eksempel hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
  • Bruke blokkfunksjoner, for eksempel __syncthreads, __threadfence_block, etc.
  • Bruke rutenettfunksjoner, som hipGridDim_x, hipGridSync, samarbeidsgrupper, etc.

Feilsøking

  • Feilsøking av ROCm- og HIP-programmer på Windows
  • Bruke Visual Studio Kodefeilsøker for å inspisere variabler, bruddpunkter, anropsstack, etc.
  • Bruke ROCm Debugger til å feilsøke ROCm- og HIP-programmer på AMD-enheter
  • Bruke ROCm Profiler til å analysere ROCm- og HIP-programmer på AMD-enheter

Optimalisering

  • Optimalisering av ROCm- og HIP-programmer på Windows
  • Bruke koalesceringsteknikker for å forbedre minnegjennomstrømningen
  • Bruke bufrings- og forhåndshentingsteknikker for å redusere minneforsinkelse
  • Bruke delt minne og lokale minneteknikker for å optimalisere minnetilgang og båndbredde
  • Bruke profilerings- og profileringsverktøy for å måle og forbedre gjennomføringstiden og ressursutnyttelsen

Sammendrag og neste trinn

Krav

  • En forståelse av C/C++ språk og parallellprogrammeringskonsepter
  • Grunnleggende kunnskap om dataarkitektur og minnehierarki
  • Erfaring med kommandolinjeverktøy og koderedigerere
  • Kjennskap til Windows-operativsystemet og PowerShell

Publikum

  • Utviklere som ønsker å lære å installere og bruke ROCm på Windows for å programmere AMD GPU og utnytte deres parallellitet
  • Utviklere som ønsker å skrive høyytelses og skalerbar kode som kan kjøres på forskjellige AMD-enheter
  • Programmerere som ønsker å utforske lavnivåaspektene ved GPU programmering og optimalisere kodeytelsen
 21 timer

Antall deltakere



Price per participant

Testimonials (1)

Relaterte kurs

GPU Programming - OpenCL vs CUDA vs ROCm

28 timer

Related Categories