Deep Learning HDL Toolbox

Prototipazione e distribuzione di reti di deep learning su FPGA e SoC

Deep Learning HDL Toolbox™ offre funzioni e strumenti per prototipare e implementare reti di deep learning su FPGA e SoC. Fornisce bitstream predefiniti per l’esecuzione di una varietà di reti di deep learning su dispositivi SoC e FPGA Intel® e Xilinx® supportati. Gli strumenti di profiling e stima consentono la personalizzazione di una rete di deep learning grazie all’esplorazione dei tradeoff di progettazione, prestazionali e relativi all’utilizzo delle risorse.

Deep Learning HDL Toolbox consente di personalizzare l’implementazione hardware della propria rete di deep learning e di generare codice Verilog® e VHDL® portabile e sintetizzabile per la distribuzione su qualsiasi FPGA (con HDL Coder™ e Simulink®).

Inizia ora:

Inferenza di deep learning su FPGA

Prototipa e implementa le reti di deep learning su FPGA per la distribuzione edge.

Processore di deep learning programmabile

Il toolbox include un processore di deep learning dotato di layer convoluzionali generali e completamente connessi, controllati dalla logica di programmazione. Questo processore di deep learning esegue l’inferenza basata su FPGA di reti sviluppate utilizzando Deep Learning Toolbox™. Le interfacce di memoria ad elevata larghezza di banda velocizzano i trasferimenti di memoria di layer e dati ponderati.

Architettura del processore di deep learning.

Compilazione e distribuzione

Compila la tua rete di deep learning con una serie di istruzioni eseguibili dal processore di deep learning. Distribuisci all’FPGA ed esegui una previsione acquisendo metriche delle prestazioni reali del dispositivo.

Compilazione e distribuzione di una rete YOLO v2.

Scoperta dei bitstream predefiniti

Prototipa la tua rete senza la programmazione FPGA utilizzando i bitstream disponibili per i kit di sviluppo FPGA più diffusi.

Inferenza basata su FPGA in MATLAB

Esegui l’inferenza di deep learning su FPGA da MATLAB.

Creazione di una rete per la distribuzione

Inizia utilizzando Deep Learning Toolbox per progettare, addestrare e analizzare la tua rete di deep learning per attività come il rilevamento o la classificazione di oggetti. È possibile iniziare anche importando una rete addestrata o dei layer da altri framework.

Distribuzione della rete all’FPGA

Una volta addestrata la rete, utilizza il comando deploy per programmare l’FPGA con il processore di deep learning e l’interfaccia Ethernet o JTAG. Quindi, utilizza il comando compile per generare una serie di istruzioni per la tua rete addestrata senza riprogrammare l’FPGA.

Utilizzo di MATLAB per configurare la scheda e l’interfaccia, compilare la rete e distribuirla all’FPGA.

Esecuzione dell’inferenza basata su FPGA all’interno dell’applicazione MATLAB

Esegui l’intera applicazione in MATLAB®, compresi test bench, algoritmi di pre-elaborazione e post-elaborazione e l’inferenza di deep learning basata su FPGA. Un unico comando MATLAB, predict, esegue l’inferenza sull’FPGA e restituisce i risultati nello spazio di lavoro MATLAB.

Utilizzo di applicazioni MATLAB che eseguono l’inferenza di deep learning sull’FPGA.

Personalizzazione della rete

Regola la tua rete di deep learning per soddisfare i requisiti specifici dell’applicazione sul dispositivo target FPGA o SoC.

Profilazione dell’inferenza FPGA

Misura la latenza a livello di layer mentre esegui le previsioni sull’FPGA per rilevare eventuali colli di bottiglia prestazionali.

Esecuzione della profilazione dell’inferenza della rete di deep learning su una FPGA da MATLAB.

Affinamento del progetto della rete

Utilizzando le metriche di profilazione, regola la configurazione della rete con Deep Learning Toolbox. Ad esempio, utilizza Deep Network Designer per aggiungere e rimuovere layer o creare nuovi collegamenti.

Quantizzazione del deep learning

Riduci l’utilizzo delle risorse quantizzando la tua rete di deep learning a una rappresentazione a virgola fissa. Analizza i tradeoff tra precisione e utilizzo delle risorse tramite il pacchetto di supporto Model Quantization Library.

Distribuzione di implementazioni RTL personalizzate

Distribuisci implementazioni RTL personalizzate del processore di deep learning a qualsiasi dispositivo FPGA, ASIC o SoC con HDL Coder.

Configurazione personalizzata del processore di deep learning

Specifica le opzioni dell’architettura hardware per l’implementazione del processore di deep learning, come il numero di thread paralleli o la dimensione massima dei layer.

Generazione di RTL sintetizzabile

Utilizza HDL Coder per generare RTL sintetizzabile dal processore deep learning per l’utilizzo in una varietà di dispositivi e workflow di implementazione. Riutilizza lo stesso processore di deep learning per la distribuzione nell’ambito della produzione e della prototipazione.

Generazione di RTL sintetizzabile dal processore di deep learning.

Generazione di core IP per l’integrazione

Quando HDL Coder genera RTL dal processore di deep learning, genera anche un core IP con interfacce AXI standard per l’integrazione nel tuo progetto SoC di riferimento.

Tabella di interfaccia della piattaforma target che mostra la mappatura tra interfacce I/O e AXI.