Eine neue Dimension des DSP-Computing mit AMD Versal™ AI Engines

AMD Versal AI Engine-Technologie ermöglicht High-Performance-DSP-Anforderungen.

Kunden, die auf DSP-Anwendungen der nächsten Generation arbeiten, benötigen enorme Computing-Kapazitäten, die in herkömmlichen FPGA-Architekturen nicht effizient implementiert werden können. Rechenintensive DSP-Anwendungen wie FIR, FFT und General Matrix Multiply können erhebliche Mengen an DSP-Blöcken und Ressourcen für programmierbare Logik verwenden.

Diese Anforderung kann die Gesamtrechenkapazität, die in herkömmlichen Geräten für programmierbare Logik verfügbar ist, deutlich reduzieren. Eine einfache Erhöhung der DSP-Blöcke und der verfügbaren programmierbaren Logik ist keine skalierbare Lösung für intensive DSP-Auslastungen, die ein striktes Energiebudget haben.

Versal AI Engines sind darauf ausgelegt, eine effizientere Computing-Lösung in diesen Fällen bereitzustellen.

Mehr über Versal AI Engines erfahren

Beschleunigen Sie DSP-Auslastungen mit Versal AI Engines

Der Schlüssel zur Verbesserung der Gesamt-Performance des Systems

Auslastungen dort zu positionieren, wo sie effizient ausgeführt werden – in programmierbaren Logik- oder Versal AI Engines – kann den entscheidenden Unterschied in Bezug auf Energieeffizienz und Gesamt-Performance ausmachen. Erfahren Sie, warum Versal AI Engines sich hervorragend für High-Performance-DSP-Anwendungen eignen. 

Rechenleistung steigern und weniger Strom verbrauchen

Revolutionieren Sie Ihre DSP-Designs und maximieren Sie die Performance.

Wussten Sie, dass Sie Effizienz und Skalierbarkeit freischalten können, um die Anforderungen von High-Performance-DSP-Anwendungen der nächsten Generation zu erfüllen? Entdecken Sie 5 Möglichkeiten, wie AMD Versal AI Engines Ihre DSP-Designs optimieren können.

AI Engine DSP Design-Prozess

Die Entwicklung von High-Performance-DSP-Funktionen für AMD Versal™ AI Engines kann entweder mit den AMD Vitis™-Entwicklungstools oder mithilfe des Vitis Model Composer Workflows erfolgen, wobei die Simulations- und Grafikfunktionen des MathWorks Simulink®-Tools genutzt werden. 

In beiden Fällen ist die Zuordnung der DSP-Anwendung zu Funktionen, die in den FPGA- oder KI-Engines (oder einer Kombination aus FPGA-Logik und KI-Engines) implementiert werden sollen, von entscheidender Bedeutung. Dies erfordert ein Verständnis der Chipfunktionen und des Gesamtsystems. 

In der Regel eignen sich rechenintensive Funktionen besser für die KI-Engine-Implementierung. Funktionen, bei denen Daten verschoben/neu angeordnet werden müssen, sind hingegen besser für eine FPGA-Implementierung geeignet. 

Im folgenden Beispiel lassen sich komplexe Filterung und Fourier-Transformationen in der Regel besser innerhalb des AI-Engine-Arrays ausführen.

Bildzoom
AMD Vitis AI Engine array chart

Sobald eindeutig festgestellt wurde, dass sich bestimmte Funktionen für die KI-Engine eignen, können sie mit einer der folgenden Optionen in die KI-Engine implementiert werden.

Hinweis: Ein hybrider Ansatz mit mehreren Optionen aus der nachstehenden Liste ist ebenfalls möglich. 

Programmierumgebungen

Die Vitis Plattform bietet zwei Programmierumgebungen mit DSP-Bibliotheken, APIs und Intrinsics 

Konstruktion in C/C++

Die Vitis Plattform verfügt über Open-Source-Bausteine für gängige DSP-Algorithmen, Funktionen und Chipdiagramme. Verwenden Sie sie ohne Modifizierungen für Schnelltests oder passen Sie sie an Ihre Anforderungen an.

C/C++-Flow

Für den Einstieg in KI-Engines für DSP wird dringend empfohlen, zunächst die Vitis DSP-Bibliotheksfunktionen (C-basiert) zu verwenden. Die manuelle Programmierung kann zwar zu einer optimierten Implementierung führen, die Verwendung der unten genannten Methoden bietet jedoch den schnellsten Einstieg in KI-Engines für DSP und liefert gleichzeitig eine hohe Performance. (Ein hybrider Ansatz mit mehreren Optionen aus der nachstehenden Liste ist ebenfalls möglich.)

Option 1
Funktionsaufruf der Vitis DSP-Bibliothek


dsplib::fft::dit1ch::fft_ifft_dit_1ch
 

  • Am benutzerfreundlichsten
  • Parametrisierbar
  • Kürzeste Entwicklungszeit
Option 2
Vektorisierte Programmierung mit KI-Engine-APIs

aie::vector<int8_t, sizeTileA> A0 

aie::vector<int8_t, sizeTileA> A1
 

  • Anpassbar
  • Kürzere Entwicklungszeit
Option 3
Vektorisierte Programmierung mit Intrinsics

Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);​

Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210); 
 

  • Vollständige, umfassende Anpassung 
  • Längste Entwicklungszeit

Verschiedene KI-Engine-Funktionen werden dann per Graph-C-Code miteinander verbunden. Dabei handelt es sich um C++-Code, der ein Netzwerk aus mehreren KI-Engine-Kacheln beschreibt.  

Modellbasierter Flow mit Vitis Model Composer

Der Composer ermöglicht das Entwickeln in der MathWorks MATLAB®/Simulink® Umgebung, wo Sie Kernel für Versal AI Engines generieren, programmierbare Logikmodule integrieren und Systeme simulieren können.

Vitis Model Composer – Flow

Mit Vitis Model Composer können Sie eine Verbindung zwischen den verschiedenen KI-Engine-Funktionen grafisch darstellen. Diese grafische Darstellung kann mit Vitis Model Composer per Tastendruck in den Graph-C-Code konvertiert werden. Die robusten Simulationsfunktionen der MathWorks Simulink-Umgebung können auch zur Überprüfung des Designs genutzt werden.

Weitere Informationen zur Versal AI Engine-Entwicklung mit Vitis Model Composer finden Sie auf der Seite zur Versal AI Engine-Entwicklung mit Vitis Model Composer.

Lizenzierung der KI-Engine-Tools

Compiler und Simulator

Obwohl die KI-Engine-Compiler- und Simulatortools Teil des AMD Vitis™ Softwareinstallationsprogramms sind, benötigen Sie für die Verwendung dieser Tools dennoch eine kostenlose Lizenz. Sie können diese Lizenz auf der Website zur Produktlizenzierung abrufen.

Geben Sie Ihre Daten ein und wählen Sie die Option „AI Engine Tools License“ (Lizenz für KI-Engine-Tools).

Vitis GitHub-Konzeptbeispiele und -Tutorials

Nutzen Sie AMD GitHub für optimierte Konzeptbeispiele, Tutorials und Bibliotheksfunktionen für KI-Engines in High-Performance-DSP-Anwendungen.

Dabei handelt es sich um Open-Source-Konzepte, die zur Beschleunigung von Konzeptzyklen genutzt werden können.

Die beliebtesten GitHub-Ressourcen für die ersten Schritte der KI-Engine-Entwicklung sind folgende:

Ebenfalls verfügbar sind Hardware-AIE- oder AIE-ML-spezifische Konzept- und Funktions-Tutorials auf GitHub.

Spotlight: Polyphase-Channelizer-Design für KI-Engines

Der Polyphase Channelizer führt eine gleichzeitige Abwärtskonvertierung einer Reihe von FDM-Kanälen (Kanäle, die das Frequenzmultiplexverfahren nutzen) in einem einzigen Daten-Stream durch. Er verwendet dabei einen effizienten Ansatz auf der Grundlage digitaler Signalverarbeitung. Der Channelizer kommt in zahlreichen drahtlosen Kommunikations-, Radar-, Luftfahrt- und Verteidigungs- und medizinischen Bildgebungssystemen zum Einsatz. In diesem Tutorial implementieren wir zwei verschiedene Channelizer-Designs mit einer Kombination aus KI-Engine- und PL-Ressourcen (programmierbare Logik) in adaptiven AMD Versal™ SoC-Chips. 

Benchmarks anzeigen, die Versal AI Engines mit der vorherigen Technologie für programmierbare Logik vergleichen

Für Head-to-Head-Benchmark-Vergleiche zwischen Designs, die nur auf programmierbarer Logik basieren, und einem Design mit adaptivem SoC und KI-Engine, das adaptive AMD Versal SoCs verwendet, wenden Sie sich an den Vertrieb oder Ihren Field Application Engineer. Dort erhalten Sie die Benchmark-Ergebnisse und Quelldesigns.

Ressourcen

AMD Versal AI Engine-Design-Flow

Online-Seminare