Cursusaanbod
Inleiding
Grondslagen van heterogene computatiemethoden begrijpen
Waarom parallelle berekeningen? De noodzaak van parallel computing onder de loep genomen
Meerkernprocessoren – architectuur en ontwerp
Inleiding tot threads: basisprincipes en beginselen van parallel programmeren
Grondslagen van softwareoptimalisatie op GPU’s verkennen
OpenMP: een standaard voor richtlijngebaseerd parallel programmeren
Praktische oefeningen/demonstraties met diverse programma’s op meerkernmachines
Inleiding tot GPU-computing
GPU’s inzetten voor parallelle berekeningen
Het programmeermodel voor GPU’s begrijpen
Praktische oefeningen/demonstraties met diverse programma’s op GPU's
SDK, hulpmiddelenpakket en installatie van een GPU-omgeving
Werken met verschillende softwarebibliotheken
Demonstatie van GPU-technologie en gereedschappen aan de hand van voorbeeldprogramma’s en OpenACC
Het CUDA-programmeermodel verklaren
De architectuur van CUDA leren kennen
CUDA-ontwikkelomgevingen instellen en gebruiken
Werken met de CUDA Runtime API
Het geheugenmodel in CUDA begrijpen
Aanvullende functies van de CUDA-API ontdekken
Efficiënt gebruik van globaal geheugen in CUDA: optimalisatie technieken
Data-overdrachten optimaliseren met CUDA Streams
Gedeeld geheugen effectief benutten in CUDA
Atomaire bewerkingen en instructies in CUDA gebruiken en begrijpen
Casestudy: Basisbeeldverwerking met behulp van CUDA
Programmeren op meerdere GPU’s aanpakken
Gevorderde analyse- en bemonsteringstechnieken voor NVIDIA/CUDA-hardware
De CUDA Dynamic Parallelism API benutten voor dynamische kernelopstartingen
Samenvatting en conclusie
Vereisten
- C-programmeren
- GCC op Linux
Getuigenissen (1)
De energie en humor van de trainer.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Cursus - NVIDIA GPU Programming - Extended
Automatisch vertaald