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
Einführung
- Was ist ROCm?
- Was ist HIP?
- ROCm vs. CUDA vs. OpenCL
- Überblick über die Funktionen und Architektur von ROCm und HIP
- ROCm for Windows vs ROCm für Linux
Installation
- Installation von ROCm unter Windows
- Verifizierung der Installation und Überprüfung der Gerätekompatibilität
- Aktualisieren oder Deinstallieren von ROCm unter Windows
- Fehlersuche bei allgemeinen Installationsproblemen
Erste Schritte
- Erstellen eines neuen ROCm-Projekts mit Visual Studio Code unter Windows
- Erkunden der Projektstruktur und der Dateien
- Kompilieren und Ausführen des Programms
- Anzeige der Ausgabe mit printf und fprintf
ROCm-API
- Verwendung von ROCm API im Host-Programm
- Abfrage von Geräteinformationen und -fähigkeiten
- Zuweisen und Freigeben von Gerätespeicher
- Kopieren von Daten zwischen Host und Gerät
- Starten von Kerneln und Synchronisieren von Threads
- Behandlung von Fehlern und Ausnahmen
HIP-Sprache
- Verwendung der HIP-Sprache im Geräteprogramm
- Schreiben von Kernels, die auf dem GPU ausgeführt werden und Daten manipulieren
- Verwendung von Datentypen, Qualifizierern, Operatoren und Ausdrücken
- Verwendung von eingebauten Funktionen, Variablen und Bibliotheken
ROCm und HIP-Speichermodell
- Verwendung verschiedener Speicherbereiche, z. B. global, gemeinsam genutzt, konstant und lokal
- Verwendung verschiedener Speicherobjekte, wie z.B. Zeiger, Arrays, Texturen und Oberflächen
- Verwendung verschiedener Speicherzugriffsmodi, wie z. B. Nur-Lesen, Nur-Schreiben, Lesen-Schreiben usw.
- Verwendung von Speicherkonsistenzmodellen und Synchronisationsmechanismen
ROCm und HIP-Ausführungsmodell
- Verwendung verschiedener Ausführungsmodelle, z. B. Threads, Blöcke und Grids
- Verwendung von Thread-Funktionen, z. B. hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x usw.
- Verwendung von Blockfunktionen wie __syncthreads, __threadfence_block, usw.
- Verwendung von Grid-Funktionen, wie hipGridDim_x, hipGridSync, kooperative Gruppen, usw.
Fehlersuche
- Fehlersuche in ROCm- und HIP-Programmen unter Windows
- Verwendung des Visual Studio Code-Debuggers zur Untersuchung von Variablen, Haltepunkten, Aufrufstapel usw.
- Verwendung des ROCm Debuggers zur Fehlersuche in ROCm- und HIP-Programmen auf AMD-Geräten
- Verwendung von ROCm Profiler zur Analyse von ROCm- und HIP-Programmen auf AMD-Geräten
Optimierung
- Optimieren von ROCm- und HIP-Programmen unter Windows
- Verwendung von Coalescing-Techniken zur Verbesserung des Speicherdurchsatzes
- Verwendung von Caching- und Prefetching-Techniken zur Reduzierung der Speicherlatenz
- Verwendung von Shared-Memory- und Local-Memory-Techniken zur Optimierung von Speicherzugriffen und Bandbreite
- Verwendung von Profiling und Profiling-Tools zur Messung und Verbesserung der Ausführungszeit und Ressourcennutzung
Zusammenfassung und nächster Schritt
Voraussetzungen
- Kenntnisse der Sprache C/C++ und paralleler Programmierkonzepte
- Grundkenntnisse der Computerarchitektur und der Speicherhierarchie
- Erfahrung mit Befehlszeilentools und Code-Editoren
- Vertrautheit mit dem Windows-Betriebssystem und PowerShell
Zielgruppe
- Entwickler, die lernen möchten, wie man ROCm unter Windows installiert und verwendet, um AMD GPUs zu programmieren und deren Parallelität auszunutzen
- Entwickler, die leistungsstarken und skalierbaren Code schreiben möchten, der auf verschiedenen AMD-Geräten ausgeführt werden kann
- Programmierer, die die Low-Level-Aspekte der GPU-Programmierung erforschen und die Leistung ihres Codes optimieren möchten
21 Stunden
Erfahrungsberichte (2)
Sehr interaktiv mit verschiedenen Beispielen, mit einer guten Progression in der Komplexität zwischen dem Beginn und dem Ende des Trainings.
Jenny - Andheo
Kurs - GPU Programming with CUDA and Python
Maschinelle Übersetzung
Energie und Humor des Trainers.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kurs - NVIDIA GPU Programming - Extended
Maschinelle Übersetzung