BittWare bietet Beschleunigungskarten mit Unterstützung von Open FPGA Stack (OFS) und Intel® oneAPI an

BittWare bietet bei seinen FPGA-Lösungen mit Open FPGA Stack (OFS) Unterstützung für oneAPI.

Überblick

  • OFS beinhaltet ein Intel® oneAPI Accelerator Support Package und ermöglicht es Entwicklern, die Vorteile der FPGA-Neuprogrammierbarkeit zu nutzen und dabei durch oneAPI vertraute Programmiersprachen wie C/C++ und Entwicklungsumgebungen wie Visual Studio und Eclipse verwenden zu können.

  • BittWare bietet führende Beschleunigerkarten mit Intel Agilex® 7 FPGA an, bei denen dank der Unterstützung von OFS und oneAPI sowohl RTL- als auch C/C++-Entwicklungsabläufe möglich sind.

  • Bislang gibt es von BittWare zwei Beschleuniger mit OFS- und OneAPI-Unterstützung, die PCIe*-Beschleuniger IA-840f und IA-420f.

  • BittWare stellt oneAPI-Anwendungsbeispiele mit herunterladbarem Code zur Verfügung, darunter eine High-Performance-Computing-Anwendung (HPC), die von OpenCL* auf oneAPI portiert wurde.

author-image

Von

Kurzübersicht:

BittWare entwickelt seit über 20 Jahren FPGA-basierte Beschleunigerlösungen mit Intel FPGAs. Im Rahmen seiner jüngsten Migration auf die neuesten Intel Agilex® 7 FPGAs möchte BittWare bei seinen FPGA-Lösungen Unterstützung für oneAPI bieten. Zu diesem Zweck entschied sich BittWare für den Open FPGA Stack (OFS) und dessen Open-Source oneAPI Accelerator Support Package (ASP), um die Kompilierung von High-Level-Design-Kernels (HLD) für Anwendungen auf ihren Plattformen mit Intel Agilex FPGA zu ermöglichen.

Hintergrund und Herausforderungen

Intel führte die Produktreihe Intel Agilex 7 im Jahr 2019 ein. Seitdem wurde die Intel Agilex Produktreihe um mehrere FPGAs mit geringem bis hohem Leistungsbedarf und unterschiedlichen Logikdichten für verschiedenste Anwendungen erweitert. Die Intel Agilex 7 FPGA-Reihe ist die ursprüngliche, hochleistungsfähige Intel Agilex FPGA-Produktreihe. Die FPGA-Reihe umfasst die leistungsstärksten FPGAs der Branche, die etwa die 2-fache Fabric-Verarbeitungsleistung pro Watt1 von FPGAs neuester Generation der Konkurrenz bieten. Die neuen Intel Agilex FPGAs sind leistungsstärker, verbrauchen weniger Energie und bieten I/O-Funktionalität wie PCIe* 4.0 und 5.0, was für eine Vielzahl von bandbreiten-, rechen- und speicherintensiven Anwendungen wichtig ist.

Diese Leistungsverbesserungen bringen den Kunden von BittWare einen höheren Nutzen, sei es mehr Verarbeitungsleistung pro Watt für Edge-Systeme oder höhere Rechendichte für das Rechenzentrum. Für HPC-Anwendungen (High-Performance-Computing) ermöglichen FPGAs maßgeschneiderte Anwendungen, mit denen Workloads und Halbleitertechnik besser aufeinander abgestimmt werden können als mit Universalbeschleunigern. Intel und BittWare kooperierten bei der Portierung eines HPC-Workloads vom Barcelona Supercomputing Center auf die IA-840f-Karte mittels oneAPI, was eine Beschleunigung auf das 233-Fache erbrachte. Dieses Projekt wird im On-demand-Webinar von BittWare mit dem Titel Hochleistungsberechnungen mit Intel Agilex FPGAs der nächsten Generation thematisiert.

BittWare bietet außerdem Ressourcen für hochwertige Programmiertools, wie etwa Whitepaper mit herunterladbarem Beispielcode. Diese Ressourcen zeigen, wie hochwertige Tools den Entwicklungsprozess beschleunigen und gleichzeitig die hohe Leistung von Intel Agilex 7 FPGAs nutzen.

Tools wie oneAPI stellen eine parallele Programmiersprache bereit, die eine Abstraktion der FPGA-Entwicklung ermöglicht, um die Entwicklungs- und Debug-Zeit zu reduzieren. Vergleichbar mit NVIDIAs CUDA* oder AMDs ROCm*, bietet oneAPI eine parallele Programmiersprache, Data Parallel C++ (DPC++), die das SYCL-Programmiermodell implementiert. Intels oneAPI-Distribution ist jedoch auch eine Lösung für eine einheitliche Programmierumgebung, ein Toolset und Bibliotheken nicht nur für GPUs, sondern auch für CPUs, FPGAs und VPUs wie Gaudi/Gaudi2-KI-Prozessoren.

Mit oneAPI können Entwickler, die mit der FPGA-Programmierung weniger vertraut sind, von der flexiblen und neu programmierbaren Architektur profitieren, die FPGAs eigen ist, und gleichzeitig vertraute Design-Sprachen wie C/C++ und Entwicklungsumgebungen wie Visual Studio oder Eclipse verwenden. High-Level-Design-Abläufe mittels oneAPI erhöhen auch die Portabilität von Workloads für verschiedene Architekturen (CPUs, GPUs, FPGAs) und Board-Anbieter.

BittWare gehört zur Molex-Unternehmensgruppe und ist seit langem ein Partner von Intel, der FPGA-Hardware-Beschleunigungsprodukte der Enterprise-Klasse entwickelt und herstellt, damit Kunden ihre Lösungen schneller und mit geringerem Risiko bereitstellen können. Als Marktführer für FPGA-Beschleuniger seit 20 Jahren hat BittWare von den frühesten Intel Stratix® und Intel Arria® FPGAs inzwischen auf die neueste Intel Agilex Produktreihe umgestellt. Bei der Einführung seiner neuesten Version der „IA“-Karten mit Intel Agilex FPGA wollte das Unternehmen die OFS-Infrastruktur nutzen, um oneAPI-Entwicklungsabläufe auf seiner Plattform zu ermöglichen.

Lösung

Um sicherzustellen, dass seine Beschleuniger den oneAPI-Entwicklungsablauf ermöglichen, nutzte BittWare die neueste Open-Source-FPGA-Entwicklungsressource und -infrastruktur: OFS. OFS ist die erste komplette Hardware- und Software-Infrastruktur, die vollständig quelloffen ist und kombinierbaren Hardware-Code sowie Upstream-Kernel-Code auf kernel.org umfasst, um eine kooperative Community von FPGA-Entwicklern zu ermöglichen.

Die OFS-Infrastruktur besteht aus einem FPGA Interface Manager (FIM), gemeinhin als „Shell“ bezeichnet, und einer AFU-Region (Accelerator Functional Unit), die für die Workload-Entwicklung vorgesehen ist. Mit OFS können Board-Entwickler die Open-Source-Infrastruktur nutzen, um schnell einen kundenspezifischen FIM für ihr Board zu entwickeln, der auf die Zielanwendung oder die Zielbranche zugeschnitten ist. Darüber hinaus umfasst OFS ein Open-Source-Software-Framework, mit dem Entwickler Upstream-/Open-Source-Kernel-Treiber nutzen können, um die Integration in gängige Frameworks zu beschleunigen. Die OFS-Infrastruktur trägt der Nachfrage nach FPGA-Beschleunigungskarten und -Workloads Rechnung, indem sie eine leistungsstarke Methode für die schnelle Entwicklung von FPGA-Beschleunigungssystemen bereitstellt. Die bereitgestellte OFS-Hardware- und -Software-Infrastruktur kann ohne weiteres genutzt oder schnell angepasst werden, um neuen und dynamischen Marktanforderungen zu entsprechen.

Das von Intel bereitgestellte oneAPI-Basis-Toolkit beinhaltet einen Compiler und eine Runtime-Umgebung. Der Compiler konvertiert einen SYCL-Kernel oder den Code einer FPGA-Anwendung in eine Hardware-Schaltung. Diese Hardware-Schaltung erfordert zusätzliche Logik für die Kommunikation mit der Runtime und mit Peripheriekomponenten des FPGA-Boards. OFS bietet diese zusätzliche Logik im oneAPI-ASP. oneAPI-ASP ist in den Open-Source-OFS-GitHub-Repositories enthalten und wird für die Kompilierung und Ausführung von HLD-Anwendungskernels auf OFS-unterstützten Plattformen benötigt. Die entsprechende technische Dokumentation wird ebenfalls bereitgestellt und enthält eine Kurzanleitung für die Einrichtung des Intel oneAPI Base Toolkit auf einer OFS-Plattform.

Mit den bereitgestellten Open-Source-OFS-Repositories und der Dokumentation konnte BittWare den oneAPI-Design-Ablauf (nicht-RTL) mit wenigen zusätzlichen Änderungen auf seinen Intel Agilex Produkten implementieren.

Ergebnisse

BittWare war der erste Anbieter auf dem Markt mit Intel Agilex FPGAs der F-Reihe. Die folgende Tabelle stellt die beiden Boards dar, die mit der OFS-Infrastruktur und oneAPI-ASP entwickelt wurden.

PCIe-Karte IA-420f

PCIe-Karte IA-840f

  • FPGA: Intel Agilex 7 FPGA, AGF014
  • Anwendungen: Advanced Analytics, künstliche Intelligenz, Cloud-Computing, Fabrikautomation und HPC
  • Netzwerktechnik: QSFP-DD, 1 x 200 Gbit/s
  • Arbeitsspeicher: 2 Gbit Flash-Speicher, 2 x 8 GB DDR4-SDRAM
  • Formfaktor: HHHL, einzelner Steckplatz
  • PCIe: 4.0 x16
  • oneAPI-fähig: Ja
  • FPGA: Intel Agilex 7 FPGA, AGF027
  • Anwendungen: Advanced Analytics, künstliche Intelligenz, Cloud-Computing, Fabrikautomation und HPC
  • Netzwerktechnik: 3 x QSFP-DD, 3 x 200GbE
  • Arbeitsspeicher: 2 Gbit Flash-Speicher, 3 x 32 GB DDR4-SDRAM, 2 x DIMM mit Unterstützung von 32 GB DDR4
  • Formfaktor: FH¾L, zwei Steckplätze
  • PCIe: 4.0 x16
  • oneAPI-fähig: Ja

Unseren Kunden Zugang zu leistungsstarker Halbleitertechnik mit einem einfachen Entwicklungsablauf zu ermöglichen, ist eine Erfolgsformel, insbesondere da diese neueste Generation der Intel Agilex FPGA-Produkte eine so deutliche Leistungsverbesserung bietet. Unsere Arbeit mit oneAPI hat sich für eine Reihe von Benutzern gelohnt, um Lösungen schneller auf den Markt zu bringen und gleichzeitig hohe Leistung zu erhalten.

Craig Petrie, Vice President, BittWare

Einstieg in die FPGA-Beschleunigung mit OFS

FPGA-Entwickler können zwischen den OFS-fähigen BittWare-Karten IA-420f und IA-840f wählen und die Open-Source-Dokumentation und den Quellcode nutzen, um mit der Entwicklung ihres individuellen Workloads zu beginnen.

Die folgende Aufstellung zeigt, wie ein Entwickler mit der FPGA-basierten Workload-Entwicklung für eine BittWare-Beschleunigungskarte beginnen kann.

Nutzen Sie FPGA-Beschleunigung für Ihre Workload

Schritt 1: Wählen Sie ein Board

OFS-fähige Karten von BittWare, IA-420f und IA-840f.

Schritt 2: Evaluieren Sie OFS-Open-Source-Ressourcen

BittWare wird die entsprechende Version der technischen OFS-Dokumentation bereitstellen.

Schritt 3: Greifen Sie auf Open-Source-Hardware- und Softwarecode zu

BittWare wird den entsprechenden OFS-Software- und Hardwarecode bereitstellen. Dies ist die spezifische Distribution des OFS-Basiscodes von BittWare (bereitgestellt von Intel).

Schritt 4: Entwickeln Sie Ihre Workload mit RTL oder C/C++ (unter Einsatz von oneAPI)

Folgen Sie dem OFS-RTL-Ablauf

ODER

OFS ermöglicht eine Kompilierung von oneAPI-Kernels. Folgen Sie dem Ablauf der oneAPI-Entwicklung und entwickeln Sie FPGA-Workloads in C/C++.