Schulungsübersicht
Einführung
Grundlagen der heterogenen Computing-Methodik verstehen
Warum Parallel Computing? Erfordernis des parallelen Rechnens verstehen
Multicore-Prozessoren – Architektur und Design
Einführung in Threads: Grundlagen und zentrale Konzepte der parallelen Programmierung
Grundlagen der GPU-Softwareoptimierung verstehen
OpenMP – ein Standard für richtungsorientierte parallele Programmierung
Praktische Demonstration verschiedener Programme auf Multicore-Rechnern
Einführung in GPU Computing
GPUs für Parallel Computing
GPU-Programmierungsmodell
Praktische Demonstration verschiedener Programme auf GPUs
SDK, Toolkit und Installation der Umgebung für GPUs
Arbeit mit verschiedenen Bibliotheken
Demonstration von GPUs und Tools anhand von Beispielprogrammen und OpenACC
Das CUDA-Programmierungsmodell verstehen
CUDA-Architektur erlernen
CUDA-Entwicklungsumgebungen erkunden und einrichten
Arbeit mit der CUDA Runtime API
Das CUDA-Speichermodell verstehen
Zusätzliche CUDA-API-Funktionen erkunden
Effizienter Zugriff auf den globalen Speicher in CUDA: Optimierung des globalen Speichers
Datenübertragungen in CUDA mit CUDA-Streams optimieren
Gemeinsamen Speicher (Shared Memory) in CUDA nutzen
Atematische Operationen und Anweisungen in CUDA verstehen und einsetzen
Praxisbeispiel: Grundlegende digitale Bildverarbeitung mit CUDA
Mult-GPU-Programmierung praktizieren
Fortschrittliche Hardware-Profilierung und Sampling auf NVIDIA / CUDA
Einsatz der CUDA Dynamic Parallelism API für dynamisches Kernel-Aufrufen
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