Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

Prototyper et déployer des réseaux de Deep Learning sur FPGA et SoC

Captures d'écran d'un prototypage et d'une implémentation de réseaux de Deep Learning sur des cartes FPGA pour un déploiement en périphérie.
Schéma bloc d'un processeur de Deep Learning programmable.

Utiliser un processeur de Deep Learning basé sur FPGA

La toolbox inclut un processeur de Deep Learning utilisant des couches de Deep Learning génériques contrôlées par une logique de programmation. Le processeur effectue des inférences basées sur des FPGA pour les réseaux développés avec Deep Learning Toolbox.

Détection d'un camion blanc avec une boîte englobante.

Compiler et déployer des réseaux

Compilez un réseau de Deep Learning en un ensemble d'instructions qui seront exécutées par le processeur de Deep Learning. Déployez votre réseau sur une carte FPGA et réalisez des prédictions tout en collectant des métriques de performances sur celle-ci.

Introduction aux bitstreams prédéfinis

Prototypez rapidement un réseau LSTM (Long Short-Term Memory) en utilisant les bitstreams prédéfinis disponibles. Personnalisez la configuration des bitstreams pour respecter les exigences d'utilisation des ressources.

Extrait de code avec bitstream Xilinx connecté à une carte de développement FPGA.

Déployer des réseaux sur FPGA

Utilisez Deep Learning Toolbox pour développer des réseaux RNN et CNN ou pour importer un réseau. Programmez ensuite un FPGA grâce à la commande deploy et déployez le code sur des FPGA AMD ou Intel.

Code montrant une boucle while sur du code MATLAB pour appeler la fonction predict.

Effectuer des inférences basées sur des FPGA dans des applications MATLAB

Exécutez une application complète dans MATLAB, comprenant notamment votre test bench, les algorithmes de prétraitement et de post-traitement, et les inférences de Deep Learning sur FPGA. La commande MATLAB predict suffit pour effectuer des inférences sur la carte FPGA et renvoyer les résultats dans l'espace de travail MATLAB.

Profiler l'inférence sur FPGA et ajuster le design des réseaux

En utilisant des métriques de profil, ajustez la configuration de votre réseau en mesurant la latence au niveau des couches lorsque vous réalisez des prédictions sur la carte FPGA afin d'identifier les goulots d'étranglement impactant la performance.

Compresser un réseau de Deep Learning pour le déploiement sur FPGA

Réduisez l'utilisation des ressources en compressant votre réseau de Deep Learning grâce aux techniques de quantification et d'élagage. Analysez les compromis entre la précision et l'utilisation des ressources avec le support package Model Quantization Library.

Personnaliser la configuration du processeur de Deep Learning

Précisez les options d'architecture hardware pour l'implémentation du processeur de Deep Learning, notamment le nombre de threads parallèles ou la taille maximale des couches.

Capture d'écran du codage d'un bitstream personnalisé.

Générer du RTL synthétisable et des cœurs IP

Utilisez HDL Coder pour générer du RTL synthétisable depuis le processeur de Deep Learning. Générez des cœurs IP en utilisant les interfaces AXI standards pour une intégration dans des designs SoC AMD et Intel.