Modern computing systems have seen a significant shift toward the adoption of hardware accelerators to meet the needs of energy-efficient and high-performance computing. Modern High-Level Synthesis tools have been able to simplify hardware design by enabling development from high-level programming languages and reducing the time to market, but significant challenges remain in memory subsystem design and integration. This thesis presents a solution that integrates the HLS tool Dynamatic, a dynamically scheduled HLS tool, and Mnemosyne, a CAD tool used for memory generation, creating a comprehensive framework that bridges the gap by automating the entire pipeline from C algorithms to optimized hardware accelerators. This integration, with the addition of previously unsupported latency-insensitive memories by Dynamatic, enables the introduction of an automated design space exploration capability. This systematically evaluates all memory configuration permutations, identifying Pareto-optimal solutions through skyline analysis, which enables designers to make informed trade-off decisions between performance and memory resource utilization without requiring manual intervention. The framework includes automatic C code transformation for latency-insensitive memory support, interface generation, testbench creation, complete Vivado project setup, and a testing tool. The modular architecture of the presented solution provides significant flexibility for customization and optimization, ensuring that it can serve as a foundation for further research.

Per via della sempre più crescente rishiesta di sistemi ad alta efficienza energetica e ad alte prestazioni, l'adozione di acceleratori hardware sta prendendo sempre più importanza nei moderni sistemi informatici. I moderni strumenti di High-Level Synthesis (HLS) sono stati in in grado di semplificare la progettazione hardware, rendendo possibile lo sviluppo a partire da linguaggi di programmazione di alto livello e riducendo il tempo necessario per entrare nel mercato, ma molti sviluppi devono ancora essere fatti per quanto riguarda la progettazione dei sottosistemi di memoria e la loro integrazione. Questa tesi presenta una soluzione che integra lo strumento di High-Level Synthesis Dynamatic, uno strumento di HLS a scheduling dinamico, e Mnemosyne, uno strumento CAD utilizzato per la generazione di memorie, creando un framework completo che collega questi due progetti in una pipeline interamente automatizzata che porta dall'algoritmo descritto in C ad acceleratori hardware ottimizzati. Questa integrazione, con l'aggiunta di memorie latency-insensitive precedentemente non supportate da Dynamatic, introduce la possibilità di integrare un'esplorazione automatica del design space. Questa valuta sistematicamente tutte le permutazioni delle possibili configurazioni di memoria, identificando soluzioni Pareto ottime attraverso l'analisi skyline, che offre la possibilità ai designer di prendere decisioni basate sui risultati che rappresentano un compromesso tra la performance e le risorse di memoria utilizzate, senza la necessità di un intervento manuale. Questo framework include la trasformazione automatica del codice C per poter supportare le memorie latency-insensitive, la generazione delle interfacce, la creazione di un testbench, la completa preparazione di un progetto Vivado, e un tool per testare l'acceleratore. L'architettura modulare della soluzione presentata offre una una elevata flesibilità per ottimizzazioni e personalizzazioni, facendo sì che questo progetto possa essere utilizzato come base per ricerche future.

Co-design of memory systems for hardware accelerators

Peltrera, Gioele
2024/2025

Abstract

Modern computing systems have seen a significant shift toward the adoption of hardware accelerators to meet the needs of energy-efficient and high-performance computing. Modern High-Level Synthesis tools have been able to simplify hardware design by enabling development from high-level programming languages and reducing the time to market, but significant challenges remain in memory subsystem design and integration. This thesis presents a solution that integrates the HLS tool Dynamatic, a dynamically scheduled HLS tool, and Mnemosyne, a CAD tool used for memory generation, creating a comprehensive framework that bridges the gap by automating the entire pipeline from C algorithms to optimized hardware accelerators. This integration, with the addition of previously unsupported latency-insensitive memories by Dynamatic, enables the introduction of an automated design space exploration capability. This systematically evaluates all memory configuration permutations, identifying Pareto-optimal solutions through skyline analysis, which enables designers to make informed trade-off decisions between performance and memory resource utilization without requiring manual intervention. The framework includes automatic C code transformation for latency-insensitive memory support, interface generation, testbench creation, complete Vivado project setup, and a testing tool. The modular architecture of the presented solution provides significant flexibility for customization and optimization, ensuring that it can serve as a foundation for further research.
TIBALDI, MATTIA
ING - Scuola di Ingegneria Industriale e dell'Informazione
22-lug-2025
2024/2025
Per via della sempre più crescente rishiesta di sistemi ad alta efficienza energetica e ad alte prestazioni, l'adozione di acceleratori hardware sta prendendo sempre più importanza nei moderni sistemi informatici. I moderni strumenti di High-Level Synthesis (HLS) sono stati in in grado di semplificare la progettazione hardware, rendendo possibile lo sviluppo a partire da linguaggi di programmazione di alto livello e riducendo il tempo necessario per entrare nel mercato, ma molti sviluppi devono ancora essere fatti per quanto riguarda la progettazione dei sottosistemi di memoria e la loro integrazione. Questa tesi presenta una soluzione che integra lo strumento di High-Level Synthesis Dynamatic, uno strumento di HLS a scheduling dinamico, e Mnemosyne, uno strumento CAD utilizzato per la generazione di memorie, creando un framework completo che collega questi due progetti in una pipeline interamente automatizzata che porta dall'algoritmo descritto in C ad acceleratori hardware ottimizzati. Questa integrazione, con l'aggiunta di memorie latency-insensitive precedentemente non supportate da Dynamatic, introduce la possibilità di integrare un'esplorazione automatica del design space. Questa valuta sistematicamente tutte le permutazioni delle possibili configurazioni di memoria, identificando soluzioni Pareto ottime attraverso l'analisi skyline, che offre la possibilità ai designer di prendere decisioni basate sui risultati che rappresentano un compromesso tra la performance e le risorse di memoria utilizzate, senza la necessità di un intervento manuale. Questo framework include la trasformazione automatica del codice C per poter supportare le memorie latency-insensitive, la generazione delle interfacce, la creazione di un testbench, la completa preparazione di un progetto Vivado, e un tool per testare l'acceleratore. L'architettura modulare della soluzione presentata offre una una elevata flesibilità per ottimizzazioni e personalizzazioni, facendo sì che questo progetto possa essere utilizzato come base per ricerche future.
File allegati
File Dimensione Formato  
2025_07_Peltrera_Tesi.pdf

accessibile in internet per tutti

Descrizione: testo tesi
Dimensione 3.68 MB
Formato Adobe PDF
3.68 MB Adobe PDF Visualizza/Apri
2025_07_Peltrera_Executive_Summary.pdf

accessibile in internet per tutti

Descrizione: executive summary
Dimensione 640.29 kB
Formato Adobe PDF
640.29 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/239794