Xilinx Vitis: FPGA-Programmierung für alle

Redakteur: Michael Eckstein

Python und C++ statt HDL: Die „Vitis Unified Software Platform“ soll das Programmieren von Xilinx-FPGAs deutlich vereinfachen. So will das Unternehmen seine programmierbaren Logikbausteine einer breiteren Anwenderschaft zugänglich machen.

Anbieter zum Thema

FPGA
FPGA
(Bild: Xilinx)

Show-Stopper für den Einsatz von FPGAs ist oft die komplexe Programmierung der flexiblen Bausteine. Diese setzt bislang Expertise in umfangreichen Hardware-Beschreibungssprachen (Hardare Description Language, HDL) voraus. Nicht jedem Hardware-Entwickler ist es jedoch in die Wiege gelegt, per „Register Transfer Level“-(RTL-)Code tausende von Logikzellen zu programmieren, um einen FPGA für sein Projekt anzupassen.

FPGA-Marktführer Xilinx ist dieser Umstand bewusst. Daher haben die Kalifornier lange – Xilinx spricht von 1000 Mannjahren – an einer Entwicklungsumgebung gearbeitet, die Anwendern genau diese Arbeit abnimmt. Zumindest zum größten Teil. Jetzt ist sie marktreif: Auf seinem „Xilinx Developer Forum“ (XDF), der hauseigenen Entwicklerkonferenz, hat das Unternehmen seine „Vitis Unified Software Platform“ angekündigt. Das ab November als kostenloser Download verfügbare Tool soll in der Lage sein, hauseigene Xilinx-FPGAs automatisch, ohne ausgewiesene Hardware-Expertise des Entwicklers, an die Software oder an algorithmischen Code anzupassen.

Bildergalerie

Mehrlagige Architektur, gewohnte Entwicklungsumgebung

Vitis – der Name leitet sich von Vitality (Dynamik) und Vitesse (Geschwindigkeit) ab – basiert auf einer mehrschichtige Stack-Architektur, die „nahtlos mit Standard Open-Source Entwicklungssystemen und Build-Umgebungen zusammenarbeitet“, verspricht der Hersteller.

Die Grundlage bildet demnach die FPGA-Hardware, also der Logikbaustein mit seiner variablen Fabric, samt Board mit vorprogrammiertem I/O-Schnittstellen. Darauf setzt Xilinx seine Open-Source-Laufzeitbibliothek XRT (Xilinx Runtime Library) samt Compiler, Analysewerkzeugen und Debugger auf. Diese sollen sich nahtlos in verbreitete Build-Systeme und Entwicklungsumgebungen integrieren lassen. Weitere Bestandteile dieser Schicht sind Subsysteme für den Datenfluss zwischen den unterschiedlichen Domains, die KI-Engine für das angekündigte Xilinx Versal ACAP sowie, falls erforderlich, ein externer Host.

Domain-spezifische Architektur unterstützt beliebte Frameworks

Der dritte Layer besteht aus acht Vitis-Libraries, die über 400 Funktionen für das Beschleunigen bestimmter Anwendungen enthalten, darunter Künstliche Intelligenz, Datenbanken, Finanzwesen und Kompression – also FPGA-Standardapplikationen. Software-Entwickler können darüber beschleunigte Funktionen über eine Standardprogrammierschnittstelle (Application Programming Interface, API) aufrufen.

Darüber liegt als vierte Schicht „Vitis AI“ – laut Xilinx „das wirklich bahnbrechende neue Element der Plattform“. Teil davon ist die Domain-spezifische Architektur (Domain Specific Architecture, DSA). Die DSA konfiguriert die zu optimierende und zu programmierende Xilinx-Hardware auf Basis von Frameworks wie TensorFlow, Caffe, FFmpeg oder Pytorch. Vitis AI stellt Tools zur Optimierung, Kompression und Kompilierung von trainierten AI-Modellen, die auf einem Xilinx-Baustein laufen, innerhalb von rund einer Minute bereit. Hier sind auch spezielle APIs angeflanscht, die das Entwickeln von Projekten vom Edge bis zur Cloud unterstützen.

Nach eigenen Angaben will Xilinx in Kürze eine weitere DSA herausbringen: „Vitis Video“. Diese soll Video-Encoding direkt aus FFmpeg heraus ermöglichen. Darüber hinaus können Anwender DSAs von Partnerfirmen nutzen, etwa Illumina, das das „Genome Analysis Toolkit“ (GATK) für Genom-Analysen nutzt, oder BlackLynx, das ElasticSearch für das Auswerten umfangreicher Datensätze (Big Data) nutzt.

Vitis setzt stark auf Open-Source-Software

Statt eine proprietäre Entwicklungsumgebung vorzuschreiben, arbeitet die Vitis-Plattform direkt mit verbreiteten und beliebten Software-Entwicklungs-Tools zusammen. Dazu nutzt das Produkt einen umfassenden Satz optimierter Open-Source-Bibliotheken. „Entwickler können sich so auf ihre Algorithmen konzentrieren“, sagt Victor Peng , President und Chief Executive Officer von Xilinx.

Erklärtes Ziel von Xilinx ist, mit Vitis einen breiteren Nutzerkreis als bisher anzusprechen und so die Vorteile der Hardware-Adaptierbarkeit mithilfe von FPGAs auch in neuen Märkten zu etablieren. Das Unternehmen nennt zum Beispiel einschließlich Software-Entwickler und Wissenschaftler, die an KI-Projekten arbeiten und eher den Umgang mit High-Level-Programmiersprachen wie Python oder C++ gewohnt sind.

Vivado und Vitis sollen zukünftig koexistieren

Auf einer dedizierten Webseite erhalten Vitis-Nutzer Zugriff auf Beispiele, Tutorials und Dokumentationen, sowie einen Zugang zur Vitis-Entwickler-Community bietet. Diese Site wird von Xilinx, Vitis-Experten und -Anwendern verwaltet. Sie bietet wertvolle Informationen über die neuesten Vitis Updates, Tipps und Tricks.

Der Hersteller positioniert Vitis unabhängig von der verbreiteten „Vivado Design Suite“. Und betont, dass das neue Produkt nicht als Ersatz gedacht ist. Vivado werde weiter unterstützt und Entwicklern weiterhin die Möglichkeit bieten, Hardware-Code zu programmieren.

Auf dem XDF hat Xilinx bereits erste Unternehmen präsentiert, die Vitis für eigene Projekte einsetzen. Dazu zählen zählen IBM (PowerAI-Vision-Software), Hitachi Automotive (Objekterfassung) und Micron (Beschleunigung neuer Datacenter-Funktionen). Da sich FPGAs flexibel an geänderte Modelle anpassen lassen – etwa optimierte neuronale Netze – und massiv-parallele Datenverarbeitung unterstützen, sieht sich Xilinx aufgrund seiner programmierbaren Schaltungen als gut positioniert.

(ID:46165940)