向量扩展将定稿,RISC-V机器学习的崛起
RISC-V作为一个与x86和Arm相比仍算年轻的架构,自然需要不少扩展模块来完善其指令集架构,尤其是对标x86与Arm的SIMD指令集。然而SIMD指令集随着时间的发展变得越来越臃肿,让架构变得愈发复杂,David Patterson也在几年前的一篇文章中写道,实现数据级并行性更优雅的方式就是向量架构,RISC-V的向量扩展(RVV)也应运而生。
在机器学习算法中,向量被广泛用于处理数据集和数组。而RVV为基础指令集新增了多个向量寄存器和向量指令,可以让基于RISC-V架构的处理器核心处理数组,与传统的标量运算一起来加速大数据集的指令运算。
RISC-V向量扩展指令于2018年推出,在经过了多个版本的迭代后,终于在几天前进入了1.0 PB状态。RVV工作组认同了1.0版本的稳定性,已经可以在上游软件项目中开发相关的工具链、功能模拟器与实现了。而前段时间的RISC-V论坛,也展示了RISC-V在向量与机器学习上的进展。
RISC-V机器学习用于太空应用
相信不少人都注意到近期逐渐增加的各项太空探索任务,比如祝融号火星车与中国空间站建设等,这些任务中AI与机器学习的应用也开始出现。然而将AI与机器学习加入太空任务依旧面临着诸多挑战,比如已有的太空处理器已经无法跟上AI与ML的计算需求,但现成的商用设备既无法满足辐射要求,也没有太空认证的软件栈支持。
来自加泰罗尼亚理工大学和巴塞罗那超算中心的两位研究员Leonidas Kosmidis和Marc Solé Bonet给出了他们的创新方案,实现了在功率有限的RISC-V处理器上加速ML运算。与采用额外大面积向量寄存器文件的传统方式不同,他们采用了一个开源的短SIMD模块通过重复利用整数寄存器文件来减小面积。这一方案以2个未使用的RISC-V操作码实现了17个高度可配置的定制指令,可以用于实现ML应用中200多种组合运算。
他们成功将该模块移植到了Cobham Gaisler开发的开源RISC-V太空处理器NOEL-V上,在最小的NOEL-V处理器的配置下进行通用ML程序的测试,得出的结果相当可观。只需多用到25%的面积,就能实现3到7倍的性能提升,还不会影响到处理器的频率。
两位研究员也实现了Gaisler另一个太空处理器LEON3的版本,该处理器采用的是SPARC V8的架构。未来他们还计划引入TensorFlow和编译器代码生成等一系列软件支持,并在欧洲航天局OPS-SAT实验卫星上的FPGA上进行测试。
RISC-V向量处理器的真正挑战
90年代可以说是DSP、CISC与DSP三家争霸的状态,然而到了21世纪,DSP已经越来越难突破GHz,而高频CPU中乘积累加运算单元的流行使得DSP在性能上败下阵来。而RISC与CISC相比的优势在于其简单化的特性,更容易实现高频率。然而在向量处理器(VPU)上,必须要解决数据传输的问题。
传统VPU在带宽上的瓶颈 / 晶心科技
从数据传输的流程来看,系统总线已经被处理器占用处于繁忙状态,而所有数据都通过缓存走向总线,现在又多出了向量指令和向量数据,致使总线到内存的延迟增加,整体性能下降。因此,提高总线带宽的同时保持高频率,又不会增加额外的功耗也就成了一大设计挑战。传统的解决方案有预读取和更大的独立内存与缓存等,但往往需要牺牲功耗和尺寸。
晶心科技为了解决这一挑战,推出了晶心自定义扩展(Andes Custom Extension,ACE),这一RISC-V扩展可以创造新的指令、新的协处理器和新的内存位置。ACE引入了全新的Streaming Port,为外部硬件引擎创造了自定义数据接口和自定义数据内存,以很小的功率代价解决了数据传输问题。除此之外,ACE还可以用于数据预处理与后处理,比如格式转换等,进一步提升VPU的性能,更好地控制和管理外部加速器。
结语
RISC-V在向量扩展与处理器上的进展已经相当惊人,要知道苹果在前段时间招募RISC-V开发者的工作描述中,不仅要求掌握RISC-V的开发知识,还要求了解Arm NEON SIMD微架构的向量编程。随着RVV的定稿,向量寄存器与指令也将全部确定下来,届时相关的编译器等工具链也能够及时做到兼容。
RISC-V作为一个与x86和Arm相比仍算年轻的架构,自然需要不少扩展模块来完善其指令集架构,尤其是对标x86与Arm的SIMD指令集。然而SIMD指令集随着时间的发展变得越来越臃肿,让架构变得愈发复杂,David Patterson也在几年前的一篇文章中写道,实现数据级并行性更优雅的方式就是向量架构,RISC-V的向量扩展(RVV)也应运而生。
在机器学习算法中,向量被广泛用于处理数据集和数组。而RVV为基础指令集新增了多个向量寄存器和向量指令,可以让基于RISC-V架构的处理器核心处理数组,与传统的标量运算一起来加速大数据集的指令运算。
RISC-V向量扩展指令于2018年推出,在经过了多个版本的迭代后,终于在几天前进入了1.0 PB状态。RVV工作组认同了1.0版本的稳定性,已经可以在上游软件项目中开发相关的工具链、功能模拟器与实现了。而前段时间的RISC-V论坛,也展示了RISC-V在向量与机器学习上的进展。
RISC-V机器学习用于太空应用
相信不少人都注意到近期逐渐增加的各项太空探索任务,比如祝融号火星车与中国空间站建设等,这些任务中AI与机器学习的应用也开始出现。然而将AI与机器学习加入太空任务依旧面临着诸多挑战,比如已有的太空处理器已经无法跟上AI与ML的计算需求,但现成的商用设备既无法满足辐射要求,也没有太空认证的软件栈支持。
来自加泰罗尼亚理工大学和巴塞罗那超算中心的两位研究员Leonidas Kosmidis和Marc Solé Bonet给出了他们的创新方案,实现了在功率有限的RISC-V处理器上加速ML运算。与采用额外大面积向量寄存器文件的传统方式不同,他们采用了一个开源的短SIMD模块通过重复利用整数寄存器文件来减小面积。这一方案以2个未使用的RISC-V操作码实现了17个高度可配置的定制指令,可以用于实现ML应用中200多种组合运算。
他们成功将该模块移植到了Cobham Gaisler开发的开源RISC-V太空处理器NOEL-V上,在最小的NOEL-V处理器的配置下进行通用ML程序的测试,得出的结果相当可观。只需多用到25%的面积,就能实现3到7倍的性能提升,还不会影响到处理器的频率。
两位研究员也实现了Gaisler另一个太空处理器LEON3的版本,该处理器采用的是SPARC V8的架构。未来他们还计划引入TensorFlow和编译器代码生成等一系列软件支持,并在欧洲航天局OPS-SAT实验卫星上的FPGA上进行测试。
RISC-V向量处理器的真正挑战
90年代可以说是DSP、CISC与DSP三家争霸的状态,然而到了21世纪,DSP已经越来越难突破GHz,而高频CPU中乘积累加运算单元的流行使得DSP在性能上败下阵来。而RISC与CISC相比的优势在于其简单化的特性,更容易实现高频率。然而在向量处理器(VPU)上,必须要解决数据传输的问题。
传统VPU在带宽上的瓶颈 / 晶心科技
从数据传输的流程来看,系统总线已经被处理器占用处于繁忙状态,而所有数据都通过缓存走向总线,现在又多出了向量指令和向量数据,致使总线到内存的延迟增加,整体性能下降。因此,提高总线带宽的同时保持高频率,又不会增加额外的功耗也就成了一大设计挑战。传统的解决方案有预读取和更大的独立内存与缓存等,但往往需要牺牲功耗和尺寸。
晶心科技为了解决这一挑战,推出了晶心自定义扩展(Andes Custom Extension,ACE),这一RISC-V扩展可以创造新的指令、新的协处理器和新的内存位置。ACE引入了全新的Streaming Port,为外部硬件引擎创造了自定义数据接口和自定义数据内存,以很小的功率代价解决了数据传输问题。除此之外,ACE还可以用于数据预处理与后处理,比如格式转换等,进一步提升VPU的性能,更好地控制和管理外部加速器。
结语
RISC-V在向量扩展与处理器上的进展已经相当惊人,要知道苹果在前段时间招募RISC-V开发者的工作描述中,不仅要求掌握RISC-V的开发知识,还要求了解Arm NEON SIMD微架构的向量编程。随着RVV的定稿,向量寄存器与指令也将全部确定下来,届时相关的编译器等工具链也能够及时做到兼容。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
处理器
+关注
关注
68文章
19265浏览量
229683 -
ARM
+关注
关注
134文章
9088浏览量
367412 -
RISC-V
+关注
关注
45文章
2271浏览量
46134
发布评论请先 登录
相关推荐
RISC-V 与 ARM 架构的区别 RISC-V与机器学习的关系
在现代计算机架构中,RISC-V和ARM是两种流行的处理器架构。它们各自具有独特的特点和优势,适用于不同的应用场景。 1. RISC-V架构 RISC-V(读作“risk-five”)是一种开源
关于RISC-V学习路线图推荐
RISC-V简介 :
了解RISC-V的起源、特点、优势以及应用场景。
RISC-V指令集 :
学习RISC-V的基本指令集,如RV32I
发表于 11-30 15:21
希姆计算的RISC-V矩阵扩展开源项目已升级至0.5版本,支持向量+矩阵的实现
希姆计算的RISC-V矩阵扩展开源项目已升级至0.5版本-----支持向量+矩阵的实现范福杰博士&陈炜博士项目背景Background为了解决RISC-V在人工智能领域中指令碎片化
RISC-V近期市场情况调研
RISC-V是一种开源的指令集架构(ISA),近年来在全球范围内迅速崛起,尤其在中国,RISC-V的发展势头十分强劲。以下是目前RISC-V芯片的发展情况,以及中国在这一领域的主要公司
加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未来 !
加入RISC-VAdvocate行列!我们正在寻找来自世界各地的RISC-V爱好者,通过全球推广和参与,成为支持RISC-V进步的关键参与者。作为一名RISC-VAdvocate,您将
RISC-V指令集的特点总结
各种应用场景,从嵌入式系统到高性能计算,都可以通过添加专门的指令扩展来优化性能。
分层设计
定义:RISC-V 架构采用了分层设计方法,基本指令集可以通过额外的扩展层来增强功能,如浮点运算、向
发表于 08-30 22:05
RISC-V适合什么样的应用场景
设计使得开发者可以灵活选择所需的指令集和模块,以满足嵌入式系统的各种性能要求。
3. 人工智能(AI)和机器学习(ML)
高性能计算:RISC-V结合AI加速器或协处理器,可以提供高效的人工智能计算
发表于 07-29 17:16
为什么要有RISC-V
的,永远不会改变。这为编译器编写者,操作系统开发人员和汇
编语言程序员提供了稳定的目标。模块化来源于可选的标准扩展,根据应用程序的需要,硬件可以包含或不包含这些扩展。这种模块化特性使得RISC-V具有了
发表于 07-27 15:05
risc-v多核芯片在AI方面的应用
应用中的成本。
最后,RISC-V多核芯片不仅可以应用于AI边缘计算领域,还可以扩展到其他领域,如数据中心、云计算、自动驾驶、机器人等,为这些领域提供高效、灵活和安全的解决方案。
总的来说,R
发表于 04-28 09:20
RISC-V 基础学习:RISC-V 基础介绍
是什么?
RISC-V 是一套开放许可证书、免费的、由基金维护的、一个整数运算指令集外加多个扩展指令集的CPU 结构规范(ISA)。
整数运算指令集 + 扩展指令集
任何硬件开发商或者组织都可以
发表于 03-12 10:25
学习RISC-V单片机的感想
RISC-V,以及国内开始的自研其它架构单片机。国内有些企业自研的架构,还没有机会学习和使用。期待有机会试试,比如华为的处理器、龙芯等。现在使用最多的还是51的和ARM的。ARM的一直都在不断发展中,有各种
发表于 02-17 21:00
【RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集
【RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集
汇编语言
将C语言翻译成可执行的机器语言的重要步骤包括编译过程,汇编过程,链接过程。
函数调用约定过程分为六个阶段:
1)将参数存放
发表于 02-03 13:29
【RISC-V开放架构设计之道|阅读体验】一本好书,开卷有益
大学教授的推荐并得到各方好评,这更坚定了深入了解学习RISC-V的信心。
书中在目录前RISC-V指令集参考卡,做下浏览与了解,这里一并贴出。
RISC-V的目标是成为一款通用的指
发表于 01-21 17:03
评论