一种基于异构算力环境的计算加速方法、装置及终端与流程
本技术涉及移动通信,具体涉及一种基于异构算力环境的计算加速方法、装置及终端。
背景技术:
1、视频分析、图像识别、智慧大脑等人工智能(artificial intelligence,ai)应用场景面临大量的数据处理与分析任务,为了提升运算效率,业界一般通过引入专用计算加速设备(例如图形处理单元(graphics processing unit,gpu)加速卡、神经处理单元(neural network processing unit,npu)加速卡、领域专用架构(domain specificarchitecture,dsa)、现场可编程门阵列(field-programmable gate array,fpga)、深度计算器(deep computing unit,dcu)等)来实现数据计算的加速处理。目前,各种计算加速硬件设备种类繁多,不同的设备厂商采用多种硬件架构设计实现了不同的计算加速硬件。
2、在此背景下,为了实现不同厂商、不同架构的计算加速硬件的计算能力的互融互通,降低智算应用向国产化计算加速设备迁移的成本和复杂度,业界开创性的提出了跨芯片架构融通平台方案,目标是实现“智算应用一次开发、跨芯部署迁移”。区别于传统的通用算力平台,该类跨芯片架构融通平台在使用过程中面临新的挑战:如何在保证智算应用具备优秀的跨架构迁移能力的同时,还能够实现充分发挥不同架构计算加速设备的差异化加速能力,充分释放其对应的计算性能。
技术实现思路
1、本技术的至少一个实施例提供了基于异构算力环境的计算加速方法、装置及终端,用于解决现有技术中难以在保证优秀跨架构迁移能力的同时充分释放不同架构计算加速设备的计算性能的问题。
2、为了解决上述技术问题,本技术是这样实现的:
3、第一方面,本技术实施例提供了一种基于异构算力环境的计算加速方法,包括:
4、对接收到的智算任务描述进行跨架构编译,得到所述智算任务描述的中间表达;
5、根据所述中间表达以及预先确定的异构跨架构计算加速能力集进行性能自适应优化,得到优化后的重写代码;
6、对所述重写代码进行编译,并写入经过所述跨架构编译后的算力原生程序;
7、根据目标异构设备的设备类型对所述算力原生程序进行解析和重组,得到与所述目标异构设备对应的可执行文件,并发送所述可执行文件至对应的所述目标异构设备,所述目标异构设备为根据当前可调度的所述异构设备以及所述算力原生程序进行设备匹配确定。
8、优选地,如上所述的方法,还包括:
9、接收不同类型的所述异构设备上报的加速能力信息,所述加速能力信息包括:公共加速能力、定制化加速能力、扩展加速能力中的至少一项,所述异构设备的类型包括:图形处理单元gpu、现场可编程门阵列fpga、深度计算器dcu、领域专用架构dsa和神经处理单元npu中的至少一项;
10、根据预设的加速能力识别模型以及所述加速能力信息,对各所述异构设备进行能力分组、分级识别,并填充或更新所述跨架构计算加速能力集。
11、具体地,如上所述方法,所述对接收到的智算任务描述进行跨架构编译,得到所述智算任务描述的中间表达,包括:
12、对目标任务描述进行编译分析,得到抽象语法树;
13、对所述抽象语法树进行代码转换,得到所述中间表达。
14、具体地,如上所述的方法,所述根据所述中间表达以及预先确定的跨架构计算加速能力集进行性能自适应优化,得到优化后的重写代码,包括:
15、遍历所述跨架构计算加速能力集,得到所述跨架构计算加速能力集中各所述异构设备支持的加速计算接口信息;
16、根据预设算法以及所述加速计算接口信息对应的加速能力特征,对所述中间表达进行特征匹配,确定满足特征匹配条件的中间表达代码段;
17、对满足特征匹配条件的所述中间表达代码段进行逐级优化重写,得到差异化优化后的重写代码。
18、具体地,如上1所述方法,根据目标异构设备的设备类型对所述算力原生程序进行解析和重组,得到与所述目标异构设备对应的可执行文件,包括:
19、根据所述目标异构设备的设备类型,获取所述算力原生程序中不同代码段对应的偏移地址;
20、根据所述偏移地址,获取所述目标异构设备的设备类型所对应的二进制代码段;
21、将所述二进制代码对应组装至所述算力原生程序中,得到所述目标异构设备可识别的所述可执行文件。
22、优选地,如上所述方法,在发送所述可执行文件至对应的所述目标异构设备之后,若加速能力优化处于使能状态,则所述方法还包括:
23、接收各所述目标异构设备反馈的计算结果和性能数据;
24、对各所述目标异构设备对应的性能数据进行记录;
25、在满足预设条件的情况下,对记录的所述目标异构设备的性能数据进行分析识别,得到分析结果,其中,所述预设条件包括时间是否达到预设周期和/或记录数量是否达到预设数量;
26、若所述分析结果为满足优化阈值,则根据所述分析结果对所述跨架构计算加速能力集进行更新。
27、第二方面,本技术实施例提供了一种控制装置,包括:
28、跨架构编译器模块,用于对接收到的智算任务描述进行跨架构编译,得到所述智算任务描述的中间表达;
29、跨架构性能自适应优化器模块,用于根据所述中间表达以及预先确定的跨架构计算加速能力集进行性能自适应优化,得到优化后的重写代码;
30、所述跨架构编译器模块,还用于对所述重写代码进行编译,并写入经过所述跨架构编译后的算力原生程序;
31、跨架构运行时模块,用于根据目标异构设备的设备类型对所述算力原生程序进行解析和重组,得到与所述目标异构设备对应的可执行文件,并发送所述可执行文件至对应的所述目标异构设备,所述目标异构设备为根据当前可调度的所述异构设备以及所述算力原生程序进行设备匹配确定。
32、第三方面,本技术实施例提供了一种终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的方法的步骤。
33、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
34、第五方面,本技术实施例提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如上所述的方法的步骤。
35、与现有技术相比,本技术实施例提供的一种基于异构算力环境的计算加速方法、装置及终端,通过基于预先确定的异构跨架构计算加速能力集对智算任务描述的中间表达进行性能自适应优化即根据异构跨架构计算加速能力集中异构设备的计算加速能力的差异化进行优化,并基于优化后的重写代码得到算力原生程序,且根据目标异构设备的设备类型对算力原生程序再次进行重组后,发送至目标异构设备进行过执行。在保证智算应用跨架构迁移能力的同时,更好的发挥了平台内不同类型的计算加速设备的差异化加速能力,提高了资源的利用率;且无需用户对于跨架构融通平台内支持的具体硬件类型主动感知,简化操作,提升了用户体验;另一方面,无需用户接入,自动根据平台内设备资源类型和负载状态进行任务调度,提升了平台内设备的资源利用率和优化负载;此外,相同的智算应用只需一次编译即可跨架构迁移,节约计算资源和时间,提升了平台的经济性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com