Seminar / Training CUDA Programmierung Grundlagen: Kernels, Memory, Toolchain
Inhaltsverzeichnis
- Abstract
- Zielbild und Abgrenzung
- Zielgruppe und Voraussetzungen
- Lernziele
- Inhalte und Module
- Praxisübungen
- Agenda
Abstract
Dieses Grundlagenseminar führt in die praktische CUDA-Programmierung ein. Behandelt werden Kernel-Entwicklung, Thread- und Block-Organisation, Speicherverwaltung und die wichtigsten Teile der Toolchain. Der Fokus liegt auf robustem, wartbarem Code und dem sicheren Umgang mit Fehlern, Synchronisation und einfachen Optimierungen. Übungen entwickeln schrittweise eine kleine GPU-Bibliothek aus Elementaroperationen (Vektoroperationen, Reduktion, einfache Stencils) und verankern Best Practices für Build und Debug.
Zielbild und Abgrenzung
- Fokus: produktionsnahe CUDA C/C++-Programmierung
- Nicht-Fokus: spezielle Domänenbibliotheken, Deep-Learning-Framework-Interna
Zielgruppe und Voraussetzungen
- Zielgruppe: C/C++-Entwicklung, numerische Software, Performance-Teams
- Voraussetzungen: sicheres C/C++-Grundniveau, Pointer/Memory-Grundverständnis, Basiskenntnisse Build-Tools
Lernziele
- CUDA Kernel korrekt strukturieren und starten
- Speicherpfade (Host/Device) sicher verwalten
- Fehlerbehandlung, Synchronisation und Determinismus-Grundregeln anwenden
- Einfache Performance-Heuristiken (Coalescing, Occupancy-Grundlagen) nutzen
Inhalte und Module
- CUDA Programmiermodell: Kernel, Grid, Blocks, Threads
- Indexierung und Datenpartitionierung: 1D/2D/3D
- Speicherverwaltung: Device Memory, Transfers, Pinned Memory (Praxis), Unified Memory (Einordnung)
- Shared Memory und Register: Einsatzfälle, Grenzen
- Synchronisation: __syncthreads, atomare Operationen, Reduktionen
- Fehlerbehandlung: Return-Codes, Synchronisationspunkte, Debug-Basics
- Toolchain: Compiler/Build, Debug-Symbole, Versions- und Kompatibilitätsprinzipien
- Code-Organisation: Header/Translation Units, Kernel-Wrapper, API-Design
- Erste Optimierungen: Coalescing, Vermeidung von Divergenz (Grundniveau)
Praxisübungen
- Setup: Minimalprojekt und Build-Struktur
- Kernel 1: SAXPY/Vektoroperationen
- Kernel 2: 2D-Operation (z. B. Bildfilter/Stencil light)
- Kernel 3: Reduktion (Summe, Max) mit Atomics und mit Block-Reduktion
- Shared-Memory-Übung: Bank-Conflicts sichtbar machen (konzeptionell + Messung)
- Robustness: Fehlerpfade und Guardrails (Bounds, Checks, Synchronisationspunkte)
Agenda
- Tag 1
- CUDA Modell und erstes Kernel-Projekt
- Speicherverwaltung und Transfers
- Übungen: SAXPY + Memory-Checks
- Tag 2
- 2D/3D-Indexierung, Layout, Coalescing
- Shared Memory und Synchronisation
- Übungen: Stencil light + Shared-Memory-Variante
- Tag 3
- Atomics, Reduktionen, deterministische Patterns
- Code-Organisation und Build-Strategie
- Optimierungsgrundlagen und typische Fehlerbilder
- Übungen: Reduktion iterativ verbessern
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

René Launa
Telefon: + 43 (720) 022000
E-Mail: rené.launa@seminar-experts.at -

Adam Steyer
Telefon: + 43 (720) 022000
E-Mail:
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich und Webinar: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | C/C++-Entwicklung, numerische Software, Performance-Teams |
| Voraussetzungen: | sicheres C/C++-Grundniveau, Pointer/Memory-Grundverständnis, Basiskenntnisse Build-Tools |
| Standorte: | Bregenz, Graz, Innsbruck, Klagenfurt, Linz, Salzburg, Wien |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 43 (720) 022000 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
