Deep Learning HDL Toolbox propose des fonctions et des outils pour prototyper et implémenter des réseaux de Deep Learning sur des cartes FPGA et SoC. La toolbox propose des bitstreams prédéfinis pour exécuter des réseaux de Deep Learning sur des cartes FPGA et SoC supportées (avec SoC Blockset pour les cartes AMD et HDL Coder pour les cartes Altera). Les outils de profilage et d'estimation vous permettent de personnaliser un réseau de Deep Learning en explorant les compromis entre design, performances et utilisation des ressources.
Vous pouvez utiliser la toolbox pour personnaliser l'implémentation hardware de votre réseau de Deep Learning. De plus, vous pouvez générer du code Verilog®, SystemVerilog et VHDL® portable et synthétisable pour un déploiement sur n'importe quelle carte FPGA ou SoC (avec HDL Coder et Simulink).
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).
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.
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.
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.
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.
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.