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
- Architektonische Unterschiede zwischen CPU und GPU
- Streaming-Multiprozessor-Modell der NVIDIA-GPU
- Übersicht über das CUDA-Programmiermodell
- Heterogenes Computing und das Host-Gerät-Paradigma
Einrichtung der CUDA-Entwicklungsumgebung
- Installation des CUDA Toolkit 13.x
- NVCC-Compiler und Build-Ablauf
- Überprüfung der Umgebung mit Device Queries
- IDE-Integration und Entwicklungstools
Schreiben und Aufrufen von CUDA-Kerneln
- Syntax und Qualifikatoren für Kernel-Funktionen
- Aufrufkonfiguration und Ausführung
- Vektoraddition und grundlegende Datenparallel-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 (Single Instruction Multiple Threads)
- Belegung und Ressourcenutilisierung
GPU-Speicherarchitektur und -Verwaltung
- Speichertypen: global, shared, konstant, Register
- Allokation und Freigabe von Gerätespeicher
- Host-to-Device- und Device-to-Host-Übertragungen
- Shared Memory für die Zusammenarbeit innerhalb eines Blocks
Unified Memory und Datenmigration
- Unified Memory-Modell und verwaltete Allokationen
- Seitenmigration und Paging on Demand
- Asynchrones Vorausladen mit cudaMemPrefetchAsync
- Speicherberatungshinweise (Memory Advice Hints) für Zugriffsmuster
Systemweites Profiling mit Nsight Systems
- Analyse der Nsight Systems-Zeitleiste
- Identifizierung von CPU-GPU-Synchronisationspunkten
- Visualisierung der Kernel-Ausführung und Speicherübertragungen
- Interpretation systemweiter Leistungsdaten
Kernel-Optimierung mit Nsight Compute
- Interaktives Kernel-Profiling mit Nsight Compute
- Analyse des Speicherdurchsatzes und der Bandbreite
- Berechnungsutilisierung und Warp-Zustandsstatistiken
- Geführte Analyse und Optimierungsregeln
Konkurrierende Streams und asynchrone Operationen
- CUDA-Streams und der Standardstream
- Überlappung der Kernel-Ausführung mit Datenübertragungen
- Stream-Synchronisation und CUDA-Ereignisse
- Muster für Multi-Stream-Pipelines
Fehlerbehandlung und Debugging-Tools
- CUDA-API-Fehlercodes und Wiederherstellungsstrategien
- Compute-Sanitizer zur Überprüfung des Speicherzugriffs
- cuda-gdb zum Debuggen von Kerneln
- Assertions und synchronen Fehlererkennung
Profiling-gesteuerter Optimierungsworkflow
- Iterative Profilierungsmethodik
- Identifizierung und Priorisierung von Engpässen
- Testen auf Performance-Regression
- Dokumentation der Optimierungsentcheidungen
End-to-End-Projekt für beschleunigte Anwendungen
- Entwurf einer vollständigen GPU-beschleunigten Lösung
- Integration des Profilings während der gesamten Entwicklung
- Leistungsbenchmarking und Berichterstellung
- Berücksichtigungen bei der Bereitstellung in Produktionsumgebungen
Voraussetzungen
- Grundlegende C/C++-Programmierung Kenntnisse, einschließlich Variablentypen, Schleifen, bedingten Anweisungen, Funktionen und Array-Manipulationen
- Vertrautheit mit dem Kompilieren und Ausführen von Programmen über die Befehlszeile
- Keine vorherigen GPU- oder CUDA-Programmierkenntnisse erforderlich
Zielgruppe
- Softwareentwickler und Ingenieure, die C/C++-Anwendungen mit GPUs beschleunigen möchten
- Wissenschaftliche Forscher und HPC-Experten (High Performance Computing), die vom reinen CPU-Betrieb zur heterogenen Datenverarbeitung wechseln
- Technische Führungskräfte, die GPU-Beschleunigung für Produktionsarbeitslasten evaluieren
8 Stunden