Vortex,一个基于RISC-V开发GPGPU的项目

Vortex,基于 RISC-V 的 GPGPU

RISC-V 是一种非常受欢迎的架构 近年来,这得益于其开源(ISA)设计,并且由于其灵活性和模块化性,它已成为最重要的处理器架构之一。

多亏了 多个基于RISC-V的项目已启动 其中之一是 Vortex,我们今天将在博客上讨论它。

什么是 Vortex 项目?

涡流 es 一个开发 GPGPU 的项目, 基于RISC-V架构。 该项目旨在使用 OpenCL API 和 SIMT 执行模型执行并行计算。

Vortex GPGPU 的核心是通用 RISC-V,已实施改进 以及一些附加说明 需要支持 GPU 功能和线程控制。 同时,对 RISC-V 指令集架构的更改保持在最低限度,并尽可能使用现有的向量指令。 RV64X项目也采用了类似的方法,该项目也开发了基于RISC-V技术的开放GPU。

另一个功能 Vortex就是GPGPU 有高级说明,其中包括:“tex”用于加速纹理处理,“vx_rast”用于控制光栅化,“vx_rop”用于处理片段、深度和透明度,“vx_imadd”用于执行乘法和加法操作,“vx_wspawn”、“vx_tmc”和“vx_bar”用于激活指令边缘和波前(由 SIMD 引擎并行执行的一组线程)、“vx_split”和“vx_join”。

的cVortex 突出的主要特点 发现以下内容:

  •  支持32位和64位RISC-V指令集架构:RV32IMF和RV64IMAFD。
  • 可配置性:可配置的核心数量、任务块(warp)和线程。
  • 处理单元:每个核心可配置的 ALU、FPU、LSU 和 SFU 数量。
  • 出口宽度:可调节管道出口宽度。
  • 内存:可选共享内存和L1、L2和L3缓存。
  • OpenCL 1.2 规范支持。
  • 基于 FPGA 的实现:可以在 Altera Arria 10、Altera Stratix 10、Xilinx Alveo U50、U250、U280 和 Xilinx Versal VCK5000 FPGA 上实现。
  • SPIR-V 支持:通过转换为 OpenCL 来实现。
    开发工具:一个工具集,包括 PoCL(Op​​enCL 编译器和运行时)、LLVM/Clang、GCC 和 Binutils 的变体,适合与 Vortex 配合使用。
  • 芯片仿真:支持使用Verilator(Verilog仿真器)、RTLSIM(RTL仿真)、SimX(软件仿真)。
    天空盒 GPU

除此之外, 针对基于 Vortex 技术的图形,正在开发 Skybox GPU 支持 Vulkan 图形 API 的开放。值得一提的是,Skybox原型是基于Altera Stratix 10 FPGA创建的,包括32个核心(512个线程),频率为230 MHz。值得注意的是,这是第一个软硬件实现兼容的开放GPU。与 Vulkan

值得一提的是 目前 Vortex 项目处于 2.1 版本, 最近发布并实现了重要的更改,例如:内存合并支持(现已支持)、CSR 指令处理已优化、重载已优化、新的构建配置脚本等:

  • 添加了内核APIpawn_taskgroups 运行使用本地内存和屏障的内核
  • 可重定位内核二进制文件和参数的新运行时扩展。
  • 新的运行时内存 API 添加: vx_mem_reserve、vx_mem_access、vx_mem_address
  • 新的运行时 API vx_check_占用
  • 添加了 GPU 驱动程序选项以在本地 GPU 上尝试 OpenCL 测试(例如 blackbox.sh –driver=gpu –app=sgemm)
  • 添加了与本地内存一起使用的 OpenCL 测试(psum、sgemm2、sgemm3)
  • 添加了带有控制发散检测的自定义 vortex libc 和 librt 库。

如果您有兴趣了解更多信息,您应该知道原理图、Verilog 语言硬件模块的描述、模拟器、驱动程序以及随附的设计文档都是在 Apache 2.0 许可证下分发的。您可以在以下内容中查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。