ucb-bar/gemmini
Berkeley's Spatial Array Generator
解決的問題
Gemmini 提供了一個全系統、全棧的平台,用於探索和評估深度神經網路 (DNN) 硬體。它允許架構師分析系統和軟體堆疊的不同組件(不僅僅是加速器本身)如何交互作用並影響整體 DNN 效能。
運作方式
Gemmini 實作為 RISC-V 的 RoCC (Rocket Custom Coprocessor) 加速器,使用 Chisel 硬體描述語言開發。其架構以用於矩陣乘法的脈動陣列為核心,同時支援輸出固定 和權重固定 資料流。
關鍵硬體組件包括:
- 解耦存取/執行架構:為執行、載入和儲存指令提供獨立的控制器,允許記憶體存取和運算同時進行。
- 暫存記憶體與累加器:用於儲存輸入、部分和與最終結果的私有 SRAMs。
- DMA 引擎:促進主機 CPU 主記憶體與加速器私有 SRAMs 之間的資料傳輸。
- 周邊電路:支援激勵函數(如 ReLU)、量化工作負載的縮放以及矩陣轉置。
適用對象
專為想要建構、配置和分析多樣化 DNN 加速器,並使用功能模擬器 (Spike) 或週期精確模擬器 (Verilator, VCS, 和 FireSim) 對其進行測試的硬體架構師和研究人員而設計。
亮點
- 靈活的配置:可調整脈動陣列維度、資料流、記憶體容量和資料類型(例如 8-bit 整數或浮點數)的參數。
- 全棧評估:與 Chipyard 生態系統整合,以在 baremetal、Linux 或 proxy-kernel 環境中測試軟體二進位檔案。
- 軟硬體協同設計:包含一個函式庫 (
libgemmini) 和測試套件,用於執行如 ResNet50 等大型 DNN 模型。 - FPGA 加速:支援 FireSim,用於端到端工作負載的高速、週期精確模擬。
相關
- 專案
- 專案
- 專案
- 專案