AI Engine: die Rechenanforderungen von Anwendungen der nächsten Generation erfüllen

In vielen dynamischen und aufstrebenden Märkten, z. B. 5G-Mobilfunk, Rechenzentren, Automobilbranche und Industrie, treiben Anwendungen die Forderung nach immer höherer Rechenbeschleunigung bei gleichzeitig hoher Energieeffizienz voran. Das Mooresche Gesetz und die Dennard-Skalierung folgen nicht mehr ihren traditionellen Verläufen. Deshalb kann der Wechsel zum Halbleiterknoten der nächsten Generation für sich allein nicht die Vorteile durch Reduzierung von Stromverbrauch und Kosten bei gleichzeitig besserer Performance bieten, wie dies in früheren Generationen der Fall war.

Als Reaktion auf diesen nichtlinearen Anstieg der Nachfrage durch Anwendungen der nächsten Generation, z. B. Beamforming im Mobilfunk und Inferenz bei maschinellem Lernen, hat AMD eine innovative Verarbeitungstechnologie entwickelt: die AI Engine, die zur AMD Versal™ Architektur gehört.

Architektur von KI-Engines

Die Architektur der KI-Engines ist als 2D-Arrays konzipiert, die aus mehreren KI-Engine-Kacheln bestehen und eine hochgradig skalierbare Lösung im gesamten Versal Portfolio ermöglichen. Diese reichen von Dutzenden bis zu Hunderten von KI-Engines in einem einzigen Chip und erfüllen die Rechenanforderungen einer breiten Palette von Anwendungen. Sie bieten unter anderem folgende Vorteile:

Mehrere Programmieroptionen

Für DSP-High-Performance-Anwendungen stehen die folgenden Methoden für die Codierung von KI-Engines zur Verfügung (weitere Informationen finden Sie unter: AMD Vitis™ AI Engine DSP Design)

  • C-basierter Flow mit DSP-Bibliotheksfunktionen und API-Codierung
  • Modellbasiertes Design (mit Vitis Model Composer in MathWorks Simulink)
  • Intrinsics 
Für KI/ML-Anwendungen:
  • Robuste Bibliotheken für KI/ML-Framework-Entwickler
Deterministisch
  • Dedizierte Befehls- und Datenspeicher
  • Dedizierte Konnektivität, gekoppelt mit DMA-Engines für geplante Datenverschiebung unter Nutzung der Konnektivität zwischen KI-Engine-Kacheln
Effizienz
  • Für DSP-High-Performance-Anwendungen können KI-Engines eine dynamische Reduzierung des Stromverbrauchs und erhebliche Ressourceneinsparungen im Vergleich zu einer herkömmlichen Implementierung nur mit programmierbarer Logik bieten.
KI-Engine-Kachel

Jede KI-Engine-Kachel besteht aus einem VLIW- (Very Long Instruction Word), SIMD- (Single Instruction Multiple Data) Vektorprozessor, der für maschinelles Lernen und erweiterte Signalverarbeitungsanwendungen optimiert ist. Der Prozessor der KI-Engine kann mit bis zu 1,3 GHz laufen, was äußerst effiziente Funktionen mit hohem Durchsatz und geringer Latenz ermöglicht.

Neben dem VLIW-Vektorprozessor enthält jede Kachel Programmspeicher zum Speichern der benötigten Befehle, einen lokalen Datenspeicher zum Speichern von Daten, Gewichten, Aktivierungen und Koeffizienten sowie einen skalaren RISC-Prozessor und verschiedene Verbindungsmodi für die Verarbeitung verschiedener Arten der Datenkommunikation.

Heterogene Auslastungen: Beschleunigung von Signalverarbeitung und Inferenz für maschinelles Lernen

AMD bietet zwei Arten von KI-Engines an: AIE (AI Engine) und AIE-ML (AI Engine für maschinelles Lernen), die beide erhebliche Performanceverbesserungen gegenüber FPGAs der vorherigen Generation ermöglichen. AIE beschleunigt relativ ausgewogenere Auslastungen, beispielsweise ML-Inferenzanwendungen und High-Performance-DSP, Signalverarbeitungsauslastungen wie Beamforming, Radar und weitere, die eine gewaltige Menge an Filtern und Transformationen erfordern. Mit erweiterten KI-Vector-Extensions und der Einführung von Kacheln für gemeinsam genutzten Speicher innerhalb des KI-Engine-Array bietet AIE-ML eine AIE überlegene Performance für ML-Inferenzanwendungen. Für bestimmte Typen der erweiterten Signalverarbeitung kann dagegen AIE eine bessere Performance als AIE-ML bieten.

AI Engine Diagram Workloads
KI-Engine-Kachel

AIE beschleunigt ausgewogene Auslastungen, beispielsweise ML-Inferenzanwendungen und erweiterte Signalverarbeitung wie Beamforming, Radar, FFTs und Filter.

Unterstützung für viele Auslastungen/Anwendungen
  • High-Performance-DSP für Anwendungen im Bereich Kommunikation, Radar, Prüf- und Messtechnik, Industrie und Automobilbranche
  • Video- und Bildverarbeitung
  • Inferenz für maschinelles Lernen
Native Unterstützung für verschiedene Datentypen: reale, komplexe und Gleitkommazahlen
  • INT8/16/32 Festkomma
  • CINT16 und CINT32 komplex, Festkomma
  • FP32 Gleitkomma
Dedizierte HW-Funktionen für FFT- und FIR-Implementierungen
  • 128 INT8 MACs pro Kachel

Weitere Informationen finden Sie im Architekturhandbuch zur AMD Versal AI Engine.

OPs pro AIE-Kachel
INT4
256
INT8
256
INT16
64
CINT16
16 16
BFLOAT16*
16
FP32
16 16

*BFLOAT16 implementiert mit FP32-Vektorprozessor.

KI-Engine-ML-Kachel

Die Architektur der KI-Engine-ML (AIE-ML) ist für maschinelles Lernen optimiert und erweitert sowohl den Rechnerkern als auch die Speicherarchitektur. Diese optimierten Kacheln verfügen über Fähigkeiten sowohl für ML als auch erweiterte Signalverarbeitung, bei der Unterstützung verlagert sich der Schwerpunkt jedoch von INT32 und CINT32 (üblich bei Radarverarbeitung) hin zu ML-orientierten Anwendungen.

Die Engine AIE-ML wird in zwei Versionen erhältlich sein: die AIE-ML, mit der die Rechenleistung im Vergleich zu AIE verdoppelt wird, und AIE-MLv2, mit der die Rechenleistung im Vergleich zu AIE-ML noch einmal verdoppelt und zusätzliche Bandbreite zwischen den Stream-Interconnects hinzugefügt wird.

Erweiterte native Unterstützung für ML-Datentypen​
  • BFLOAT16
  • FP8 (nur AIE-MLv2)
  • FP16 (nur AIE-MLv2)
  • MX4 (nur AIE-MLv2)
  • MX6 (nur AIE-MLv2)
  • MX9 (nur AIE-MLv2)
Erhöhte ML-Rechenleistung bei reduzierter Latenz
  • 256 INT8 MACs/Zyklus pro Kachel in AIE-ML
  • 512 INT8 MACs/Zyklus pro Kachel in AIE-MLv2
Erhöhter Array-Speicher zur Lokalisierung von Daten
  • Doppelter lokaler Datenspeicher pro Kachel (64 kB)
  • Speicher-Kacheln (512 kB) für Speicherzugriff mit hoher gemeinsam genutzter Bandbreite
OPs pro AIE-ML-Kachel
INT4
1024
INT8
512
INT16
128
CINT16
16
BFLOAT16
256
FP32**
42

**SW-Emulation für FP32-Unterstützung von AIE-ML.

Teil einer heterogenen Plattform

Die KI-Engine bildet zusammen mit programmierbarer Logik und einem Verarbeitungssystem eine eng integrierte heterogene Architektur in adaptiven Versal SoCs, die sowohl auf Hardware- als auch auf Softwareebene geändert werden kann, um sich dynamisch an die Anforderungen einer Vielzahl von Anwendungen und Auslastungen anzupassen.

Die Versal Architektur wurde von Anfang an für native Softwareprogrammierbarkeit konzipiert. Sie verfügt über ein flexibles, programmierbares Network-on-Chip (NoC) mit mehreren Terabit pro Sekunde, um alle Komponenten und wichtigen Schnittstellen nahtlos zu integrieren, damit die Plattform beim Booten verfügbar ist und von Softwareentwicklern, Datenwissenschaftlern und Hardwareentwicklern einfach programmiert werden kann.

Anwendungen

KI-Engines für heterogene Auslastungen – von drahtloser Verarbeitung bis hin zu maschinellem Lernen in Cloud, Netzwerk und Edge

Rechenzentrum-Computing

Die Bild- und Videoanalyse spielt eine zentrale Rolle bei der explosionsartigen Erhöhung der Datenmengen im Rechenzentrum. Diese Auslastungen entsprechen einem sogenannten „gefalteten neuronalen Netzwerk (Convolutional Neural Network, CNN) und sind äußerst rechenintensiv. Oft werden dabei mehrere TeraOPs erreicht. KI-Engines wurden daraufhin optimiert, diese Rechendichte kostengünstig und energieeffizient bereitzustellen.

Drahtlose Verarbeitung für 5G

5G kann einen beispiellosen Durchsatz bei extrem niedriger Latenz bieten, erfordert dafür jedoch deutlich mehr Signalverarbeitung. KI-Engines können diese Echtzeit-Signalverarbeitung in der Funkeinheit (Radio Unit, RU) und der verteilten Einheit (Distributed Unit, DU) mit geringerem Stromverbrauch ausführen, z. B. mit den hochentwickelten Beamforming-Techniken, die in Massive-MIMO-Panels zur Erhöhung der Netzwerkkapazität zum Einsatz kommen.

ADAS und automatisiertes Fahren

CNNs sind eine Klasse von tiefen künstlichen neuronalen Netzen mit Feedforward-Architektur, die vor allem für Analysen in der visuellen Bildverarbeitung genutzt werden. Da Computer inzwischen in allen Bereichen Einzug gehalten haben – von autonomen Fahrzeugen bis zur Videoüberwachung –, sind CNNs immer wichtiger geworden. KI-Engines bieten die erforderliche Rechendichte und Effizienz, die für kleine Bauformen mit engen Temperaturbereichen benötigt werden.  ​

Luft- und Raumfahrt sowie Verteidigung

Die Zusammenführung leistungsstarker vektorbasierter DSP-Engines mit KI-Engines in einer kleinen Bauform ermöglicht eine Vielzahl von Systemen in Luft- und Raumfahrt sowie Verteidigung, darunter Phased Array Radar, Frühwarnung (Early Warning, EW), MILCOM und unbemannte Fahrzeuge. KI-Engines unterstützen heterogene Auslastungen, die von Signalverarbeitung und Signalkonditionierung bis hin zur KI-Inferenz für Multi-Mission-Nutzdaten reichen. Sie bieten die erforderliche Recheneffizienz, um die extremen Anforderungen an Größe, Gewicht und Stromversorgung (Size, Weight and Power, SWaP) dieser für den Erfolg einer Mission entscheidenden Systeme zu erfüllen.

Industrie

Industrielle Anwendungen wie beispielsweise Robotik und maschinelle Bildverarbeitung (Machine Vision) kombinieren Sensorfusion mit KI/ML, um Datenverarbeitung an der Peripherie und nahe an der Informationsquelle durchzuführen. KI-Engines verbessern Performance und Verlässlichkeit dieser Echtzeitsysteme trotz der durch ihre Umgebung bedingten Unsicherheit.

Drahtlos-Test-Equipment

Echtzeit-DSP wird in großem Umfang in Test-Equipment für die Drahtloskommunikation eingesetzt. Die Architektur der KI-Engine eignet sich sehr gut für alle Arten von Protokollimplementierungen, u. a. für 5G vom digitalen Frontend bis zum Beamforming und Basisband.

Gesundheitswesen

Zu Anwendungen im Gesundheitswesen, die KI-Engines nutzen, gehören hochleistungsfähiges paralleles Beamforming für Ultraschallsysteme in der Medizin, Rückprojektion für CT-Scanner, Auslagerung der Bildrekonstruktion in MRT-Systemen und rechnergestützte Diagnosen in einer Vielzahl klinischer und diagnostischer Anwendungen.​

KI-Engine-Entwicklungs-Flows

KI-Engines werden von Anfang an für Softwareprogrammierbarkeit und Hardwareanpassbarkeit konzipiert. Um die Performance dieser Rechen-Engines auszuschöpfen, können Entwickler mit zwei verschiedenen Design-Flows arbeiten, um Kompilierungen innerhalb von Minuten auszuführen und schnell verschiedene Mikroarchitekturen zu untersuchen. Die beiden Design-Flows bestehen aus:

  • Der Vitis™ Unified IDE für C/C++-Programmierung, die für Software- und Hardwareentwickler geeignet ist.
  • Dem Vitis Model Composer für einen modellbasierten Design-Flow, der als Plug-in in MathWorks Simulink® arbeitet.
  • Vitis AI für einen auf dem KI/ML-Framework basierenden Flow; die Zielgruppe sind hier KI und Datenwissenschaftler.

KI-Engine-Arrays können auch eine hinsichtlich Ressourcen und Stromverbrauch optimierte Implementierung von DSP-High-Performance-Funktionen ermöglichen. Die Nutzung von KI-Engines in Verbindung mit den FPGA-Strukturressourcen können eine äußerst effiziente Implementierung von DSP-High-Performance-Anwendungen ermöglichen. Erfahren Sie, wie Sie mit dem AMD Vitis Tool-Flow die Funktionen zur Hardwarebeschleunigung von KI-Engines für DSP-Anwendungen nutzen können: AMD Vitis AI Engine DSP Design

KI-Engine-Bibliotheken für Software-/Hardwareentwickler und Datenwissenschaftler

Mit der Vitis Acceleration Library stellt AMD vordefinierte Kernels bereit, die Folgendes ermöglichen:

  • Kürzere Entwicklungszyklen
  • Portabilität zwischen KI-Engines mit unterschiedlichen Architekturen, z. B. von AIE zu AIE-ML
  • Beschleunigung bei Lernen und Einführung von KI-Engine-Technologie
  • Designer können sich auf ihre eigenen proprietären Algorithmen konzentrieren

Software- und Hardwareentwickler programmieren direkt die auf Vektorprozessoren basierenden KI-Engines und können, sofern sinnvoll, vordefinierte Bibliotheken mit C/C++-Code in Anspruch nehmen.

KI-Datenwissenschaftler bleiben in ihren vertrauten Framework-Umgebungen wie PyTorch oder TensorFlow und rufen vordefinierte ML-Overlays über Vitis AI auf, ohne die KI-Engines direkt programmieren zu müssen.

Die Bibliotheken sind Open Source und auf GitHub unter https://github.com/Xilinx/Vitis_Libraries verfügbar.

Datenflussprogrammierung für den Software-/Hardwareentwickler

Die Architektur der KI-Engine basiert auf einer Datenflusstechnologie. Verarbeitungselemente sind in Arrays von 10 bis 100 Kacheln angeordnet und erstellen damit ein einziges, mehrere Recheneinheiten übergreifendes Programm. Wenn ein Designer Anweisungen zum Spezifizieren der Parallelität für alle diese Kacheln integrieren müsste, dann wäre das sehr mühsam, wenn nicht gar unmöglich. Um diese Schwierigkeit zu überwinden, wird das KI-Engine-Design in zwei Stufen durchgeführt: Auf die Entwicklung eines einzelnen Kernels folgt die Erstellung eines Adaptive Data Flow (ADF)-Graphen, bei dem mehrere Kernels zu einer Gesamtanwendung verbunden werden.

Vitis Unified IDE stellt ein einheitliches IDE-Cockpit bereit, das die Entwicklung des KI-Engine-Kernels mithilfe von C/C++-Programmiercode und Design von ADF-Graphen ermöglicht. Designer können insbesondere:

  • Kernels in C/C++ entwickeln und spezifische Rechenfunktionen mithilfe von Vitis Bibliotheken beschreiben
  • Kernels über ADF-Graphen mit den Tools der Vitis AI Engine verbinden

Standardmäßig wird jeweils ein Kernel auf einer KI-Engine-Kachel ausgeführt. Es ist jedoch auch möglich, mehrere Kernels auf derselben KI-Engine-Kachel auszuführen und die Verarbeitungszeit gemeinsam zu nutzen, sofern die Anwendung dies zulässt.

Nachfolgend wird ein Beispiel dieses Konzepts gezeigt:

  • KI-Engine-Kernels werden in C/C++ entwickelt.
  • Kernels in programmierbarer Logik (PL) werden in RTL oder Vitis HLS (High-Level-Synthese) geschrieben. 
  • Der Datenfluss zwischen Kernels in den PL- und KI-Engines erfolgt über einen ADF-Graphen.
Integration des KI-Engine-Designs in ein Gesamtsystem

Innerhalb der Vitis Unified IDE kann das KI-Engine-Design in ein größeres Gesamtsystem integriert werden, das alle Aspekte des Designs in einem integrierten Flow vereint, in dem Simulation, Hardwareemulation, Debugging und Bereitstellung möglich sind.

  • Dedizierte Compiler sind auf verschiedene heterogene Engines der Versal Plattform ausgerichtet. Hierzu gehören das Verarbeitungssystem (Arm® Subsystem), die programmierbare Logik und sowohl DSP- als auch KI-Engines.
  • Anschließend verknüpft ein System-Compiler diese einzelnen Codeblöcke miteinander und erstellt alle Verbindungen, um die Datenverschiebung zwischen ihnen und eventuellen benutzerdefinierten Speicherhierarchien zu optimieren. In die Toolsuite ist auch die x86-Toolchain für PCIe®-basierte Systeme integriert.
  • Zur Bereitstellung Ihrer Anwendung stellt Xilinx Runtime Software (XRT) plattformunabhängige und betriebssystemunabhängige APIs zur Verwaltung von Chip-Konfiguration, Speicher und Datenübertragung zwischen Host und Chip sowie zur Ausführung des Beschleunigers bereit. 
  • Nachdem Sie Ihren ersten Prototyp fertiggestellt haben, können Sie Ihre Anwendung mit einem schnellen Simulator auf Transaktionsebene oder einem zyklusgenauen Simulator simulieren. Außerdem können Sie Partitionierung und Performance Ihrer Anwendung mit einem Performance-Analysator optimieren.
  • Wenn Sie mit den Ergebnissen zufrieden sind, können Sie die Bereitstellung auf der Versal Plattform durchführen.

Portfolio

Versal™ AI Core-Serie

Die AMD Versal AI Core-Serie bietet bahnbrechende KI-Inferenz und drahtlose Beschleunigung mit KI-Engines, die eine hervorragende Rechenleistung liefern. Anwendungen für adaptive Versal AI Core-SoCs bieten die höchste Rechenleistung im Versal Portfolio. Sie umfassen Rechenzentrum-Computing, Beamforming im Mobilfunk, Video- und Bildverarbeitung sowie Drahtlos-Test-Equipment.

Versal™ AI Edge-Serie

Die AMD Versal AI Edge-Serie liefert KI-Inferenz mit hoher Performance und niedriger Latenz für Intelligenz in den Bereichen automatisiertes Fahren, Systeme für Predictive Factory und Gesundheitswesen, Multi-Mission-Nutzdaten in Luft- und Raumfahrt sowie Verteidigung und einer Vielzahl anderer Anwendungen. Die Versal AI Edge-Serie ist mehr als nur KI. Sie beschleunigt die gesamte Anwendung vom Sensor über KI bis zur Echtzeitsteuerung und erfüllt gleichzeitig kritische Sicherheits- und Schutzanforderungen.

Versal Premium-Serie

Die AMD Versal Premium-Serie wurde für besonders anspruchsvolle Rechen- und Datenverschiebungsanwendungen in den Bereichen drahtgebundene Kommunikation, Rechenzentrum-Computing, Prüf- und Messtechnik sowie Luft- und Raumfahrt sowie Verteidigung entwickelt. Sie bietet eine hervorragende adaptive Signalverarbeitungskapazität durch die Integration von KI-Engines, die programmierbare Logik, DSP-Engines und Hard-IP-Blöcke für Ethernet und High-Speed-Krypto miteinander kombinieren.

AMD Versal AI Edge VEK280
Versal AI Edge-Serie VEK280 Evaluierungskit

Das VEK280 Evaluierungskit ist mit dem adaptiven Versal AI Edge VE2802 SoC ausgestattet. Es bietet Engines für AIE-ML und DSP-Hardwarebeschleunigung sowie mehrere Optionen für Hochgeschwindigkeitskonnektivität. Dieses Kit wurde für ML-Inferenzanwendungen in Märkten wie Automobil, Bildverarbeitung, Luft- und Raumfahrt sowie Verteidigung, Industrie, Wissenschaft und Medizin optimiert.

AI Engine Diagram Versal AI Kit
Versal AI Core-Serie VCK190 Evaluierungskit

Das VCK190 Evaluierungskit ermöglicht Designern, Lösungen unter Verwendung von KI- und DSP-Engines zu entwickeln, die im Vergleich zu aktuellen CPUs der Serverklasse eine über 100-mal höhere Rechenleistung bieten. Mit einer Vielzahl von Konnektivitätsoptionen und standardisierten Entwicklungs-Flows bietet der Versal AI Core-Serie VC1902-Chip den höchsten KI-Inferenz- und Signalverarbeitungsdurchsatz des Versal Portfolios für Cloud-, Netzwerk- und Edge-Anwendungen.

Erste Schritte

Die AMD Vitis Unified Software Platform bietet umfassende Core-Entwicklungskits und Bibliotheken, die Hardware-Beschleunigungstechnologie verwenden.

Besuchen Sie die Repositorys Vitis GitHub und AI Engine Development, um auf eine Vielzahl von Tutorials zur KI-Engine zuzugreifen und mehr über die technischen Funktionen und die Designmethodik zu erfahren.

KI-Engine-Tools, sowohl Compiler als auch Simulator, sind in die Vitis IDE integriert und erfordern eine zusätzliche dedizierte Lizenz. Weitere Informationen, wie Sie auf die KI-Engine-Tools zugreifen und eine Lizenz erwerben können, erhalten Sie bei Ihrem lokalen AMD Vertriebsmitarbeiter, oder besuchen Sie die Seite mit dem Kontaktformular

Der AMD Vitis Model Composer ist ein modellbasiertes Designtool, das eine rasche Konzeptuntersuchung in der Simulink® und MATLAB® Umgebung ermöglicht. Es erleichtert Entwicklung und Tests von ADF-Graphen der KI-Engine auf Systemebene, sodass Benutzer RTL- und HLS-Blöcke mit KI-Engine-Kernels und/oder -Graphen in dieselbe Simulation integrieren können. Durch Nutzung der Funktionen zur Signalgenerierung und -visualisierung im Simulink und MATLAB Tool können DSP-Ingenieure Design und Debugging einer vertrauten Umgebung durchführen. Weitere Informationen zur Verwendung von Versal AI Engines mit dem Vitis Model Composer finden Sie auf der Seite mit AI Engine Ressourcen.

Das VCK190 Kit basiert auf der Versal AI Core-Serie und ermöglicht Designern, Lösungen mit KI-Engines und DSP-Engines zu entwickeln. In dem Evaluierungskit ist alles enthalten, was Sie für den Start Ihrer Entwicklung benötigen.

Ebenfalls erhältlich ist die PCIe®-basierte VCK5000 Entwicklungskarte mit dem Versal AI Core-Chip mit KI-Engines, die für KI-Inferenz mit hohem Durchsatz im Rechenzentrum entwickelt wurden.

Bei der AIE-ML-Entwicklung bietet das auf der Versal AI Edge-Serie basierende VEK280 Evaluierungskit Entwicklern die Möglichkeit, DSP- und ML-Anwendungen zu erstellen.

Mit den Schulungs- und Lernressourcen von AMD können Sie die praktischen Fähigkeiten und grundlegenden Kenntnisse erwerben, um Ihre Produktivität beim nächsten Entwicklungsprojekt mit einem adaptiven Versal SoC zu maximieren. Verfügbare Kurse:

Von der Lösungsplanung bis hin zur Systemintegration und -validierung bietet AMD maßgeschneiderte Ansichten der umfangreichen Dokumentationsliste zu adaptiven Versal SoCs, um die Produktivität von Benutzerdesigns zu maximieren. Besuchen Sie die Designprozess-Hubs für adaptive Versal SoCs, um die neuesten Inhalte für Ihre Designanforderungen zu bekommen und die Fähigkeiten und Designmethoden der KI-Engine zu entdecken.

Ressourcen

Immer informiert bleiben

Melden Sie sich für die E-Mail-Liste an, um die neuesten Nachrichten und Meldungen zu adaptiven SoCs and FPGAs zu erhalten.