Architetture di calcolo digitale distribuite e riconfigurabili per l'implementazione di Deep Neural Network.

Anno
2020
Proponente -
Struttura
Sottosettore ERC del proponente del progetto
PE6_2
Componenti gruppo di ricerca
Componente Categoria
Mauro Olivieri Tutor di riferimento
Abstract

Negli ultimi anni le tecnologie che si basano sull¿intelligenza artificiale sono diventate numerose e di uso quotidiano. Recentemente la ricerca ha fatto molti progressi in questo settore, ed algoritmi di reti neurali complesse hanno permesso questa spinta. L'intento di questo lavoro è quello di riuscire ad integrare su dispositivi embedded quali FPGA alcuni tra i più recenti e complessi algoritmi di Deep Neural Network, costruendo una rete di nodi che parallelizzino l'esecuzione dei calcoli e che si riadattino in run-time a seconda dei differenti carichi di lavoro, cercando di minimizzare i consumi senza compromettere le prestazioni.
Si partirà scegliendo le reti neurali più complesse ed interessanti al momento. Si applicheranno alcune delle tecniche disponibili nello stato dell'arte, che cercano di predisporre queste reti all'esecuzione su dispositivi embedded. Si svilupperà un framework di generazione di codice RTL sintetizzabile, per configurare velocemente gli acceleratori hardware a seconda dell'applicazione, cercando di massimizzare le prestazioni e rispettando stringenti vincoli di consumo. Successivamente verrà progettata la rete di schede, provviste di FPGA e moduli di comunicazione wireless, sulle quali ripartire le operazioni necessarie all'inferenza della rete. Il sistema prevederà dei nodi slave ed un nodo master: quest'ultimo controllerà lo stato dell'esecuzione, comunicherà agli slave dati ed istruzioni da eseguire in parallelo e riconfigurerà i nodi secondo le differenti esigenze computazionali, caricando durante l'esecuzione del programma i bitstream dei design prodotti nel framework, scegliendo i più efficienti per determinate parti di esecuzione; il master seguirà inoltre un sistema di scheduling delle operazioni per deviare su alcuni nodi l'esecuzione mentre altri vengono modificati, così da non fermare mai l'esecuzione del programma.

ERC
PE6_1, PE6_8, PE6_11
Keywords:
RETI NEURALI, SISTEMI INTELLIGENTI, COMPUTER VISION, DESIGN DIGITALE, INGEGNERIA ELETTRONICA

© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma