Skip to main content
QUICK REVIEW

[论文解读] Vortex: OpenCL Compatible RISC-V GPGPU

Fares Elsabbagh, Blaise Tine|arXiv (Cornell University)|Feb 27, 2020
Parallel Computing and Optimization Techniques参考文献 11被引用 9
一句话总结

Vortex 是一款基于 RISC-V 的开源通用 GPU(GPGPU),通过向 RISC-V 指令集架构(ISA)添加最小化的 SIMT 扩展,原生支持 OpenCL 程序执行。它集成了定制的微架构、针对 RISC-V 扩展的 POCL 运行时,并在 15nm 工艺下使用 Rodinia 基准测试子集展示了可移植性与性能,实现了在最优线程与 warp 配置下的能效提升。

ABSTRACT

The current challenges in technology scaling are pushing the semiconductor industry towards hardware specialization, creating a proliferation of heterogeneous systems-on-chip, delivering orders of magnitude performance and power benefits compared to traditional general-purpose architectures. This transition is getting a significant boost with the advent of RISC-V with its unique modular and extensible ISA, allowing a wide range of low-cost processor designs for various target applications. In addition, OpenCL is currently the most widely adopted programming framework for heterogeneous platforms available on mainstream CPUs, GPUs, as well as FPGAs and custom DSP. In this work, we present Vortex, a RISC-V General-Purpose GPU that supports OpenCL. Vortex implements a SIMT architecture with a minimal ISA extension to RISC-V that enables the execution of OpenCL programs. We also extended OpenCL runtime framework to use the new ISA. We evaluate this design using 15nm technology. We also show the performance and energy numbers of running them with a subset of benchmarks from the Rodinia Benchmark suite.

研究动机与目标

  • 解决缺乏支持 OpenCL 的开源全栈 RISC-V GPGPU 系统的问题。
  • 通过 SIMT 执行模型,实现在 RISC-V 上高效、节能的数据并行工作负载执行。
  • 扩展 POCL OpenCL 运行时与工具链,以支持基于 RISC-V 的 GPU 原生执行。
  • 使用 Rodinia 基准测试套件的子集,展示 Vortex 架构的可移植性与性能表现。
  • 为未来的 RISC-V GPGPU 研究提供一个完全开源、可扩展的基础平台。

提出的方法

  • 在 RISC-V RV32IM ISA 中扩展五条新指令,以支持 SIMT 执行,实现线程级并行与控制分支处理。
  • 使用 Synopsys 库与 RTL 设计可配置的基于 SIMT 的微架构,针对 15nm 工艺进行全路径布局与布线综合。
  • 实现原生 Vortex 运行时库,并修改 POCL OpenCL 编译器与运行时,以支持设备特定的内核编译与执行。
  • 使用 simX(一款周期精确的 C++ 模拟器)评估性能与功耗,采用缩小的数据集并预热缓存以减少模拟时间。
  • 通过使用 15nm 教育库与 Innovus 进行布局布线的综合分析,完成功耗与面积评估,生成 GDS 布局与功耗密度图。
  • 通过在内核代码中使用自定义的 __if/__endif 宏实现控制分支支持,实现线程间条件执行而无需运行时开销。

实验结果

研究问题

  • RQ1最小化的 RISC-V ISA 扩展是否能够实现 GPGPU 上 OpenCL 内核的高效、可移植执行?
  • RQ2在不同线程与 warp 配置下,Vortex GPGPU 的性能与能效在各类工作负载中如何变化?
  • RQ3POCL OpenCL 栈在多大程度上可被扩展以支持具有 SIMT 语义的新 RISC-V GPU?
  • RQ4缓存行为与数据集大小对 RISC-V GPGPU 在模拟环境下的可扩展性与性能有何影响?
  • RQ5与 Ara 和 Hwacha 等现有 RISC-V 加速器相比,Vortex 架构在效率与可配置性方面表现如何?

主要发现

  • 通过优化线程与 warp 配置,Vortex GPGPU 在不同基准测试中实现了性能与能效的提升,最高效的设计因基准测试而异。
  • 32 线程 × 2 warp 配置在多数基准测试中表现出最佳功耗效率,但 BFS 基准因不规则内存访问模式,最受益于 32 warp × 32 线程配置。
  • 随着线程数量(SIMD 宽度)增加,性能有所提升,但增加 warp 数量带来的收益有限,原因在于较小数据集与预热缓存导致的高缓存命中率。
  • simX 模拟器与 Verilog RTL 模型相比实现了 94% 的周期精度,验证了其在性能与功耗评估中的有效性。
  • 功耗密度图显示功耗分布均匀,内存单元(通用寄存器文件、数据缓存、指令缓存、共享内存)功耗较高,表明存在热热点。
  • Vortex 设计成功在扩展的 POCL 栈上运行 Rodinia 基准测试的子集,证明了全栈兼容性与可移植性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。