VeriGPU 項目使用 Verilog 語言開發開放式 GPU

VeriGPU 項目旨在創建一個使用 Verilog 電子系統描述和建模語言開發的開放式 GPU。 最初,該項目是使用 Verilog 模擬器開發的,但在準備就緒後,它可以用於生產真正的芯片。 項目開發在 MIT 許可證下分發。

VeriGPU 定位為專用處理單元 (ASIC),經過優化可加速與機器學習系統相關的計算。 該計劃提到提供與 PyTorch 深度機器學習框架的兼容性,以及使用 HIP(異構計算接口)API 為 VeriGPU 開發應用程序的可能性。 未來不排除增加對SYCL、NVIDIA CUDA等其他API的支持。

GPU 基於 RISC-V 指令集發展,但由此產生的 GPU 指令集內部架構與 RISC-V ISA 的兼容性較差,因為在 GPU 的設計不適合 RISC-V 表示的情況下, 保持與 RISC-V 兼容的任務沒有設置。 開發的重點是機器學習系統所需的能力,因此,為了減少芯片矩陣的大小和復雜度,只使用 BF16 浮點格式,並且只使用機器學習需要的浮點運算,例如exp、log、tanh 和 sqrt 可用。

在已經可用的組件中,GPU 控制器、用於整數運算的 APU(加速處理單元)(“+”、“-”、“/”、“*”)、用於浮點運算的塊(“+”、“*”) ) 和一個分支單元。 為了創建應用程序,提供了一個彙編器和對基於 LLVM 編譯 C++ 代碼的支持。 在計劃的功能中,指令的並行執行、數據和指令存儲器的緩存、SIMT 操作(單指令多線程)脫穎而出。

VeriGPU 項目使用 Verilog 語言開發開放式 GPU


來源: opennet.ru

添加評論