Fundamentals of Accelerated Computing with OpenACC (FACO) – Details

Detaillierter Kursinhalt

Einführung

  • Treffen Sie den Ausbilder.
  • Erstellen Sie ein Konto unter courses.nvidia.com/join

Einführung in die parallele Programmierung

  • Lernen Sie die Parallelität auf konzeptionelle Art und Weise kennen und erfahren Sie, wie man sie mit OpenACC ausdrücken kann. Die folgenden Themen werden behandelt:
    • Einführung in die Parallelität
    • Die Ziele von OpenACC
    • Grundlegende Parallelisierung von Code mit OpenACC

Profiling mit OpenACC

  • Erfahren Sie, wie Sie einen OpenACC-Code erstellen und kompilieren, wie wichtig die Profilerstellung ist und wie Sie den NVIDIA Nsight™ Systems Profiler verwenden. Die folgenden Themen werden behandelt:
    • Kompilieren von sequentiellem und OpenACC-Code
    • Die Bedeutung der Code-Profilierung
    • Profiling von sequentiellem und OpenACC-Multicore-Code
    • Technische Einführung in den in den Einführungsmodulen verwendeten Code

Einführung in OpenACC-Direktiven

  • Lernen Sie, wie Sie Ihren Code mit OpenACC-Direktiven parallelisieren können und verstehen Sie die Unterschiede zwischen Parallel-, Kernel- und Schleifendirektiven. Die folgenden Themen werden behandelt:
    • Die Parallelrichtlinie
    • Die Kernel-Richtlinie
    • Die Richtlinie Loop

GPU-Programmierung mit OpenACC

  • Lernen Sie die Unterschiede zwischen GPUs und Multicore-CPUs kennen, und verwalten Sie den Speicher mit CUDA Unified Memory. Die folgenden Themen werden behandelt:
    • Definition einer GPU
    • Grundlegende OpenACC-Datenverwaltung
    • CUDA Vereinheitlichter Speicher
    • Profiling von GPU-Anwendungen

Datenverwaltung mit OpenACC

  • Lernen Sie, wie Sie Datenbewegungen mit OpenACC-Datendirektiven explizit verwalten können, um Datenübertragungen zu reduzieren. Die folgenden Themen werden behandelt:
    • OpenACC-Datenrichtlinie/Klauseln
    • OpenACC-strukturierte Datenregion
    • OpenACC-Region für unstrukturierte Daten
    • OpenACC-Aktualisierungsrichtlinie
    • Datenverwaltung mit C/C++-Strukturen/Klassen

Schleifenoptimierungen mit OpenACC

  • Verstehen Sie die verschiedenen Ebenen der Parallelität auf einer GPU und lernen Sie, wie Sie mit OpenACC mehr Parallelität durch die Optimierung von Schleifen in Ihrem Code erreichen können. Die folgenden Themen werden behandelt:
    • Seq/Auto-Klausel
    • Unabhängiger Satz
    • Ermäßigungsklausel
    • Klausel einklappen
    • Fliesenklausel
    • Gang, Arbeiter, Vektor

Abschlussbericht

  • Besprechen Sie die wichtigsten Erkenntnisse und beantworten Sie Fragen.
  • Schließen Sie die Bewertung ab und erhalten Sie ein Zertifikat.
  • Füllen Sie die Workshop-Umfrage aus.