For the most part of the 20th century, computers have benefited from transistor scaling in order to support exponential performance improvement. As computer-chip features get smaller, ever larger proportions of chips must be turned off during operation due to power budget limitations. This new obstacle calls for a shift in paradigm in computer architecture. As a consequence of this, we have moved from an era of single-core design in the 20th century, through an era of homogeneous multi-core design in the beginning of the 21st century to the now ever-expanding trend of heterogeneous multi-core architectures with custom accelerators. In this thesis, we explore multi-directional systolic accelerators for Band and Generic matrix-matrix multiplications (BMMM and GMMM). Starting from a systolic design introduced in the 1970's by Kung and Leiserson, we conceptualized changing the direction of some data paths in order to achieve more than one operation. We then implemented the design in Verilog and the necessary memory management hardware in C++, using HLS tools to compile it to hardware. To link the RTL and HLS designs together, we developed a hybrid design workflow using Xilinx tools. For comparison, we also implemented an equivalent fully-HLS kernel. Architecturally, our design achieves 20x performance improvement for many streamed 16x16 GMMM operations and a 610x performance improvement in large BMMM matrices with a band size of 31, while using 30x more DSP's than our best HLS counterpart. Using our own fully-parametric data management hardware, we have achieved performance parity for GMMM and a 23x performance improvement for BMMM. Our benchmarks were performed on a Alveo U280 Data Center Card containing a Virtex Ultrascale+ FPGA and High Bandwidth Memory.

Per la maggior parte del secolo XX, i computer hanno beneficiato della scalabilità dei transistor per sostenere un miglioramento esponenziale delle prestazioni. Man mano che le caratteristiche dei chip dei computer diventano più piccole, una percentuale sempre maggiore di chip deve essere spenta durante il funzionamento a causa dei limiti del budget energetico. Questo nuovo ostacolo richiede un cambiamento di paradigma nell'architettura dei computer. Di conseguenza, siamo passati da un'era di design single-core nel secolo XX, a un'era di design multi-core omogeneo all'inizio del secolo XXI, fino alla tendenza in continua espansione delle architetture multi-core eterogenee con acceleratori personalizzati. In questa tesi esploriamo acceleratori sistolici multidirezionali per le moltiplicazioni matriciali a banda e generiche (BMMM e GMMM). Partendo da un design sistolico introdotto negli anni 70 da Kung e Leiserson, abbiamo concettualizzato il cambio di direzione di alcuni percorsi di dati per ottenere più di un'operazione. Abbiamo quindi implementato il progetto in Verilog e l'hardware necessario per la gestione della memoria in C++, utilizzando gli strumenti HLS per la compilazione in hardware. Per collegare insieme i progetti RTL e HLS, abbiamo sviluppato un workflow di design ibrido utilizzando gli strumenti Xilinx. A titolo di confronto, abbiamo anche implementato un kernel equivalente completamente HLS. Dal punto di vista architetturale, il nostro progetto ottiene un miglioramento delle prestazioni di 20x per molte operazioni GMMM 16x16 in streaming e un miglioramento delle prestazioni di 610x in matrici BMMM di grandi dimensioni con una dimensione di banda di 31, pur utilizzando un numero di DSP 30x superiore rispetto alla nostra migliore controparte HLS. Utilizzando il nostro hardware di gestione dei dati completamente parametrico, abbiamo ottenuto la parità di prestazioni per GMMM e un miglioramento delle prestazioni di 23x per BMMM. I nostri benchmark sono stati eseguiti su una scheda Data Center Alveo U280 contenente un FPGA Virtex Ultrascale+ e una memoria ad alta larghezza di banda (HBM).

On the design of multi-directional systolic arrays for band and generic matrix-matrix multiplications

GOUVEIA ERGIN, LEONEL DENIZ
2021/2022

Abstract

For the most part of the 20th century, computers have benefited from transistor scaling in order to support exponential performance improvement. As computer-chip features get smaller, ever larger proportions of chips must be turned off during operation due to power budget limitations. This new obstacle calls for a shift in paradigm in computer architecture. As a consequence of this, we have moved from an era of single-core design in the 20th century, through an era of homogeneous multi-core design in the beginning of the 21st century to the now ever-expanding trend of heterogeneous multi-core architectures with custom accelerators. In this thesis, we explore multi-directional systolic accelerators for Band and Generic matrix-matrix multiplications (BMMM and GMMM). Starting from a systolic design introduced in the 1970's by Kung and Leiserson, we conceptualized changing the direction of some data paths in order to achieve more than one operation. We then implemented the design in Verilog and the necessary memory management hardware in C++, using HLS tools to compile it to hardware. To link the RTL and HLS designs together, we developed a hybrid design workflow using Xilinx tools. For comparison, we also implemented an equivalent fully-HLS kernel. Architecturally, our design achieves 20x performance improvement for many streamed 16x16 GMMM operations and a 610x performance improvement in large BMMM matrices with a band size of 31, while using 30x more DSP's than our best HLS counterpart. Using our own fully-parametric data management hardware, we have achieved performance parity for GMMM and a 23x performance improvement for BMMM. Our benchmarks were performed on a Alveo U280 Data Center Card containing a Virtex Ultrascale+ FPGA and High Bandwidth Memory.
SOLDAVINI, STEPHANIE
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Per la maggior parte del secolo XX, i computer hanno beneficiato della scalabilità dei transistor per sostenere un miglioramento esponenziale delle prestazioni. Man mano che le caratteristiche dei chip dei computer diventano più piccole, una percentuale sempre maggiore di chip deve essere spenta durante il funzionamento a causa dei limiti del budget energetico. Questo nuovo ostacolo richiede un cambiamento di paradigma nell'architettura dei computer. Di conseguenza, siamo passati da un'era di design single-core nel secolo XX, a un'era di design multi-core omogeneo all'inizio del secolo XXI, fino alla tendenza in continua espansione delle architetture multi-core eterogenee con acceleratori personalizzati. In questa tesi esploriamo acceleratori sistolici multidirezionali per le moltiplicazioni matriciali a banda e generiche (BMMM e GMMM). Partendo da un design sistolico introdotto negli anni 70 da Kung e Leiserson, abbiamo concettualizzato il cambio di direzione di alcuni percorsi di dati per ottenere più di un'operazione. Abbiamo quindi implementato il progetto in Verilog e l'hardware necessario per la gestione della memoria in C++, utilizzando gli strumenti HLS per la compilazione in hardware. Per collegare insieme i progetti RTL e HLS, abbiamo sviluppato un workflow di design ibrido utilizzando gli strumenti Xilinx. A titolo di confronto, abbiamo anche implementato un kernel equivalente completamente HLS. Dal punto di vista architetturale, il nostro progetto ottiene un miglioramento delle prestazioni di 20x per molte operazioni GMMM 16x16 in streaming e un miglioramento delle prestazioni di 610x in matrici BMMM di grandi dimensioni con una dimensione di banda di 31, pur utilizzando un numero di DSP 30x superiore rispetto alla nostra migliore controparte HLS. Utilizzando il nostro hardware di gestione dei dati completamente parametrico, abbiamo ottenuto la parità di prestazioni per GMMM e un miglioramento delle prestazioni di 23x per BMMM. I nostri benchmark sono stati eseguiti su una scheda Data Center Alveo U280 contenente un FPGA Virtex Ultrascale+ e una memoria ad alta larghezza di banda (HBM).
File allegati
File Dimensione Formato  
_Thesis___Leonel_FINAL.pdf

accessibile in internet per tutti

Descrizione: Thesis Document
Dimensione 7.35 MB
Formato Adobe PDF
7.35 MB Adobe PDF Visualizza/Apri
ES_FINAL.pdf

accessibile in internet per tutti

Descrizione: Executive Summary
Dimensione 3.4 MB
Formato Adobe PDF
3.4 MB 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/196700