Die konfigurierbare Hardware-IP von Flex Logix für KI- und DSP-Workloads vereint FPGAs, Tensoreinheiten und Software

Nachricht

HeimHeim / Nachricht / Die konfigurierbare Hardware-IP von Flex Logix für KI- und DSP-Workloads vereint FPGAs, Tensoreinheiten und Software

Nov 11, 2023

Die konfigurierbare Hardware-IP von Flex Logix für KI- und DSP-Workloads vereint FPGAs, Tensoreinheiten und Software

Heute sprechen wir über KI, DSP, FPGAs, IP und SoCs. Normalerweise diese

Heute sprechen wir über KI, DSP, FPGAs, IP und SoCs. Normalerweise passen diese Dinge nicht alle zusammen. Sicherlich wurden FPGAs zur Implementierung von KI- und DSP-Algorithmen verwendet, obwohl KI- und DSP-Algorithmen im Allgemeinen unterschiedliche Arten von Berechnungen beinhalten. (Siehe „Eine kurze Geschichte des Single-Chip-DSP, Teil II“.) DSP-Designs sind dank der Fülle an Multiplikatoren/Akkumulatoren (MACs), die sie bereitstellen, größtenteils bei FPGA-Implementierungen geblieben, während das KI-Training auf GPUs verlagert wurde. Heutzutage hat sich die KI-Inferenz auf mehrere Hardware-Implementierungen verlagert, darunter erweiterte CPUs, dedizierte Chips, speziell entwickelte KI-Engines für SoCs und sogar FPGAs. Jetzt hat Flex Logix eine weitere Alternative eingeführt: konfigurierbare Hardware-IP, die speziell für die Ausführung von KI- und DSP-Workloads entwickelt wurde.

Flex Logix wurde 2014 gegründet und ist kein Neuling im Bereich konfigurierbarer Hardware-IP. Das Unternehmen bietet seit fast einem Jahrzehnt eingebettete FPGA (eFPGA) IP-Kacheln und Software von EFLEX an. Laut Geoff Tate, Mitbegründer und CEO von Flex Logix, hat das Unternehmen mittlerweile mehrere verteidigungsbezogene Kunden und mehr als ein halbes Dutzend kommerzielle Kunden mit 23 verschiedenen Chips in Großserienproduktion, die EFLEX eFPGAs integrieren. Beispiele für solche Geräte reichen von einem High-End-5G-MIMO-SoC eines ungenannten Kunden, der einen 100K-LUT (Lookup-Table) eFPGA zusammen mit mehreren digitalen Sende- und Empfangs-Frontends für die MIMO-Antennenschnittstelle integriert, bis hin zu einer neuen Reihe kleiner und kostengünstiger Geräte Renesas ForgeFPGAs mit 1K- bis 4K-LUTs, deren Volumen weniger als 50 Cent kosten kann.

Abbildung 1: Kleine, kostengünstige Renesas ForgeFPGAs basieren auf Flex Logix FPGA IP und die Entwicklungstools basieren auf den von Flex Logix bereitgestellten Tools. Bildnachweis: Flex Logix

Renesas ForgeFPGAs gehen auf Silego-Geräte zurück, über die mein Freund und Kollege Max Maxfield zuvor geschrieben hat. (Siehe „Es ist nicht viel passiert, oder doch?“ und „Renesas kündigt fabelhafte ForgeFPGA-Familie an.“) Dialog Semiconductor kaufte Silego im Jahr 2017 und wurde wiederum im Jahr 2021 von Renesas gekauft, wodurch Renesas zu einem FPGA-Anbieter wurde. Kleine Fische werden von größeren Fischen gefressen, die wiederum von noch größeren Fischen gefressen werden.

Die Renesas FPGAs stellen Entwicklern direkt eine Version der Flex Logix FPGA-Software zur Konfiguration von ForceFlex-Geräten zur Verfügung, was darauf hinweist, dass Flex Logix Systementwicklern direkt nutzbare Software bereitstellen kann. Dies ist eine wichtige Fähigkeit beim Einstieg in den KI-Markt, wo Sie Datenwissenschaftlern und Programmierern ohne Hardware-Entwicklungshintergrund die einfache Nutzung Ihrer Produkte ermöglichen möchten.

In vielerlei Hinsicht gehen diese neuen Flex Logix InferX-Hardwarekacheln auf die eFPGA-Kacheln des Unternehmens zurück. Bei InferX IP-Kacheln handelt es sich um gehärtetes IP, das von Flex Logix an einen Kunden für einen bestimmten IC-Fertigungsknoten in einer bestimmten Gießerei geliefert wird. Auf diese Weise ähnelt InferX IP genau der EFLEX FPGA IP des Unternehmens. Im Fall der InferX-IP zielt Flex Logix zunächst auf den 5-nm-Prozessknoten N5 von TSMC ab, das Unternehmen gibt jedoch an, dass jeder FinFET-Prozess ein Kandidat für diese IP ist.

Darüber hinaus führen KI- und DSP-Algorithmen eine große Anzahl von Multiplikations-/Akkumulationsoperationen aus. FPGAs, einschließlich der Flex Logix eFPGA-Kacheln, bieten im Allgemeinen viele, viele Multiplikatoren/Akkumulatoren, um all diese Vorgänge in Echtzeit auszuführen, aber diese MACs sind in die FPGA-Struktur eingebettet wie die Rosinen im köstlichen Freitagabend-Rezept für Milchreis meiner Großmutter. die relativ selten waren. In einem FPGA sind gehärtete MACs von der Verbindungsstruktur des FPGA umgeben, um die Erstellung jeder Art von Ausführungspipeline zu ermöglichen. Allerdings benötigen KI- und DSP-Algorithmen diese Art von Flexibilität nicht – ihre Berechnungspipelines sind weitaus regelmäßiger –, sodass der Silizium-Overhead der Routing-Strukturen eines FPGA überflüssig ist und entfernt werden kann. Dieser Silizium-Overhead ist erheblich und kann laut Tate bis zu 80 % des Siliziums im Bereich in und um die MACs ausmachen.

Stattdessen hat Flex Logix sein MAC-Design übernommen, es für KI- und DSP-Operationen verbessert und eine festverdrahtete Tensoreinheit geschaffen, die eine große Anzahl von MACs mit einer gehärteten Verbindung verbindet, genau wie ein SoC konzipiert wäre. Die resultierende InferX-Hardware-IP-Kachel kombiniert vier dieser Tensoreinheiten mit einzelnen L2-SRAM-Caches und einem kleineren eFPGA, der zum Konfigurieren und Verbinden der Tensoreinheiten verwendet wird, wie in Abbildung 2 unten dargestellt.

Abbildung 2: Die Hardware-IP-Kachel von Flex Logix InferX kombiniert vier dieser Tensoreinheiten mit einem kleinen eFPGA, der zur Konfiguration und Verbindung der Tensoreinheiten verwendet wird. Bildquelle: Flex Logix

Laut Flex Logix skalieren die Rechenkapazitäten dieser InferX-Kacheln mehr oder weniger linear, sodass das SoC-Entwicklungsteam eine Kachel, vier Kacheln, acht Kacheln und möglicherweise mehr integrieren kann, um die Systemverarbeitungsanforderungen zu erfüllen. Abbildung 3 unten zeigt die Leistungsfähigkeit von 1-, 2-, 4- und 8-Kachel-InferX-Instanziierungen für einige häufig verwendete KI-Modelle.

Abbildung 3: SoC-Entwickler können mehrere InferX-Kacheln instanziieren, um das für ihre Anwendung erforderliche Leistungsniveau zu erreichen. (Hinweis: IPS = Inferenzen pro Sekunde.) Bildnachweis: Flex Logix

Wie Abbildung 3 zeigt, kann eine einzelne InferX-Kachel mehrere KI-Bilderkennungsmodelle mit unterschiedlichen Bildauflösungsgraden implementieren. Eine InferX-Instanziierung mit zwei Kacheln verdoppelt die Leistung im Vergleich zu einer Implementierung mit einer Kachel ungefähr, und Instanziierungen mit 4 und 8 Kacheln steigern die Leistung weiter. Wie aus Abbildung 3 hervorgeht, ist die Leistungssteigerung manchmal linear, manchmal superlinear. und manchmal ist es sublinear. Die durch die Erhöhung der Anzahl der InterX-Kacheln gewonnene Leistung hängt von der Speicherkapazität (ein oder zwei LPDDR5-SDRAMs), der E/A-Sättigung und anderen Engpässen auf Systemebene ab.

Die erforderliche Subsystemleistung variiert natürlich je nach Endanwendung. Ein Rennwagen, der mit 200 Meilen pro Stunde fährt, stellt hinsichtlich der Schlussfolgerungen pro Sekunde (IPS) weitaus höhere Anforderungen an die Bildverarbeitungsleistung als ein Lieferroboter, der sich mit einigen Meilen pro Stunde bewegt. Beachten Sie, dass sich die in Abbildung 3 gezeigten Leistungsspezifikationen auf Bilder pro Sekunde (IPS) beziehen und nicht auf die TOPS-Zahlen (Billionen Operationen pro Sekunde), die andere Anbieter als Proxy für die tatsächliche KI-Leistung verwenden. Das liegt daran, dass InferX-Kacheln für dedizierte Echtzeitaufgaben in eingebetteten Geräten konzipiert und konfiguriert sind und daher entsprechend skaliert und programmiert/konfiguriert werden. Tate sagt, wenn der potenzielle Kunde anfängt, nach TOPS zu fragen, spricht der Verkäufer wahrscheinlich mit dem falschen Interessenten. Laut Tate ist die Leistung bestimmter KI-Modelle wichtig für SoCs, die Kandidaten für InferX-Kacheln sind.

Die Software, die Flex Logix InferX-Kunden zur Verfügung stellt, stellt die FPGA-Konfiguration oder Tensor-Engine-Programmierung nicht direkt den Entwicklern zur Verfügung. Stattdessen beginnt der Entwickler mit einem KI-Modell, das in einem Framework für maschinelles Lernen wie Caffe, TensorFlow, PyTorch oder mxnet trainiert wird. Diese trainierten KI-Modelle verwenden alle Gleitkomma-Arithmetik, die für die Inferenz nicht erforderlich ist. Daher ist der erste Schritt bei der Konvertierung des KI-Modells für die Verwendung mit der InferX-Kachel ein Modellquantisierer, der die Gleitkommawerte in 8-Bit-Ganzzahlen umwandelt . Anschließend ordnet ein Graph-Compiler und Operator-Compiler das Modell der InferX-Architektur zu, um eine InferX-Laufzeitkonfiguration, die das Unternehmen „Softlogic“ nennt, und Treibersoftware mit API-Aufrufen auszugeben. Da die InferX-Hardware-IP konfigurierbar ist, können KI-Modelle in Mikrosekunden gegen neue ausgetauscht werden, ähnlich wie bei der Verwendung von Software-Overlays für Mikroprozessoren. Insgesamt bezeichnet das Unternehmen die InferX-Kachel- und KI-Software gemeinsam als „InferX AI“.

Im Moment mögen KI-Anwendungen den Löwenanteil der Presse und des Hypes erhalten, aber Flex Logix hat herausgefunden, dass seine InferX-Kacheln derzeit hauptsächlich für DSP-Algorithmen verwendet werden, die auch viele MACs ausführen müssen. Deshalb hat das Unternehmen ein ähnliches Paket aus InferX-Kacheln und DSP-Software erstellt, das praktischerweise „InferX DSP“ genannt wird. Laut Tate besteht der Hauptmarkt für InferX DSP im Ersatz von Xilinx-Geräten, insbesondere Xilinx Versal FPGAs und Zynq SoCs und MPSoCs, die Arm-CPUs mit Xilinx FPGA Fabric kombinieren. Wenn ein Unternehmen bereits den Aufwand und die Kosten für die Entwicklung eines SoC aufwendet, um diese serienmäßigen Xilinx-Geräte zu ersetzen, können potenzielle Kosteneinsparungen durch die Integration einer oder mehrerer InferX-Kacheln in den SoC zur Ausführung der MACs erzielt werden.

Flex Logix bietet High-Level-Software, die gängige DSP-Algorithmen wie FFTs, FIR-Filter und komplexe Matrixinversionen implementiert. Sowohl für InferX AI als auch für InferX DSP läuft der resultierende IP-Block als Slave-Beschleuniger, verbunden über eine AXI-Schnittstelle. Aufgrund der Art des DSP kann Flex Logix auch eine Streaming-Schnittstelle mit zwei Ports für die InferX-Kachel bereitstellen. Da die meisten DSP-Kunden bereits wissen, welche Algorithmen ihre Designs benötigen, ist der gesamte SoC-Designzyklus derzeit für Designs, die InferX DSP verwenden, im Vergleich zu InferX AI viel kürzer, sagte Tate.