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 du processeur de Deep Learning programmable de la toolbox.

Effectuer l’inférence de réseaux sur FPGA

Utilisez un processeur de Deep Learning programmable intégrant des couches génériques contrôlées par une logique d’ordonnancement pour réaliser l’inférence de réseaux sur FPGA (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 cette dernière. 

Photos de trois cartes de circuit imprimé différentes comportant des composants électroniques, des connecteurs et des puces.

Démarrer avec des bitstreams FPGA prédéfinis

Prototypez rapidement des réseaux 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.

Exemples (AMD | Altera)

Extrait de code avec un bitstream Xilinx, présenté connecté à une carte de développement FPGA.

Déployer des réseaux sur des FPGA

Utilisez Deep Learning Toolbox pour développer des réseaux RNN et CNN ou pour importer un réseau. Utilisez ensuite la fonction deploy pour programmer des FPGA AMD (avec SoC Blockset) ou des FPGA Altera. 

Utilisation d'une boucle MATLAB while appelant la fonction predict.

Exécuter l’inférence sur 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 l’inférence de Deep Learning sur FPGA. Une seule fonction, predict, effectue l’inférence sur la carte FPGA et renvoie 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 les performances.

Compresser les réseaux 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 précision et utilisation des ressources grâce au support package Deep Learning Toolbox Model Compression 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 Altera.