Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
Testimonials (2)
Veldig interaktiv med ulike eksempler, med god progresjon i kompleksitet mellom start og slutt på treningen.
Jenny - Andheo
Kurs - GPU Programming with CUDA and Python
Machine Translated
Trener energi og humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurs - NVIDIA GPU Programming - Extended
Machine Translated