핵심 개념
SILVIA 是一個基於 LLVM 的開源工具,它通過自動識別和打包 HLS 設計中的並行操作到 DSP 中,從而提高 FPGA 加速器的計算強度,而無需修改源代碼。
論文資訊:
Giovanni Brignone, Roberto Bosio, Fabrizio Ottati, Claudio Sansoè, and Luciano Lavagno. 2024. SILVIA: Automated Superword-Level Parallelism Exploitation via HLS-Specific LLVM Passes for Compute-Intensive FPGA Accelerators. ACM Trans. Reconfig. Technol. Syst. 37, 4, Article 111 (August 2024), 16 pages. https://doi.org/XXXXXXX.XXXXXXX
研究目標:
本研究旨在解決高階合成 (HLS) 設計中缺乏自動化指令向量化功能的問題,特別是在利用 FPGA 上的數位訊號處理器 (DSP) 進行打包操作方面。
方法:
本研究提出 SILVIA,這是一個開源的 LLVM 轉換 Pass,它可以自動識別 HLS 設計中的超字級並行性,並通過將多個操作(例如加法、乘法和乘加運算)打包到單個 DSP 中來利用它。SILVIA 被整合到商用 AMD Vitis HLS 工具的流程中,並通過在 DSP 上打包多個操作來證明其有效性,而無需對多個不同的最先進 HLS 設計(例如卷積神經網路和基本線性代數子程式加速器)進行任何手動源代碼修改。
主要發現:
實驗結果顯示,SILVIA 平均可節省 60% 的加法 DSP 和 45% 的乘法和乘加 DSP,而不會影響性能,也無需修改源代碼。
主要結論:
SILVIA 提供了一種自動化的方法,可以通過利用 DSP 打包功能來提高 HLS 設計的計算強度,從而簡化 FPGA 加速器的設計流程。
意義:
本研究對於 FPGA 加速器的設計具有重要意義,特別是在需要高計算強度的應用中,例如機器學習和訊號處理。
局限性和未來研究方向:
未來的研究方向包括支援更多類型的 DSP 打包操作,以及開發更複雜的演算法來識別 HLS 設計中的並行性。
통계
SILVIA 平均可節省加法 DSP 70%。
SILVIA 平均可節省乘法和乘加 DSP 50%。
SILVIA 的執行時間相對於整個 HLS 和實現流程來說微不足道。