Nome e qualifica del proponente del progetto: 
sb_p_2186805
Anno: 
2020
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
Componenti gruppo di ricerca: 
sb_cp_is_2863166
Innovatività: 

L'innovazione di questa ricerca è da ricercare nell'intento di creare una rete di dispositivi smart pensati per applicazioni IoT, su cui effettuare i calcoli e le operazioni elementari che sono alla base del funzionamento delle reti neurali. Lo scopo del mio lavoro sarà quello di dimostrare come questa rete altamente riconfigurabile sarà in grado di gestire correttamente il carico di lavoro di diverse applicazioni. Tutto ciò a differenza dell'attuale stato dell'arte, che attualmente spesso prevede l'ideazione di intere architetture hardware a supporto dell'elaborazione, ma pensate per la specifica applicazione. La riconfigurabilità della rete sarà presente offline, caricando sulle FPGA le unità ed architetture hardware migliori a seconda dell'applicazione, scegliendo da un insieme di unità precedentemente ideate ed scalabili con macro-parametri per caratteristiche (numero di unità DSP, dimensione e numero di banchi di memorie integrate, tipologie di controllori per lo scambio di dati), sia online. In questo caso infatti l'intento, non ancora indagato nell'ambito della ricerca, sarà quello di gestire l'esecuzione delle applicazioni su una rete di nodi -schede con FPGA- connessi tra di loro, in grado di controllare in run-time il numero e la tipologia di risorse necessarie per l'elaborazione, e riconfigurare, con dei nuovi bitstream, le unità hardware dedicate all'elaborazione per puntare alla miglior efficienza possibile.

Codice Bando: 
2186805

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