Tack för att du skickade din fråga! En av våra teammedlemmar kontaktar dig snart.
Tack för att du skickade din bokning! En av våra teammedlemmar kontaktar dig snart.
Kursplan
Introduktion
- Vad är ROCm?
- Vad är HIP?
- ROCm vs CUDA vs OpenCL
- Översikt över ROCm och HIP funktioner och arkitektur
- ROCm for Windows kontra ROCm för Linux
Installation
- Installera ROCm på Windows
- Verifiera installationen och kontrollera enhetens kompatibilitet
- Uppdatera eller avinstallera ROCm på Windows
- Felsökning av vanliga installationsproblem
Komma igång
- Skapa ett nytt ROCm-projekt med hjälp av Visual Studio Code på Windows
- Utforska projektstrukturen och filerna
- Kompilera och köra programmet
- Visar utdata med printf och fprintf
ROCm API
- Använder ROCm API i värdprogrammet
- Fråga efter enhetsinformation och funktioner
- Tilldela och avallokera enhetsminne
- Kopiera data mellan värd och enhet
- Starta kärnor och synkronisera trådar
- Hantering av fel och undantag
HIP-språk
- Använder HIP-språk i enhetsprogrammet
- Att skriva kärnor som körs på GPU och manipulerar data
- Använda datatyper, kvalificerare, operatorer och uttryck
- Använda inbyggda funktioner, variabler och bibliotek
ROCm och HIP minnesmodell
- Använda olika minnesutrymmen, såsom globala, delade, konstanta och lokala
- Använda olika minnesobjekt, såsom pekare, arrayer, texturer och ytor
- Använda olika minnesåtkomstlägen, såsom skrivskyddad, skrivskyddad, läs-skriv, etc.
- Använda minneskonsistensmodell och synkroniseringsmekanismer
ROCm och HIP Execution Model
- Använda olika exekveringsmodeller, såsom trådar, block och rutnät
- Använda trådfunktioner, som hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, etc.
- Använda blockfunktioner, såsom __syncthreads, __threadfence_block, etc.
- Använda rutnätsfunktioner, såsom hipGridDim_x, hipGridSync, kooperativa grupper, etc.
Felsökning
- Felsökning av ROCm- och HIP-program på Windows
- Användning av Visual Studio kodfelsökning för att inspektera variabler, brytpunkter, anropsstack, etc.
- Använda ROCm Debugger för att felsöka ROCm- och HIP-program på AMD-enheter
- Använda ROCm Profiler för att analysera ROCm- och HIP-program på AMD-enheter
Optimering
- Optimera ROCm- och HIP-program på Windows
- Använder koalescerande tekniker för att förbättra minneskapaciteten
- Använder caching och förhämtning för att minska minnesfördröjningen
- Använda delat minne och lokala minnestekniker för att optimera minnesåtkomst och bandbredd
- Använda profilerings- och profileringsverktyg för att mäta och förbättra exekveringstiden och resursutnyttjandet
Sammanfattning och nästa steg
Krav
- En förståelse för C/C++ språk och parallella programmeringskoncept
- Grundläggande kunskaper om datorarkitektur och minneshierarki
- Erfarenhet av kommandoradsverktyg och kodredigerare
- Kännedom om Windows operativsystem och PowerShell
Publik
- Utvecklare som vill lära sig att installera och använda ROCm på Windows för att programmera AMD GPU och utnyttja deras parallellitet
- Utvecklare som vill skriva högpresterande och skalbar kod som kan köras på olika AMD-enheter
- Programmerare som vill utforska lågnivåaspekterna av GPU programmering och optimera sin kodprestanda
21 timmar