Übersicht- Das VectorBlox™ Accelerator SDK stellt eine softwarebasierte KI/ML-Inferenz-Engine bereit, optimiert für Microchip PolarFire® und PolarFire SoC FPGAs, mit Schwerpunkt auf energieeffizienter Convolutional Neural Network (CNN)-Inference und Videopipelines.
- Wesentliche Fähigkeiten: Softwarebereitstellung ohne Neuprogrammierung des FPGA, Unterstützung sparsamer Netze (strukturierte und unstrukturierte Kompression) sowie konfigurierbare Performance-/Energiekompromisse.
Kompression und SpeichereffizienzDas SDK (VectorBlox 3.x) reduziert Speicherbedarf und Datenbewegungen durch strukturierte und unstrukturierte Kompressionstechniken. Strukturierte Kompression zielt auf regelmäßig angeordnete Daten (Gewichte, Aktivierungen, Feature-Maps) und ermöglicht deterministische, hardwareseitig geringe Dekompressionskosten. Unstrukturierte Kompression speichert nur Nicht-Null-Werte mit Indizes zur Unterstützung sparsamer und unregelmäßiger Datenmuster, wodurch größere Modelle oder höher aufgelöste Daten innerhalb fester Speicher-/Bandbreitenbeschränkungen auf Edge-Systemen möglich werden.
KI-Modellunterstützung und Toolchain- Breite Framework-Unterstützung: TensorFlow, TensorFlow Lite, ONNX und OpenVINO.
- Quantisierungs- und Konvertierungstools enthalten, um FP32-Modelle in INT8 zu konvertieren und Modelle für die VectorBlox-Laufzeit vorzubereiten.
- Die Kompilierungstools erzeugen Binärdateien und Gewichte; Laufzeit-Assets werden in nichtflüchtigem Speicher (typischerweise SPI Flash) abgelegt und beim Einschalten in DDR geladen.
CoreVectorBlox IP und ArchitekturDie CoreVectorBlox IP bietet eine konfigurierbare Beschleunigerarchitektur mit Merkmalen wie:
- Mehrere Größenkonfigurationen zur Anpassung an Anwendungs-/Leistungsanforderungen.
- Overlay-Architektur zur Unterstützung mehrerer Netze auf einem Kern mit dynamischem Umschalten.
- Konfigurierbare AXI4-Master-Speicherschnittstelle (64-Bit bis 256-Bit) und AXI4-Lite für Steuerung/Status.
- Speicherbasierte Architektur mit Memory-mapped I/O-Unterstützung.
- Interner Vektorprozessor für allgemeine neuronale Netze und ein dedizierter CNN-Beschleuniger für Faltungs-Schichten.
Referenzdesign und VideopipelineDas PolarFire SoC Referenzdesign für Evaluation integriert Kamera- und Videopipelines, einschließlich MIPI CSI-2 Kameraeingang, HDMI-Eingang, einem Image Signal Processing (ISP)-Pipeline, der VectorBlox AI-Engine und HDMI-Ausgang zur Ergebnisanzeige. Das SDK unterstützt schnelles Prototyping mit voroptimierten CNNs und Simulationswerkzeugen zur Bewertung vor dem Einsatz.
Stromverbrauch und Edge-DeploymentDie Lösung richtet sich an energiearme Edge/Embedded-Anwendungen, mit energieeffizienter Inferenz und Videopipelines, die in bewerteten Konfigurationen unter 5 W liegen. Die Konfigurierbarkeit ermöglicht die Balance zwischen Durchsatz und Energieverbrauch für spezifische Anwendungsfälle.
Erste Schritte (High Level)- Schritt 1: Installieren Sie das VectorBlox™ SDK und konsultieren Sie das Programmer's Guide sowie die beigefügte Dokumentation.
- Schritt 2: Konvertieren und quantisieren Sie Ihr CNN mit den bereitgestellten Tutorials/Konvertierungstools, um INT8-Modelle für das SDK vorzubereiten.
- Schritt 3: Evaluieren Sie mit dem PolarFire SoC Video Kit (Referenzdesign verfügbar), um Kamera/ISP/AI-Pipelines auf Zielhardware zu validieren.
- Schritt 4: Installieren Sie die Libero® SoC Design Suite, um Referenzdesign-Komponenten zu betrachten oder neu zu erstellen.
- Schritt 5: Erzeugen und verschmelzen Sie die benötigten Libero- und CoreVectorBlox-Lizenzen gemäß den Libero Quick-Start-Anweisungen vor finalen Hardware-Builds.
Demo- und Deployment-FlowDer Entwicklungsfluss umfasst die Vorbereitung trainierter Modelle (Quantisierung und Kompression), die Kompilierung zu VectorBlox-Binärdateien und Gewichten, das Speichern der Assets in SPI Flash und das Laden in DDR zur Laufzeit. Das SDK unterstützt sparsity-aware Mappings, um Netzwerk-Sparsity direkt in FPGA-Hardware auszunutzen und den Durchsatz zu verbessern.
Eigenschaften / technische Spezifikationen- Unterstützte Geräte: PolarFire® FPGAs und PolarFire SoC FPGAs.
- Unterstützte AI-Frameworks: TensorFlow, TensorFlow Lite, ONNX, OpenVINO.
- Quantisierung: FP32 -> INT8 Konvertierungstools vorhanden.
- Kompression: Strukturierte und unstrukturierte Kompression für Gewichte/Aktivierungen/Feature-Maps; sparse Speicherung von Nicht-Null-Werten und Indizes.
- Schnittstellen: MIPI CSI-2 (Kamera), HDMI Ein-/Ausgang, SPI Flash für nichtflüchtigen Speicher, DDR für Laufzeitdaten.
- Bus/Steuerung: Konfigurierbarer AXI4-Master (64–256 Bit) und AXI4-Lite Steuerinterface.
- IP-Funktionen: Overlay-Architektur, interner Vektorprozessor, CNN-Beschleuniger.
- Typischer bewerteter Verbrauch: Inferenz und Videopipelines < 5 W (konfigurationsabhängig).
- Referenzhardware: PolarFire SoC Video Kit (Referenzdesign verfügbar für Kamera/ISP/AI-Evaluation).
- Erforderliches Design-Tool: Libero SoC Design Suite zur Rekonstruktion oder Inspektion von Referenzdesignkomponenten; Lizenzverschmelzungs-Schritte gemäß Libero Quick-Start erforderlich.