NECST Friday Talk
La mia esperienza a MIT
Emanuele Del Sozzo
Dottorando del DEIB - Politecnico di Milano
DEIB - NECST Meeting Room (Edificio 20, piano seminterrato)
9 febbraio 2018
ore 12.00
Contatti:
Marco Santambrogio
Linea di Ricerca:
Architetture
Emanuele Del Sozzo
Dottorando del DEIB - Politecnico di Milano
DEIB - NECST Meeting Room (Edificio 20, piano seminterrato)
9 febbraio 2018
ore 12.00
Contatti:
Marco Santambrogio
Linea di Ricerca:
Architetture
Sommario
Questa presentazione descrive la mia esperienza come studente di dottorato in visita a MIT, dove ho collaborato con il Commit group. La mia collaborazione si è focalizzata sullo sviluppo di un backend comune per Domain Specific Language (DSL) al fine di generare efficientemente codice per Field Programmable Gate Array (FPGA).
FPGA sono circuiti integrati configurabili in grado di fornire un buon compromesso in termini di prestazioni, consumo di potenza e flessibilità rispetto ad altre architetture come CPU, GPU e ASIC. Lo svantaggio principale nell'utilizzo di FPGA consiste tuttavia nella ripida curva di apprendimento. Una soluzione emergente a questo problema è lo scrivere algoritmo con un DSL e lasciare che il compilatore del DSL generi codice efficiente per FPGA. Durante la mia visita di ricerca, I sviluppato FROST, un backend unificato che permette a differenti compilatori per DSL di generare codice per FPGA. A differenza di altri framework simili, FROST sfrutta un co-linguaggio di scheduling che permette agli utenti di avere controllo completo sulle ottimizzazioni da applicare (ad esempio pipelining di loop, partizione di array, vettorizzazione). Inizialmente, FROST analizza e manipola l'albero sintattico in ingresso al fine di applicare trasformazioni ed ottimizzazioni per FPGA, poi genera una implementazione in C/C++ adatta a strumenti di sintesi di alto livello (HLS). Infine, il risultato della fase di HLS è sintetizzato e implementato su FPGA usando la toolchain di Xilinx SDAccel.
NECSTLab è un laboratorio del DEIB, focalizzato su diverse aree di ricerca nel mondo dei computer: dalle caratteristiche architetturali alle metodologie di co-design hardware-software, fino alle problematiche di sicurezza e affidabilità.
Ogni settimana, i "NECST Friday Talk" invitano ricercatori, professionisti o imprenditori a raccontare le loro esperienze lavorative e i progetti che stanno realizzando nel settore "Computing Systems".
FPGA sono circuiti integrati configurabili in grado di fornire un buon compromesso in termini di prestazioni, consumo di potenza e flessibilità rispetto ad altre architetture come CPU, GPU e ASIC. Lo svantaggio principale nell'utilizzo di FPGA consiste tuttavia nella ripida curva di apprendimento. Una soluzione emergente a questo problema è lo scrivere algoritmo con un DSL e lasciare che il compilatore del DSL generi codice efficiente per FPGA. Durante la mia visita di ricerca, I sviluppato FROST, un backend unificato che permette a differenti compilatori per DSL di generare codice per FPGA. A differenza di altri framework simili, FROST sfrutta un co-linguaggio di scheduling che permette agli utenti di avere controllo completo sulle ottimizzazioni da applicare (ad esempio pipelining di loop, partizione di array, vettorizzazione). Inizialmente, FROST analizza e manipola l'albero sintattico in ingresso al fine di applicare trasformazioni ed ottimizzazioni per FPGA, poi genera una implementazione in C/C++ adatta a strumenti di sintesi di alto livello (HLS). Infine, il risultato della fase di HLS è sintetizzato e implementato su FPGA usando la toolchain di Xilinx SDAccel.
NECSTLab è un laboratorio del DEIB, focalizzato su diverse aree di ricerca nel mondo dei computer: dalle caratteristiche architetturali alle metodologie di co-design hardware-software, fino alle problematiche di sicurezza e affidabilità.
Ogni settimana, i "NECST Friday Talk" invitano ricercatori, professionisti o imprenditori a raccontare le loro esperienze lavorative e i progetti che stanno realizzando nel settore "Computing Systems".