Generazione efficiente di codice per sistemi eterogenei con acceleratori vettoriali e matriciali RISC-V

Focaccia, Pietro (2026) Generazione efficiente di codice per sistemi eterogenei con acceleratori vettoriali e matriciali RISC-V. [Laurea magistrale], Università di Bologna, Corso di Studio in Ingegneria informatica [LM-DM270], Documento full-text non disponibile
Il full-text non è disponibile per scelta dell'autore. (Contatta l'autore)

Abstract

Gli acceleratori specializzati per operazioni matriciali e vettoriali forniscono la capacità di calcolo richiesta dai moderni carichi di lavoro di machine learning, ma la presenza di risorse di esecuzione eterogenee, organizzazioni della memoria differenziate e istruzioni specifiche per il target introduce una notevole complessità a livello software. Per sfruttare in modo efficiente tali sistemi è quindi necessario un compilatore capace di preservare la struttura computazionale di alto livello, introducendo progressivamente tecniche di tiling, trasferimenti di dati, sincronizzazione e selezione degli acceleratori. Questo lavoro sviluppa un’infrastruttura di compilazione end-to-end per una piattaforma RISC-V eterogenea che combina core scalari, un coprocessore vettoriale, un coprocessore matriciale, un motore DMA e una memoria condivisa. Il flusso proposto estende il backend RISC-V di LLVM, introduce dialetti MLIR specifici per il target e implementa passaggi di lowering personalizzati. I programmi di alto livello possono essere importati tramite torch-mlir, abbassati a partire da operazioni Linalg strutturate e compilati in un unico eseguibile bare-metal, secondo un modello di esecuzione eterogeneo in stile SPMD. L’implementazione è stata valutata mediante moltiplicazioni di matrici con dimensioni e tipi di dato differenti e attraverso un blocco di attention per Transformer. Per dimensioni matriciali sufficientemente grandi e bilanciate, le configurazioni generate raggiungono un utilizzo di circa il (93%). Il blocco di attention è stato eseguito con successo sia in GVSOC sia in RTL, validando l’intero flusso, da PyTorch fino all’esecuzione sul target, e mettendo in evidenza le trasposizioni matriciali come uno dei principali colli di bottiglia end-to-end. Questi risultati dimostrano che la generazione automatica del codice può gestire la complessità dei sistemi RISC-V eterogenei strettamente accoppiati e produrre esecuzioni coordinate ed efficienti.

Abstract
Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
Focaccia, Pietro
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM INGEGNERIA INFORMATICA
Ordinamento Cds
DM270
Parole chiave
RISC-V, Compilatori, MLIR, LLVM
Data di discussione della Tesi
6 Ottobre 2026
URI

Altri metadati

Gestione del documento: Visualizza il documento

^