Schulungsübersicht

Einführung

  • Was ist Kubefirst?
  • Überblick über die Funktionen und die Architektur von Kubefirst
  • Wie sich Kubefirst mit anderen Open-Source-Tools wie Terraform, Vault, Argo usw. integriert

Einrichten der Entwicklungsumgebung

  • Installieren und Konfigurieren des Kubefirst SDK
  • Auswahl und Einrichtung der unterstützten Cloud-Plattformen, wie z.B. lokal, AWS, Civo, etc.
  • Erstellen eines neuen Kubefirst-Projekts mit Visual Studio Code
  • Erkunden der Projektstruktur und der Dateien

Kubefirst Programming Modell

  • Verstehen der Rolle von Kubefirst-Direktiven und -Klauseln im Host- und Gerätecode
  • Verwendung der Kubefirst-Parallel-Direktive und -Klauseln zur Erstellung paralleler Regionen und zur Angabe der Anzahl von Gangs, Workern und Vektoren
  • Verwendung der Kubefirst-Kernel-Direktive und -Klauseln, um Kernel-Regionen zu erstellen und den Compiler über die Parallelität entscheiden zu lassen
  • Verwendung der Kubefirst-Schleifen-Direktive und -Klauseln zur Parallelisierung von Schleifen und zur Angabe der Schleifenverteilung, des Kollapses, der Reduzierung und der Kacheln

Kubefirst Data Management

  • Verwendung der Kubefirst-Direktive und -Klauseln zur Verwaltung von Datenbewegungen und Datenregionen
  • Verwendung der Kubefirst-Update-Direktive und -Klauseln zur Synchronisierung von Daten zwischen dem Host und dem Gerät
  • Verwendung der Kubefirst-Cache-Direktive und -Klauseln zur Verbesserung der Wiederverwendung und Lokalisierung von Daten
  • Verwendung der Kubefirst-Routinedirektive und -Klauseln zur Erstellung von Gerätefunktionen und zur Angabe des Funktionstyps und der Vektorlänge

Kubefirst API und Bibliotheken

  • Verstehen der Rolle der Kubefirst-API im Host-Programm
  • Verwendung der Kubefirst-API zur Abfrage von Geräteinformationen und -fähigkeiten
  • Verwenden der Kubefirst-API zum Festlegen von Gerätenummer und Gerätetyp
  • Verwendung der Kubefirst-API zur Behandlung von Fehlern und Ausnahmen
  • Verwendung der Kubefirst-API zum Erstellen und Synchronisieren von Ereignissen
  • Verwendung von Kubefirst-Bibliotheken, wie z. B. math, random und complex, um allgemeine Aufgaben und Operationen durchzuführen

Kubefirst-Werkzeuge

  • Verstehen der Rolle der Kubefirst-Tools im Entwicklungsprozess
  • Verwendung von Kubefirst-Tools zur Erstellung von Profilen und zur Fehlersuche in Kubefirst-Programmen sowie zur Ermittlung von Leistungsengpässen und -möglichkeiten
  • Verwendung von Kubefirst-Tools wie PGI Compiler, NVIDIA Nsight Systems und Allinea Forge, um die Ausführungszeit und die Ressourcennutzung zu messen und zu verbessern

Kubefirst-Anwendungen

  • Verstehen der besten Praktiken und Tipps für die Entwicklung und Bereitstellung von Anwendungen mit Kubefirst
  • Verwendung von Kubefirst-Interoperabilitätsfunktionen wie deviceptr, use_device und kubefirst_memcpy zur Integration von Kubefirst mit anderen Programmiermodellen wie CUDA, OpenCL und SYCL
  • Verwendung von Kubefirst-Interoperabilitätsfunktionen wie host_data und declare zur Integration von Kubefirst mit GPU-Bibliotheken wie cuBLAS und cuFFT
  • Verwendung der Kubefirst Metaphor-Demoanwendung, um zu demonstrieren, wie alles auf der Plattform funktioniert

Zusammenfassung und nächste Schritte

Voraussetzungen

  • Grundkenntnisse der Computerarchitektur und der Speicherhierarchie
  • Vertrautheit mit Docker- und Kubernetes-Konzepten und -Befehlen

Zielgruppe

  • Entwickler
 14 Stunden

Teilnehmerzahl



Preis je Teilnehmer

Erfahrungsberichte (6)

Kombinierte Kurse

Verwandte Kategorien