一种通用异构加速框架的构建方法技术

技术编号:32938840 阅读:15 留言:0更新日期:2022-04-07 12:29
本发明专利技术属于人工智能计算领域,具体涉及一种通用异构加速框架的构建方法。一种通用异构加速框架的构建方法,包括以下步骤:步骤S1:确定目标操作系统和异构智能硬件设备;步骤S2:所述目标操作系统加载所述异构智能硬件设备的驱动、计算库并选定计算框架及神经网络模型;步骤S3:通过所述神经网络模型和所述计算框架构建实例化的神经网络模型;步骤S4:使用深度学习编译器将所述实例化的神经网络模型编译为中间表示层IR;所述统一接口API是根据所述计算库编写;步骤S5:所述目标操作系统导入所述通用异构加速框架的核心组件,并将其编译成运行在异构智能硬件设备的软件模型。译成运行在异构智能硬件设备的软件模型。译成运行在异构智能硬件设备的软件模型。

【技术实现步骤摘要】
一种通用异构加速框架的构建方法


[0001]本专利技术属于人工智能计算领域,具体涉及一种通用异构加速框架的构建方法。

技术介绍

[0002]随着人工智能技术及应用的发展,传统的CPU处理器已经无法满足机器学习、深度学习等人工智能计算对海量数据进行大量复杂运算的需求,因此需要将人工智能相关计算任务转移至人工智能加速卡和GPU、NPU、FPGA、DSP等智能芯片设备上进行高性能处理。
[0003]目前人工智能领域有大量复杂的神经网络模型和计算框架,每种计算框架都有各自的算子;在具体的人工智能应用中,需要选某个计算框架的算子来对神经网络模型进行实例化。目前主流的计算框架有tensorflow、pytorch、caffe2、mxnet等。常见的神经网络模型有resnet50、bert、vgg等。目前对神经网络模型实例进行训练和推理所使用的硬件加速方案单一,仅仅支持使用部分GPU作为硬件加速,而对其他智能硬件则缺乏支持。且目前和深度学习相关的硬件设计将变得更加多样化,由于硬件的多样性,如何将神经网络模型实例的训练和推理有效地映射到不同架构的智能硬件上进行加速计算,为人工智能应用的开发增加了难度。

技术实现思路

[0004]有鉴于此,本专利技术为了解决现有技术存在的缺陷和不足,提供了一种通用异构加速框架的构建方法,通过该方法构建的通用异构加速框架模型能够将实例化的神经网络模型编译转换成适合在各种智能硬件上进行并行加速运行的软件模型;且该软件模型提供的可扩展接口API能够完成对今后市场上新兴的异构智能设备的注册,简化了使用新兴异构智能设备对神经网络模型进行加速计算的开发难度,提高了使用智能设备进行人工智能应用开发的效率。
[0005]本专利技术一种通用异构加速框架的构建方法,所述软件模型内包括通用异构加速框架的核心组件;核心组件包括深度学习编译器、统一接口API、计算库;构建方法包括以下步骤:步骤S1:确定目标操作系统和异构智能硬件设备;步骤S2:所述目标操作系统加载所述异构智能硬件设备的驱动、计算库并选定计算框架及神经网络模型;步骤S3:通过所述神经网络模型和所述计算框架构建实例化的神经网络模型;步骤S4:使用深度学习编译器将所述实例化的神经网络模型编译为中间表示层IR;根据所述计算库编写所述统一接口API,使统一接口API调用所述计算库;步骤S5:所述目标操作系统导入所述通用异构加速框架的核心组件,并将其编译成运行在异构智能硬件设备的软件模型。
[0006]进一步的,所述步骤S5包括以下步骤:步骤S501:所述目标操作系统安装所述统一接口API;
步骤S502:所述中间表示层IR调用所述统一接口API;步骤S503:所述统一接口API将所述中间表示层IR编译成在异构智能硬件设备运行的软件模型,并加载至所述异构智能硬件设备上进行加速计算。
[0007]进一步的,所述核心组件还包括可扩展接口API;所述可扩展接口API根据所述计算库编写;所述可扩展接口API用于注册新的异构智能硬件设备。
[0008]进一步的,当增加新的异构智能硬件设备时,安装新的异构智能硬件设备的驱动及计算库,然后调用所述可扩展接口API对新的异构智能硬件设备注册,通过实例化的神经网络模型对中间表示层IR进行重新编译,然后将核心组件重新导入,得到更新后的通用异构加速框架。
[0009]本专利技术所构建的通用异构加速框架能够屏蔽底层异构智能硬件设备诸如CPU、GPU、FPGA、DSP、NPU等的不同,通过将基于tensorflow、pytorch、mxnet、caffe2等计算框架实例化的神经网络模型编译转换成适合在不同异构智能设备上运行的软件模型,完成神经网络模型实例在各种智能设备上的加速计算;且该通用异构加速框架模型提供的可扩展接口API能够完成对今后市场上新兴的异构智能设备的注册,简化了使用新兴异构智能设备对神经网络模型进行加速计算的开发难度,提高了使用智能设备进行人工智能应用开发的效率。
[0010]本专利技术所构建的通用异构加速框架不仅能够屏蔽底层智能硬件设备的不同,对上层计算框架构建的网络模型提供统一接口API,并对接上层计算框架已有的硬件加速方式,从而使得各计算框架能够在各种硬件设备上通过硬件加速计算;本专利技术还提供了可扩展接口API,用以支持新兴的异构智能硬件设备,不仅解决了智能硬件加速方案单一的缺陷,还对异构智能硬件的多样性提供了支持。
附图说明
[0011]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0012]图1是本专利技术提供的一种通用异构加速框架的构建方法中通用异构加速框架的流程图;图2本专利技术提供的一种通用异构加速框架的构建方法中通用异构加速框架的实例流程图。
具体实施方式
[0013]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0014]如图1所示,本专利技术提供了一种通用异构加速框架的构建方法,通用异构加速框架为软件模型,软件模型内含有通用异构加速框架的核心组件;
核心组件包括深度学习编译器、统一接口API、计算库、可扩展接口API;统一接口API、可扩展接口API是根据异构智能硬件设备的计算库编写;统一接口API调用计算库,可扩展接口API用于注册新的异构智能硬件设备。
[0015]构建方法包括以下步骤:步骤S1:确定目标操作系统和异构智能硬件设备;步骤S2:所述目标操作系统加载所述异构智能硬件设备的驱动、计算库并选定计算框架及神经网络模型;步骤S3:通过神经网络模型和计算框架构建实例化的神经网络模型;步骤S4:使用深度学习编译器将实例化的神经网络模型编译为中间表示层IR;根据计算库编写统一接口API,使统一接口API调用计算库;步骤S5:目标操作系统导入通用异构加速框架的核心组件,并将其编译成运行在异构智能硬件设备的软件模型。
[0016]具体的,所述步骤S5包括以下步骤:步骤S501:所述目标操作系统安装所述统一接口API;步骤S502:所述中间表示层IR调用所述统一接口API;步骤S503:所述统一接口API将中间表示层IR编译成在异构智能硬件设备运行的软件模型,并加载至异构智能硬件设备上进行加速计算。
[0017]当市场上出现新的异构智能硬件设备时,可以通过安装新的异构智能硬件设备的驱动及计算库,然后调用可扩展接口API对新的异构智能硬件设备注册,通过实例化的神经网络模型对中间表示层IR进行重新编译,然后将通用异构加速框架的核心组件重新导入,得到更新后的通用异构加速框架。
[0018]图2为本专利技术一实施例的通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用异构加速框架的构建方法,其特征在于,所述通用异构加速框架为软件模型,所述软件模型内包括通用异构加速框架的核心组件;核心组件包括深度学习编译器、统一接口API、计算库;构建方法包括以下步骤:步骤S1:确定目标操作系统和异构智能硬件设备;步骤S2:所述目标操作系统加载所述异构智能硬件设备的驱动、计算库并选定计算框架及神经网络模型;步骤S3:通过所述神经网络模型和所述计算框架构建实例化的神经网络模型;步骤S4:使用深度学习编译器将所述实例化的神经网络模型编译为中间表示层IR;根据所述计算库编写所述统一接口API,使统一接口API调用所述计算库;步骤S5:所述目标操作系统导入所述通用异构加速框架的核心组件,并将其编译成运行在异构智能硬件设备的软件模型。2.根据权利要求1所述的一种通用异构加速框架的构建方法,其特征在于,所述步骤S5包括以下步骤...

【专利技术属性】
技术研发人员:常涛付正威吴春光刘步权齐璇魏立峰顾郁莲黄鑫史晶
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1