为啥软件成了人工智能加速器致胜的法宝?

随着arm生态系统的发展壮大,各种各样的应用场景层出不穷。为了更好地在特定场景下得到更好的性能,能耗比等指标,针对特定应用场景的加速器市场也在蓬勃发展,近年来火热的人工智能加速器(artificial intelligence accelerator)就是一个典型例子。
一个高效的加速器,需要精心设计的硬件以及与之搭配的软件,两者缺一不可,否则用户体验会大打折扣,这也是为什么我们常常看到某些指标非常惊艳的加速器,在实际使用中体验却不尽如人意的原因。以人工智能加速器为例,其中基本的硬件加速单元就是乘加器的组合,但如何让这些乘加器高效地进行并行计算,涉及到上层数据的打包、调度,需要大量的驱动软件工作,而且大部分软件开发者都是基于某种框架进行应用开发,具体见图 1,所以驱动到框架的适配也很重要,甚至有一些框架不能满足应用的需求,需要专门开辟通道进行优化。
图1:armnpu软硬件框架
开发一款高性能加速器,需要投入大量人力物力,如果不能大规模使用,那么投入回报比会大大降低,甚至亏本。如果加速器能和不同arm系统轻松组合,拓展arm系统的应用范围,那么应用场景将会大大增加,生命周期也会延长。让加速器适配不同的arm系统,这对软硬件接口和驱动提出了非常大的挑战,因为今天的arm产品非常丰富,从低功耗的微处理器,主流的移动平台,到高端的服务器,高性能计算处理器都有相应产品。对于一个加速器团队来说,针对尽可能多的arm配置组合进行开发验证成本将非常高昂,这里面不单单涉及ip/eda的采购,还有系统的搭建维护,但如果没有这些ip又无法将整个业务流程完整验证,甚至影响软硬件接口的设计优化。
有没有方法高效地解决加速器配套驱动,框架,应用软件开发的问题呢?fast model!
图2:使用ds-5调试运行在fast model中的系统软件
在fast model的例子系统中,arm给出了一系列arm核,相关ip组合的子系统模型,以及相应os,开发工具ds-5,方便客户快速搭建软件开发平台,调整软硬件接口,进行驱动以及上层软件的开发,具体参考图3。
整个开发流程如下:
1.在fast model的例子系统中找到你需要的平台,和对应的bootloader, firmware,os软件,并将他们顺利运行
2. 将fast model的子系统导出生成systemc的模型子系统模块
3. 编写加速器的功能模型,通过amba pv总线和fast model导出的子系统模块进行连接
4. 编写驱动在目标os中操作加速器
5. 在模型平台上进行软件框架,应用匹配移植
arm提供了绝大部分市面可见设计的类似子系统,无论是基于arm v7/v8单核,多核,多cluster系统,还是包含最新架构特性的cpu系统,加速器开发团队都可以在fast model的例子程序里面找对类似子系统范例进行适配,在设计之初就可以解决不同系统的适配性问题。fast model也提供工具让开发者对例子系统进行修改,生成新的子系统以满足需要。在加速器设计之初,软件硬件人员就可以一起利用丰富多样的例子系统进行架构的探索,对稳定软硬件接口非常有帮助,而稳定的接口定义对长期的产品演进至关重要。
图3:基于fast model的加速器软件开发
至此开发者已经完成了大部软硬件接口,驱动以及框架软件开发工作,但驱动中的时序问题还没有完全解决,因为fast model是一款功能型模型,它为了提高运行速度(50-200mhz),牺牲了时序信息。对于时序信息,开发者可以最后去仿真平台甚至最终芯片上去调节,而此时软件测试用例和框架都已经完成,这将大大节省占用仿真平台(mhz)进行调试排错的时间,从而降低成本。

安全护航,F5筑牢网站安全防护墙
解析PCB喷锡与化锡的区别
汇川技术首款OCR智能相机重磅发布
高效D类音频放大器MAX9700/12的工作原理和应用实例介绍
货币融通方式的变革该怎样来引发
为啥软件成了人工智能加速器致胜的法宝?
基于STM32定时器输入捕获解析
关于人工智能实验室在食物领域的研究
华为p50配置参数详情
黑马旗舰?2699元6G运存+骁龙821+4070mah
ADI公司发布最新低功耗BioZ AFE,大幅缩小BioZ监测设备尺寸
2080Ti真成燃气灶 英伟达官方回应显卡起火事件承认GPU有缺陷
Valve推出新一代头戴式VR设备 具备更佳的视觉体验及更好的现场音效
三相浪涌保护器综合应用解决方案
魅族C9搭载紫光展锐SC9832E登陆印度市场
自制音响电源滤波器的方案 详解音响电源滤波器应用
买变频空调真的划算吗
学生防走失精准定位胸牌,为学生安全保驾护航
自动温度控制电路的工作原理
中国移动将通过四高举措全力保障携号转网服务顺利落实