Kurzübersicht:
Nach der Einführung der Intel® Agilex FPGA-Reihe im Jahr 2019, die nun weithin als die leistungsstärksten 7-nm-FPGAs der Branche gelten1, hat Hitek Systems daran gearbeitet, Intel Agilex FPGAs in seine eigene Reihe von Hochleistungs-Beschleunigern (HiPrAcc™) zu integrieren. Nach der Evaluierung der aktuellen Design- und Entwicklungsabläufe für Boards kam Hitek Systems zu dem Schluss, dass standardisierte Entwicklungsabläufe zur Maximierung der Wiederverwendung und Beschleunigung von Markteinführungen der steigenden Nachfrage nach FPGA-basierten Beschleunigern besser gerecht werden würden.
Darum hat Hitek Systems die Open-Source-basierte Hardware- und Software-Infrastruktur Open FPGA Stack (OFS) integriert. Durch Nutzung von grundlegenden OFS-Hardware- und -Softwarekomponenten in Kombination mit Open-Source-basierter technischer Dokumentation vereinfachte sich der Entwicklungsablauf und wurden Wiederverwendung und Portabilität in allen PCIe-Beschleunigern der Produktreihe verbessert.
Heute hat Hitek Systems zwei Intel Agilex 7 FPGA-basierte Beschleunigerplattformen im Angebot, die OFS-Infrastruktur nutzen; weitere werden 2023 und 2024 folgen.
Hintergrund und Herausforderungen
Hitek Systems ist ein Unternehmen mit Sitz in Germantown, Maryland, das sich auf modernste High-End-Boards und Entwicklungsplattformen mit FPGA-Technik, Netzwerktechnik und Forward Error Correction (FEC) Intellectual Property (IP) Cores, FPGA-Firmware, FPGA-Designservices, Gerätetreiber und Anwendungsprogrammierschnittstellen (APIs) spezialisiert hat. Hitek Systems entwickelt alles intern, was ein flexibles Geschäftsmodell ermöglicht, das bei der Entwicklung von kundenspezifischen Boards für eine beschleunigte Markteinführung genutzt werden kann.
2019 hat Intel die Intel Agilex FPGA-Reihevorgestellt. Seitdem wurde die Intel Agilex FPGA-Reihe erweitert, um bei verschiedenen Anwendungen niedrige bis hohe Leistungs- und Logikdichten zu erlauben. Die Intel Agilex 7 FPGA Produktreihe umfasst die leistungsstärksten FPGAs der Branche und bietet eine ca. 2-mal höhere Fabric-Leistung pro Watt als konkurrierende 7-nm-FPGAs1. Die Intel Agilex 7 FPGAs und SoC-FPGAs sind derzeit in der F-, I- und M-Reihe verfügbar und eignen sich für eine Vielzahl von bandbreiten-, rechen- bzw. arbeitsspeicherintensiven Anwendungen.
2023 bieten die Intel Agilex FPGA-Reihen noch immer die branchenweit höchste Leistung und sind zu einem festen Bestandteil der FPGA-Branche-geworden, wenn es auf herausragende Leistung und Energieeffizienz ankommt. So ist die Nachfrage der Endbenutzer nach Intel Agilex FPGA-basierten Beschleunigungskarten erst in letzter Zeit gewachsen, insbesondere nach solchen, die mit oneAPI übergeordnete Entwicklungsabläufe unterstützen.
Die Entwicklung von benutzerdefinierten FPGA-basierten Boards von Grund auf ist jedoch kompliziert und zeitintensiv, insbesondere da Hochleistungs-FPGAs an die Grenzen der Leistung von PCIe-Karten stoßen. Darüber hinaus ist die Portierung bestehender FPGA-Designs auf FPGAs anderer Hersteller oder FPGAs anderer Modelle auch aufgrund der IPs, Tools, Bibliotheken und integrierten Hardware verschiedener Hersteller – wie doppelte Datenrate (DDR), digitale Signalverarbeitung (DSP) und I/Os, die zwischen Herstellern und FPGA-Reihen variieren – eine bekanntermaßen schwierige Aufgabe.
Ohne wiederverwendbare und standardisierte Infrastruktur müssen bei unterschiedlichen benutzerdefinierten Boards separat verschiedene Board Support Packages (BSPs) erstellt, entwickelt und gepflegt werden. Außerdem werden für jede FPGA-Karte benutzerdefinierte APIs und Software-Tools benötigt, was die Verwaltung und Pflege zwischen verschiedenen FPGA-Reihen und Tool-Versionen erschwert. Das breite Spektrum an Karten, die verschiedene APIs, Tools und Versionen verwenden, erfordert zudem ein hohes Maß an Kundensupport.
Um die neueste und leistungsstärkste FPGA-Technik nutzen, den Bedarf des Marktes erfüllen und unsere Lösungen früher auf den Markt bringen zu können, musste Hitek Systems einen standardisierten und einheitlichen Ansatz für sein Board-Portfolio einführen.
Lösung
Um Anbietern von FPGA-Boards und Workloads zu helfen, ihre Lösungen zu skalieren und früher auf den Markt zu bringen, hat Intel die OFS-Infrastruktur entwickelt und auf Open-Source-Basis bereitgestellt. Dabei handelt es sich um ein wichtiges grundlegendes Tool für auf Intel Agilex FPGA-basierende Entwicklungen. OFS bietet den gesamten Hardware- und Software-Quellcode, Dokumentation, Referenzbeispiele und Tools, die für den schnellen Einstieg in eine FPGA-basierte Entwicklung in einem Open-Source-GitHub-Repository benötigt werden. Diese Referenzinfrastruktur enthält alle erforderlichen Komponenten, die Board-Entwickler anpassen oder nutzen können.
Die OFS-Infrastruktur dient als einheitlicher Ansatz für die Entwicklung und Pflege von BSPs in der gesamten HiPrAcc-Board-Reihen von Hitek Systems. Diese Infrastruktur besteht aus einem FPGA Interface Manager (FIM), gemeinhin als „Shell“ bezeichnet, und einer Accelerator Functional Unit (AFU)-Region, die für die Workload-Entwicklung vorgesehen ist. Mit OFS können Board- oder FIM-Entwickler die Open-Source-Infrastruktur (oder Basis-FIM) nutzen, um schnell einen maßgeschneiderten, auf die Zielanwendung oder Branche zugeschnittenen FIM für ihr Board zu entwickeln. 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. OFS bietet weitere Funktionen wie teilweise Neukonfiguration, übergeordnete Entwicklungsabläufe wie oneAPI und Standard-Arm-AMBA*- und AXI-Schnittstellen. OFS ermöglicht es Board-Entwicklern, eine einheitliche AFU-Schnittstelle zu übertragen, sodass ihre Kunden, die AFU-Entwickler sind, ihre IP-Investitionen mit verschiedenen FPGA-Boards nutzen können.
Durch Einführung der OFS-Infrastruktur und des OFS-Entwicklungsablaufs sowie den Einsatz der bereitgestellten Basis-FIMs konnte Hitek Systems bei allen FPGA-Reihen und Tool-Flows für mehr Standardisierung und Portabilität sorgen. Das erlaubt uns eine schnelle Entwicklung unserer BSPs mit mehr Wiederverwendungsmöglichkeiten auf verschiedenen Plattformen und bietet unseren Kunden ein einheitliches und vorhersehbares AFU-Design-Erlebnis.
Ergebnis
Hitek Systems entwickelt und liefert eine Reihe von Hochleistungs-Beschleunigern (HiPrAcc) auf Basis von Intel Agilex 7 FPGAs aus, die auf Netzwerktechnik-, Rechen- und On-Card-Speicheranwendungen abzielen. Die Karten sind in verschiedenen PCIe-basierten Formfaktoren verfügbar, einschließlich Low Profile (HHHL-SS), Full Height (FHHL-SS) und GPU-Profil (FH¾L-DS). GPU-Profilkarten können in jeden Server gesteckt werden, der NVIDIA-GPUs unterstützt.
HiPrAcc NC100 Board | HiPrAcc NCS200 Board |
---|---|
|
|
Hitek Systems entwickelt außerdem zwei weitere HiPrAcc PCIe-Karten, die die Intel Agilex 7 FPGAs der F-Reihe und I-Reihe mit R- und F-Tiles verwenden. Die Produktion der zusätzlichen Boards wird bis Ende 2023 beginnen.
Durch die Zusammenarbeit mit Intel und die Verwendung des seit Kurzem Open-Source-basiert erhältlichen OFS haben wir den Entwicklungsprozess für FPGA-Support-Pakete vereinfacht. Das gilt insbesondere für unsere HiPrAcc PCIe-basierten Beschleunigerkarten. Durch OFS in Kombination mit unseren Intel Agilex FPGA PCIe-Karten konnten für unsere Kunden die zeitraubenden, kleinen Feinheiten der FPGA-Anwendungsentwicklung abstrahiert werden.
So geht man die FPGA-Beschleunigung unter Einsatz von Open FPGA an
FPGA-Entwickler können zwischen HiPrAcc NC100 oder HiPrAcc NCS200 OFS-fähigen Boards von Hitek Systems wählen und die Open-Source-Dokumentation sowie den Quellcode nutzen, um mit der Entwicklung ihrer benutzerdefinierten Workload zu starten.
Die folgende Tabelle zeigt, wie ein Entwickler unter Verwendung eines Beschleunigungsboards von Hitek Systems mit der Entwicklung FPGA-basierter Workloads beginnen kann.
Nutzen Sie FPGA-Beschleunigung für Ihre Workload |
|
---|---|
Schritt 1: Wählen Sie ein Board |
OFS-fähige Boards von Hitek Systems, das HiPrAcc NC100 oder das HiPrAcc NCS200. |
Schritt 2: Evaluieren Sie OFS-Open-Source-Ressourcen |
Hitek Systems wird die entsprechende Version der technischen OFS-Dokumentation bereitstellen. |
Schritt 3: Greifen Sie auf Open-Source-Hardware- und Softwarecode zu |
Hitek Systems wird den entsprechenden OFS-Software- und Hardwarecode bereitstellen. Das ist die spezifische Distribution des OFS-Basiscodes von Hitek Systems (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. Nutzen Sie den oneAPI-Entwicklungsablauf und entwickeln Sie FPGA-Workloads in C/C++. |