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
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
Vittnesmål (2)
Väldigt interaktiv med olika exempel, med en bra progression i komplexitet mellan start och slut av träningen.
Jenny - Andheo
Kurs - GPU Programming with CUDA and Python
Machine Translated
Tränarnas energi och humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurs - NVIDIA GPU Programming - Extended
Machine Translated