Vielen Dank für die Zusendung Ihrer Anfrage! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Vielen Dank, dass Sie Ihre Buchung abgeschickt haben! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Schulungsübersicht
GPU-Computing und CUDA-Architektur
- Unterschiede in der Architektur zwischen CPU und GPU
- Streaming-Multiprozessor-Modell von NVIDIA-GPUs
- Übersicht über das CUDA-Programmiermodell
- Heterogenes Computing und das Host-Device-Paradigma
Einrichten der CUDA-Entwicklungsumgebung
- Installieren des CUDA Toolkits 13.x
- NVCC-Compiler und Build-Arbeitsablauf
- Überprüfen der Umgebung mit Device-Abfragen
- IDE-Integration und Entwicklungswerkzeuge
Schreiben und Starten von CUDA-Kernels
- Syntax und Qualifizierer von Kernel-Funktionen
- Startkonfiguration und Ausführung
- Vektoraddition und grundlegende datenparallele Muster
- CUDA-Fehlerprüfungs-Makros
CUDA-Thread-Hierarchie und Ausführungsmodell
- Organisation von Grid, Block und Thread
- Thread-Indizierung und Berechnung der globalen ID
- Warp-Ausführung und SIMT-Modell
- Besetzung (Occupancy) und Ressourcenutilisation
GPU-Speicherarchitektur und -Verwaltung
- Speichertypen: Globaler Speicher, Shared Memory, konstante Daten, Register
- Allokation und Freigabe des Gerätespeichers
- Host-zu-Gerät- und Gerät-zu-Host-Übertragungen
- Gemeinsamer Speicher (Shared Memory) für die Zusammenarbeit innerhalb eines Blocks
Unified Memory und Datenmigration
- Unified-Speichermodell und verwaltete Allokationen
- Seitenmigration und On-Demand-Paging
- Asynchrones Vorpuffern mit cudaMemPrefetchAsync
- Speicherhinweise (Memory Advice Hints) für Zugriffsmuster
Systemweites Profiling mit Nsight Systems
- Zeitleistenanalyse in Nsight Systems
- Identifizieren von CPU-GPU-Synchronisationspunkten
- Visualisierung der Kernel-Ausführung und Speicherübertragungen
- Interpretieren systemweiter Leistungsdaten
Kernel-Optimierung mit Nsight Compute
- Interaktives Kernel-Profiling in Nsight Compute
- Analyse des Speicher-Durchsatzes und der Bandbreite
- Utilisation der Berechnungsressourcen und Warp-Zustandsstatistiken
- Geführte Analyse und Optimierungshinweise
Gleichzeitige Streams und asynchrone Operationen
- CUDA-Streams und der Standardstream
- Überlappende Kernel-Ausführung mit Datenübertragungen
- Stream-Synchronisation und CUDA-Ereignisse
- Mehrstufige Pipeline-Designmuster
Fehlerbehandlung und Debugging-Werkzeuge
- CUDA-API-Fehlercodes und Wiederherstellungsstrategien
- Compute-sanitizer zur Überprüfung von Speicherzugriffen
- cuda-gdb zum Debuggen von Kernels
- Assertions und synchrone Fehlererkennung
Profilgesteuerte Optimierungsmethodik
- Iterative Profiling-Methodik
- Identifizierung und Priorisierung von Engpässen
- Leistungstests zur Erkennung von Regressionen
- Dokumentation von Optimierungsentscheidungen
Vollständige beschleunigte Anwendungsprojektarbeit
- Entwurf einer vollständigen GPU-beschleunigten Lösung
- Integration des Profilings während der gesamten Entwicklung
- Leistungsbenchmarking und Berichterstellung
- Berücksichtigungen für die Produktivbereitstellung
Voraussetzungen
- Grundlegende Kompetenz in der C/C++-Programmierung, einschließlich Variablentypen, Schleifen, bedingten Anweisungen, Funktionen und Array-Manipulationen
- Vertrautheit mit dem Kompilieren und Ausführen von Programmen über die Befehlszeile
- Keine Vorkenntnisse in GPU- oder CUDA-Programmierung erforderlich
Zielgruppe
- Softwareentwickler und Ingenieure, die C/C++-Anwendungen mit GPUs beschleunigen möchten
- Wissenschaftliche Forscher und HPC-Praktiker, die vom reinen CPU-Rechnung auf heterogene Computing-Umgebungen wechseln
- Technische Führungskräfte, die GPU-Beschleunigung für Produktions-Workloads bewerten
8 Stunden