Die Deep Learning HDL Toolbox stellt Funktionen und Tools zur Verfügung, um Prototypen von Deep-Learning-Netze auf FPGAs und SoCs zu entwerfen und zu implementieren. Sie bietet vorgefertigte Bitstreams für die Ausführung zahlreicher Deep-Learning-Netze auf unterstützten AMD®- und Intel®-FPGA- und SoC-Bausteinen. Mit Profilerstellungs- und Schätzwerkzeugen können Sie ein Deep-Learning-Netz durch die Abwägung unterschiedlicher Alternativen bei Design, Leistung und Ressourcennutzung personalisieren.
Mit der Deep Learning HDL Toolbox kann die Hardware-Implementierung Ihres Deep Learning-Netzes angepasst und portabler, synthetisierbarer Verilog®, SystemVerilog- und VHDL®-Code für den Einsatz auf einem beliebigen FPGA oder SoC (mit HDL Coder und Simulink) generiert werden.
Verwendung eines FPGA-basierten Deep-Learning-Prozessors
Die Toolbox enthält einen Deep-Learning-Prozessor mit generischen Deep-Learning-Schichten, die von einer Planungslogik gesteuert werden. Dieser Prozessor führt eine FPGA-basierte Inferenz von Netzwerken mithilfe der Deep Learning Toolbox durch.
Kompilieren und Bereitstellen von Netzwerken
Kompilieren Sie ein Deep-Learning-Netzwerk in eine Reihe von Anweisungen, die vom Deep-Learning-Prozessor ausgeführt werden sollen. Stellen Sie Ihr Netzwerk auf dem FPGA bereit und führen Sie die Prognosefunktion aus, während Sie die tatsächlichen Leistungsmetriken auf dem Gerät erfassen.
Erste Schritte mit vorgefertigten Bitstreams
Sie können in kürzester Zeit einen Prototyp eines Long Short Memory (LSTM)-Netzwerks mithilfe der verfügbaren vorgefertigten Bitstreams erstellen. Erstellen Sie ganz individuelle Bitstream-Konfigurationen, um die Anforderungen an die Ressourcennutzung zu erfüllen.
Bereitstellung von Netzwerken auf FPGAs
Verwenden Sie die Deep Learning Toolbox, um RNN- und CNN-Netzwerke zu entwickeln oder ein Netzwerk zu importieren. Programmieren Sie anschließend ein FPGA mithilfe des deploy
-Befehls, um auf AMD- oder Intel-FPGAs zu implementieren.
FPGA-basierte Inferenz in MATLAB-Anwendungen
Führen Sie eine komplette Anwendung in MATLAB aus, einschließlich des Prüfstands, der Vor- und Nachverarbeitungsalgorithmen und der FPGA-basierten Inferenz für Deep Learning. Ein einziger MATLAB-Befehl, nämlich predict
, führt die Inferenzierung auf dem FPGA durch und gibt die Ergebnisse an den MATLAB-Workspace zurück.
Profiling von FGPA-Inferenzierung und Optimierung von Netzwerkdesigns
Führen Sie Prognosen auf dem FPGA aus, um Leistungsengpässe zu ermitteln und nutzen Sie Profilmetriken wie die Latenzzeit auf Schichtebene, um Ihre Netzwerkkonfiguration abzustimmen.
Komprimierung von Deep-Learning-Netzwerken zur Bereitstellung auf FPGA-Ebene
Reduzieren Sie die Ressourcenlast durch Komprimierung Ihres Deep-Learning-Netzwerks mithilfe von Quantisierung und Straffung. Abwägung der Ansätze in Bezug auf Genauigkeit und Ressourcenauslastung mit dem Support-Paket der Model Quantization Library.
Individuelle Anpassung der Prozessorkonfiguration für Deep Learning
Spezifizieren Sie Hardware-Architekturoptionen für die Implementierung des Deep-Learning-Prozessors, wie z.B. die Anzahl paralleler Threads oder die maximale Schichtgröße.
Generierung von synthetisierbarem RTL und von IP-Cores
Verwenden Sie den HDL Coder, um aus dem Deep-Learning-Prozessor synthetisierbaren RTL-Code zu erzeugen. Generieren Sie einen IP-Core mit standardmäßigen AXI-Schnittstellen zur Integration in SoC-Designs von AMD und Intel.