Übersicht

Vitis Runtime Library diagram

Host

(x86, PowerPC oder ARM-CPU)

Beschleuniger

(FPGA, KI-Engine)

AMD Vitis™ Laufzeitbibliothek

Die AMD Laufzeitbibliothek ist eine Schlüsselkomponente der Vitis™ Unified Software Platform und der Vitis KI-Entwicklungsumgebung, in denen Entwickler auf anpassbaren AMD Plattformen bereitstellen können. Gleichzeitig können sie dabei vertraute Programmiersprachen wie C/C++, Python und allgemeine domänenspezifische Frameworks wie TensorFlow und Caffe verwenden.

Die AMD Laufzeitbibliothek ist eine standardisierte Open-Source-Software-Schnittstelle, die die Kommunikation zwischen dem Anwendungscode und den beschleunigten Kernels ermöglicht, die auf dem rekonfigurierbaren Teil von PCIe-basierten Alveo-Beschleunigerkarten, Zynq™ 7000, Zynq UltraScale+™ MPSoC-basierten Embedded Plattformen oder Versal™ ACAPs bereitgestellt werden. 

Die AMD Laufzeitbibliothek wird auf der Host-CPU ausgeführt. Bei Embedded Plattformen bezieht sich der Host auf den ARM-Prozessor auf der AMD Plattform. Bei Alveo™ Beschleunigerkarten hingegen bezieht er sich auf die x86-basierte CPU oder PowerPC-CPU auf dem Server.

Funktionen

Wichtigste Vorteile

  • Fokus auf Anwendungsentwicklung ohne Hardware-Vorkenntnisse: Die AMD Laufzeitbibliothek macht die Implementierung von Hardware-Kommunikationsschichten für adaptive AMD Plattformen überflüssig. Sie lässt sich in Standard-Softwareanwendungen integrieren, sodass FPGAs auch für Entwickler ohne Hardware-Vorkenntnisse allgemein zugänglich sind.
  • Open Source und flexibel: Die AMD Laufzeitbibliothek beruht auf Open-Source-Technologie und ist auf GitHub unter der Apache-2-Lizenz verfügbar. Entwickler können diese Bibliotheken und Treiber ganz flexibel unverändert nutzen oder sie an die Anforderungen ihrer benutzerdefinierten Anwendungen und Plattformen anpassen.
  • Gängige APIs über Plattformen hinweg: Die AMD Laufzeitbibliothek bietet eine Reihe gängiger APIs für Entwickler, um beschleunigte Anwendungen für Edge-, On-Premise- und Cloud-Bereitstellungen zu entwerfen. Damit können Anwendungen nahtlos zwischen verschiedenen AMD Plattformen portiert werden, wenn sich die Anforderungen an die Rechenleistung oder die Bereitstellung ändern.
  • Verschiedene Abstraktionsebenen: Von domänenspezifischen APIs, die von Vitis KI genutzt werden, über High-Level-Python-Bindings bis hin zu Low-Level-C++-APIs, die eine feinere Kontrolle bieten – Entwickler haben die Wahl zwischen mehreren Abstraktionsebenen für die Interaktion mit der AMD Laufzeitbibliothek in ihren Anwendungen.
  • Zugriff auf Dynamic Function eXchange: Mit der AMD Laufzeitbibliothek können Anwendungsentwickler Dynamic Function eXchange (DFX) nutzen, um problemlos verschiedene Beschleuniger-Binärdateien auf AMD Plattformen (insbesondere Alveo-Beschleunigerkarten) auszutauschen. Dabei müssen sie sich keine Gedanken über die genauen Details machen.
  • RessourcenskalierungXilinx FPGA Resource Management (XRM) bietet serverbasierte Orchestrierungsfunktionen basierend auf der Vitis Laufzeitbibliothek-API. Dadurch können mehrere Anwendungen auf einem Pool von Alveo-Beschleunigerkarten ausgeführt werden, die mit einem Server verbunden sind.

Wichtigste Funktionen

  • FPGA-Image-Download: Download von Beschleuniger-Binärdateien auf die Plattform
  • Open Source und flexibel: Datenverschiebung zwischen Host und Beschleunigern
  • Platinenverwaltung: Platinenwiederherstellung, Debugging, Energieverwaltung
  • Ausführungsmanagement: Auslösung, Sequenzierung und Synchronisierung von Berechnungen

Erste Schritte