• 1
  • 2
  • 3
  • 4

首页 / 行业

通用计算仍有差距,RISC-V可靠矢量处理弯道超车

2022-10-20 03:17:00

对于高效的数据并行负载处理来说,矢量架构的吸引力越来越大,主流ISA都开始注意到这一点。就拿我们熟悉的前超算王者——日本的富岳来说,其处理器富士通A64FX就是基于Arm可伸缩矢量扩展(SVE)的。

Arm也在随后推出的Armv9架构中提出了改良版的SVE2,并在其中加入了对NEON的兼容,SVE2在HPC之外的市场应用中做出了指令优化,甚至可以用于手机、汽车等智能设备中。

正是因为有了SVE的存在,富岳才得以单靠通用处理器完成高性能的大数据运算,而不是像其他主流超算一样,还要靠堆积GPU、FPGA和AI加速器等片外加速器才能实现可观的性能,我国的神威太湖之光同样运用了这样的矢量设计思路。但以上这些都是专有架构,微架构不透明的同时也限制了开源和定制化方案的出现,而这些均可以在RISC-V上一一实现。

RISC-V矢量处理器的吸引力

RISC-V的矢量扩展RVV自2015年提出以来,已经有了长足的进展,也有了正式的1.0版本规范。与传统的SIMD指令相比,RVV提供动态的矢量长度修改,做到了更高的效率、更小的代码体积和更简单的循环结束。我们近期已经看到了不少RISC-V处理器被广泛使用的新闻,比如谷歌选择在其TPU上加入SiFive的X280处理器,其实看重的就是它在矢量处理上的优势。
CleanShot 2022-10-19 at 16.01.37@2x
SiFive矢量处理器 / SiFive
所以我们看到在SiFive的处理器产品中,像Performance P270和Intelligence X280都拥有优秀的矢量处理能力,后者更是引入了一个512位矢量寄存器长度的架构,在完全支持矢量扩展标准的同时,还支持动态可变矢量长度的运算。SiFive也在其矢量扩展上做出了改进,称其为SiFive智能扩展,与直接基于RV64GCV架构的设计相比,X280的智能扩展在INT8格式下的矩阵乘法运算时可将执行速度提高12倍。

而且这不仅仅造福的是数据中心,还有受制于功耗却又需要高吞吐量和单线程性能的边缘应用,比如AR/VR、数码相机等等。SiFive同样测试了可用于移动端或嵌入式设备的轻量级神经网络MobileNet,相较基于RISC-V标量的架构,SiFive智能扩展可以将速度提升144倍。

同样的还有晶心科技推出的RISC-V矢量处理器NX27V,该处理器采用了5级流水线的设计,晶心为其设计了强大的矢量处理单元,拥有32个矢量寄存器,最高支持512位的矢量长度,为了进一步支持AI应用,晶心还为其增加了BF16和INT4的数据格式支持。据正在打造可扩展的高性能AI超算的初创公司Luminous Computing透露,他们打造的系统用到了数百个NX27V VPU核心,极大地提升了该系统的深度学习性能。

开源RISC-V矢量处理器

RISC-V作为开源架构最棒的一点就在于,总是不缺香山处理器这样优秀的开源方案。比如2019年推出的Ara就是一款高效矢量协处理器,用于辅助OpenHW的CVA6 RISC-V应用处理器Ara,只不过Ara刚发布之际还是基于早期的RVV规范设计的。

来自苏黎世联邦理工学院(ETH)和华为苏黎世研究中心的研究员们借助Ara的启发,基于RVV1.0发表了一个开源的高效RISC-V矢量处理器设计。他们基于格芯的22FDX工艺进行了吞吐量和PPA的验证,整个系统运行频率为1.34GH,在关键的矩阵乘法内核下,FPU的利用率可以达到98%以上。

相较之下,SiFive的X280和另一个开源矢量协处理器Vicuna宣称的FPU利用率大于90%,伯克利的开源方案Hwacha可以做到95%以上。为了展示从RVV扩展这么多年以来的改进,他们也与基于RVV 0.5版下的设计做了对比,结果是在面积占用上有了15%的提升,吞吐量也有了6%的提升,双精度计算效率也做到了37.1GFLOPS/W。

结语

AI时代下,矢量处理的应用场景已经远超我们的现象,包括深度学习、推荐系统、键值存储和HPC等,都已经广泛利用了矢量计算。但如何做到高效高性能,才是未来所有ISA的努力方向,而RISC-V作为后来者,反而能在这上面找到弯道超车的机会。

通用推出差距计算

  • 1
  • 2
  • 3
  • 4

最新内容

手机

相关内容

  • 1
  • 2
  • 3

猜你喜欢