Schulungsübersicht
Einführung
Grundlagen der heterogenen Computing-Methodik verstehen
Warum paralleles Rechnen? Das Bedürfnis nach parallelem Rechning verstehen
Multicore-Prozessoren – Architektur und Design
Einführung in Threads, Grundlagen von Threads und grundlegende Konzepte der parallelen Programmierung
Grundlagen der GPU-Softwareoptimierung verstehen
OpenMP – ein Standard für direktivebasierte parallele Programmierung
Praktische Übung / Demonstration verschiedener Programme auf Multicore-Maschinen
Einführung in das GPU-Computing
GPs für paralleles Rechnen
GPU-Programmiermodell
Praktische Übung / Demonstration verschiedener Programme auf GPUs
SDK, Toolkit und Umgebungseinrichtung für GPU
Arbeiten mit verschiedenen Bibliotheken
Demonstration von GPU und Tools mit Beispielprogrammen und OpenACC
Das CUDA-Programmiermodell verstehen
Die CUDA-Architektur erlernen
Entwicklungsumgebungen für CUDA erkunden und einrichten
Arbeiten mit der CUDA Runtime API
Das CUDA-Speichermodell verstehen
Zusätzliche Features der CUDA API erkunden
Effizienter Zugriff auf den globalen Speicher in CUDA: Optimierung des globalen Speichers
Optimierung von Datenübertragungen in CUDA mit CUDA-Streams
Nutzung des gemeinsam genutzten Speichers (Shared Memory) in CUDA
Atomare Operationen und Anweisungen in CUDA verstehen und nutzen
Fallstudie: Grundlegende digitale Bildverarbeitung mit CUDA
Multicore-GPU-Programmierung
Fortschrittliches Hardware-Profiling und Sampling auf NVIDIA / CUDA
Nutzung der CUDA Dynamic Parallelism API für dynamisches Kernel-Starten
Zusammenfassung und Fazit
Voraussetzungen
- C-Programmierung
- Linux GCC
Erfahrungsberichte (1)
Die Energie und der Humor des Trainers.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurs - NVIDIA GPU Programming - Extended
Maschinelle Übersetzung