Eventi

XOHW17: i 6 finalisti del NECSTLab del Politecnico di Milano

I risultati dello XOHW17 hanno visto ancora una volta il NECSTLab protagonista della competizione, infatti 7 progetti sono stati selezionati tra i finalisti e, per il secondo anno di fila, hanno vinto il premo nella categoria PhD con il team di bibbidi N-BObbiDY boo.
Conosciamo i 6 gruppi finalisti del concorso, alcuni dei quali hanno presentato il proprio lavoro durante il NGC17 nella Silicon Valley.

numPYNQ

Filippo Carloni: studente triennale in Ingegneria Informatica;
Riccardo Pressiani: studente magistrale in Ingegneria Informatica;
Luca Stornaiuolo: studente magistrale in Ingegneria Informatica.

numPYNQ
Credits: NECSTLab

I sistemi basati su FPGA offrono un’elevata capacità computazionale a fronte di un basso consumo energetico e, grazie anche alla loro flessibilità, si prestano ad accelerare diversi tipi di applicazioni. Tra queste abbiamo anche le applicazioni per il calcolo scientifico. Tuttavia, gli utenti non esperti nel dominio dell’accelerazione hardware sono limitati nell’utilizzo di questi dispositivi a causa dell’elevata esperienza necessaria per poter sfruttare al massimo le potenzialità di questi dispositivi. numPYNQ propone una soluzione semplice che permetta agli utenti di integrare nelle loro applicazioni, in modo trasparente, i vantaggi dell’accelerazione hardware. numPYNQ dunque è una libreria hardware per la board PYNQ-Z1, la quale integra versioni accelerate delle principali funzioni di NumPy, una libreria Python usata per il calcolo scientifico. La nuova tecnologia ad “overlay” proposta da Xilinx permetterà agli utenti di utilizzare numPYNQ come una comune libreria Python.
Facebook: https://www.facebook.com/numPYNQ
Twitter: https://twitter.com/numPYNQ_NECST
YouTube: https://www.youtube.com/watch?v=REUsVLLt97A&list=PLewc2qlpcOufREA9tdnirvpHxWADHOxPD

WEMoS (Wearable Emotion Monitoring System)

Simone Amico: studente magistrale in Ingegneria Informatica;
Tommaso Ciceri: studente triennale in Ingegneria Biomedica;
Bianca Falcone: studente triennale in Ingegneria Biomedica.

WEMoS
Credits: NECSTLab

WEMoS è una rete portatile di sensori in grado di rilevare, in tempo reale, le emozioni dell’utente attraverso il monitoraggio e l’analisi dei parametri fisiologici, agendo come una specie di Holter emotivo.
Il dispositivo sarà costituito da una FPGA (PYNQ-Z1) e da un suo particolare componente, il PYNQ-Shield, al quale saranno collegati diversi sensori con il fine di analizzare la variabilità del ritmo cardiaco, la conduttanza della pelle e la temperatura ambientale.
Dal momento che le alterazioni di umore influenzano fortemente il normale processo emotivo, il riconoscimento delle emozioni è uno degli obiettivi nel campo della psicopatologia del disturbo dell’umore.
WEMoS risulta quindi essere una soluzione per tutti gli psicologi che vorranno offrire delle diagnosi più accurate e veloci per valutare le psicopatologie del disturbo dell’umore.

Facebook: https://www.facebook.com/WEMoSatNECST
Twitter: https://twitter.com/WEMoSatNECST
YouTube: https://goo.gl/u2Rx2Y

BIE-PInCS: Brain Injury Evaluation with Pupillometer based on INfrared Camera System

Filippo Bracco: studente triennale in Ingegneria Biomedica;
Chiara Di Vece: studente triennale in Ingegneria Biomedica;
Tommaso Massari: studente magistrale in Ingegneria Informatica.

BIE-PInCS
Credits: NECSTLab

Il trauma cranico rappresenta la prima causa di morte nei paesi industrializzati nei giovani sotto i 40 anni ed è fondamentale diagnosticarlo in modo ottimale e valutarlo costantemente in fase di riabilitazione. La reattività alla luce di entrambe le pupille, chiamato riflesso fotopupillare, è utile per valutare la gravità del trauma cranico. Tuttavia, la capacità limitata delle prime analisi e l’assenza di un metodo preciso per una valutazione quantitativa incrementano la complessità nella diagnosi di trauma cranico per i primi soccorsi medici. Lo scopo di questo progetto è la realizzazione di un dispositivo integrato, basato su FPGA, per le misure pupillometriche per affiancare la valutazione neurologica tramite un test al Point-of-Care.

Grazie all’individuazione e al tracciamento della pupilla, il pupillometro automatico permette di stimare il diametro della pupilla e la velocità di risposta ai flash luminosi, fornendo un’informazione quantitativa per aiutare i medici. La precisione e la ripetibilità delle misure potrebbero anche essere utili per valutare la condizione del soggetto durante la fase riabilitativa evitando i problemi caratteristici del periodo post-traumatico.
Il dispositivo proposto garantisce una misurazione della pupilla in tempo reale con una telecamera infrarossi con una frequenza di campionamento pari a 60 Hz con una velocità di esecuzione totale di 8.7 ms per frame (114 fps). Inoltre, grazie alle caratteristiche della FPGA, il dispositivo proposto è altamente riconfigurabile, portatile ed efficiente dal punto di vista del consumo energetico.

Facebook: https://www.facebook.com/BIEPInCSatNECST
Twitter: https://twitter.com/BIEPInCSatNECST
YouTube: https://www.youtube.com/watch?v=_Y6DXl6Wkps&list=PLewc2qlpcOudk0TcxfQjREWd_wpiFVJA2

Sibyl

Francesco Rotondo: studente triennale in Ingegneria Informatica;
Tommaso Sardelli: studente magistrale in Ingegneria Informatica.

Sibyl
Credits:NECSTLab

Quando si accelerano algoritmi su piattaforme come le FPGA, è importante tenere sempre sotto controllo il numero di risorse hardware che l’implementazione andrà ad utilizzare.
I moderni IDE utilizzati dagli sviluppatori sono in grado di fornire tale informazione, ma solamente dopo un’iniziale processo di sintesi da linguaggio ad alto livello (C/C++) a linguaggi più vicini all’hardware (VHDL/Verilog). Il problema di questo approccio è che, talvolta, il processo di sintesi può richiedere tempi molto lunghi, impedendo così allo sviluppatore di avere informazioni tempestive e poterle quindi utilizzare a proprio vantaggio per implementare l’algoritmo in modo efficace.
Lo scopo del progetto è quello di riuscire a fare una previsione delle risorse hardware che verranno utilizzate, prima che venga effettuata la sintesi.
Basandoci solamente sull’analisi statica del codice e su dataset di utilizzo delle risorse, ottenuti tramite benchmark, siamo in grado di fare una stima delle risorse rapida e precisa, che possa essere d’aiuto per lo sviluppatore nel pianificare le sue scelte implementative.

Facebook: https://www.facebook.com/SibylatNECST
Twitter: https://twitter.com/SibylatNECST
YouTube: https://www.youtube.com/playlist?list=PLewc2qlpcOuddfDEzVcCvWK7hOIqkANP2

TiReX: A Tiled Regular eXpression matching architecture

Alessandro Comodi: studente magistrale in Ingegneria Informatica;
Davide Conficconi: studente magistrale in Ingegneria Informatica.

TiReX
Credits: NECSTLab

Il progetto TiReX mira a risolvere i problemi di due diversi campi applicativi.
In primo luogo l’ambito della medicina personalizzata che, negli ultimi anni, ha attirato l’attenzione dei ricercatori dato che un suo sviluppo apporterebbe miglioramenti sia dal punto di vista economico che dell’assistenza sanitaria. Infatti, grazie a nuove tecniche di sequenziamento, è possibile acquisire in tempi brevi grandi quantità di dati genomici. Il problema consiste nell’analizzare questa grande mole di dati in tempi ristretti per ricercare dei specifici pattern all’interno del DNA, con il fine di garantire maggiore efficacia alle cure.
Un ambito totalmente diverso, invece, è quello della Sicurezza Informatica. Negli ultimi tempi è cresciuta la necessità di rendere sicuri i sistemi informatici e una delle tecniche adottate per proteggersi da possibili attacchi è la “Signature Based Detection”.
Questa tecnica prevede la ricerca di specifici pattern che identificano del codice malevolo nascosto all’interno dei pacchetti che vengono inviate in rete. La sfida è quella di riuscire ad analizzare ciascun pacchetto in tempi minimi per non rallentarne la trasmissione.
Il fattore comune di questi due campi applicativi è la ricerca di pattern che può avvenire efficientemente tramite le cosiddette “Espressioni Regolari”.
L’obiettivo di TiReX è quindi quello di implementare un processore personalizzato il cui scopo è effettuare una ricerca delle possibili sottostringhe, definite dalle Espressioni Regolari, all’interno di una grande mole di dati in modo efficace ed efficiente. Il processore è dotato di una memoria istruzioni flessibile che può essere aggiornata per effettuare la ricerca di diversi pattern. TiReX si propone anche di offrire un’architettura multi-core che riesca a sfruttare l’intrinseco parallelismo garantito dall’FPGA in modo da ottenere un sistema più performante. L’attuale versione sviluppata è stata implementata su una Virtex 7 FPGA di Xilinx.

Facebook: https://www.facebook.com/TiReXatNECST/
Twitter: https://twitter.com/TiReXatNECST
YouTube: https://www.youtube.com/watch?v=zvROiiohR8k&list=PLewc2qlpcOucHyI3g_2f1Q-xKnYEvJ97j

OXiGen

Francesco Peverelli: studente magistrale in Ingegneria Informatica;
Enrico Reggiani: studente magistrale in Ingegneria Informatica;
Marco Siracusa: studente magistrale in Ingegneria Informatica.

OXiGen
Credits:NECSTLab

OXiGen è un tool di “computer-aided design” per la programmazione su FPGA. Ad oggi, le due principali metodologie impiegate per programmare su FPGA sono il design tramite i tradizionali linguaggi di descrizione hardware (HDL) e il design tramite tool per la sintesi di alto livello (HLS). Se da un lato il design tramite HDL permette ad un designer esperto di intervenire con precisione sulle criticità di un progetto, dall’altro è un procedimento che richiede molto tempo ed esperienza e non offre buona scalabilità per progetti molto grandi. I tools di HLS permettono di programmare per FPGA tramite linguaggi di alto livello e traducono automaticamente la specifica del design in HDL. Questa metodologia facilita notevolmente la fase di design, ma spesso richiede agli sviluppatori di imparare sintassi addizionale e/o linguaggi proprietari usati dal tool di HLS utilizzato.
OXiGen introduce un’ulteriore semplificazione della fase di design, poiché traduce automaticamente la specifica C di una funzione da accelerare in hardware nel linguaggio utilizzato da un tool di HLS scelto, senza richiedere ulteriori interventi da parte dello sviluppatore.

Facebook: https://www.facebook.com/OXiGenatNECST
YouTube: https://www.youtube.com/playlist?list=PLewc2qlpcOueui4kbhMzGfK7sX9v_XnCa

 

 

 

 

 

Published by
Redazione