基於RISC-V架構的開源GPGPU Vortex 3.0已發布

Vortex 3.0 專案現已發布。本專案開發了一款基於 RISC-V 指令集架構的開源通用圖形處理器 (GPGPU),專為使用 OpenCL API 和 SIMT(單指令多執行緒)執行模型進行平行運算而設計。該專案還可用於 3D 圖形研究和新型 GPU 架構的開發。其原理圖、Verilog 硬體模組描述、模擬器、驅動程式以及相關設計文件均以 Apache 2.0 授權發布。

GPGPU 基於標準的 RISC-V 指令集架構 (ISA),並擴展了額外的指令以支援 GPU 特性和執行緒管理。對 RISC-V 指令集架構的改變被控制在最低限度,並儘可能使用現有的向量指令。新增指令包括:用於加速紋理處理的「tex」指令;用於光柵化控制的 vx_rast 指令;用於片段、深度和透明度處理的 vx_rop 指令;用於乘加運算的 vx_imadd 指令;以及用於啟動由 SIMD 引擎並行執行的執行緒組(波前)的 vx_wspawn、vx_mlit、dspawnx、v_barv_vs>、vdsp)、v_wspawn、vx_bar、vp)。

正在開發的通用圖形處理器 (GPGPU) 支援 32 位元和 64 位元 RISC-V RV32IMF 和 RV64IMAFD 指令集架構,並可包含可選的共享記憶體、L1、L2 和 L3 緩存,以及可配置數量的核心、線程束和線程組。每個核心還可以包含可配置數量的算術邏輯單元 (ALU)、浮點運算單元 (FPU)、邏輯單元 (LSU) 和空間功能單元 (SFU)。 Xilinx 和 Altera FPGA 可用於原型設計,而 Verilator(Verilog 模擬器)、RTLSIM(RTL 模擬器)和 SimX(軟體模擬器)可用於晶片模擬。

為了方便應用開發,我們提供了一套工具包,其中包括 Vortex 適配的 PoCL(Op​​enCL 編譯器和執行時間)、LLVM/Clang、GCC 和 Binutils。此專案支援 OpenCL 1.2 規範,並透過轉換為 OpenCL 實現了對 SPIR-V 著色器中間表示的支援。

Vortex 3.0 的變更包括:

  • 新增了硬體圖形堆疊,包括光柵化、紋理映射和輸出合併 (OM) 模組。基於已實現的圖形堆疊和 lavapipe 軟體光柵化器,我們為 Mesa 開發了 Vulkan 驅動程式 vortexpipe。
  • Tensor Core 旨在加速機器學習模型的執行,其功能已擴展,實現了對結構化稀疏性的支持,以壓縮權重矩陣。
  • WGMMA(warpgroup 層級矩陣乘法)運算已實現用於非同步模式下的矩陣乘法。
  • 新增了 DXA(資料傳輸加速)引擎,以加快從全域記憶體到本地記憶體的資料傳輸速度。
  • 基於命令處理器 (CP) 和運算核心硬體調度器 (KMU - 核心管理單元) 實現了一種新的架構,該架構允許將運算執行緒調度到晶片端。
  • 本文提出了一種新的運行時庫,該庫以非阻塞模式運行,並提供可轉換為非同步執行硬體命令的抽象層。它支援佇列、事件、模組以及基於非同步屏障的同步機制,並具有到達/等待/事件語義。
  • 增加了對 RISC-V 縮短指令集 (RVC) 的支援。
  • 已實現對原子操作的硬體支援(硬體原子操作)。
  • FPU 經過了徹底的重新設計,引入了新的乘法器(華萊士樹、折疊基數)和加法器(科格斯通)模組。
  • 新增了基於記憶體管理單元 (MMU) 的虛擬記憶體堆疊,支援 32 位元 SV32 虛擬尋址架構。
  • 支援 RISC-V Zicond 擴展,並實現了條件操作。
  • 整合時鐘門控。
  • 透過 chipStar 框架實現了對 HIP(異質可移植性介面)語言的支持,該框架將 HIP 轉換為 SPIR-V。
  • 已實現與 GEM5 模擬器的完全集成,並增加了對 TLM(事務級建模)架構上的 SimX 模擬器的支援。
  • 增加了對 Synopsys 和 Yosys 工具包的支持,用於晶片製造的邏輯綜合,以及對使用 ASAP7 (7nm)、SAED14 (14nm) 和 NanGate (15nm) 標準元素庫的支援。
  • 參考工具鏈已更新至 LLVM 20 和 POCL 7.0。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster