首页 / 专利库 / 人工智能 / 嵌入式计算 / 配置方法、装置及计算系统

配置方法、装置及计算系统

阅读:587发布:2020-05-11

专利汇可以提供配置方法、装置及计算系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种配置方法、装置及计算系统,属于 嵌入式计算 领域。其中计算系统的每个计算单元内包含至少两类算子;方法包括:接收待配置的目标 算法 ;解析目标算法所包含的计算类型和每个计算类型对应的数量;根据目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子;根据目标算法,以及每个目标计算单元对应的目标算子,确定全部目标计算单元组成的网络结构;根据每个目标计算单元对应的目标算子,以及全部目标计算单元组成的网络结构,生成计算系统用于实现目标算法的配置文件。通过同一计算系统实现不同类型的算法,提高计算系统的并行处理能 力 和 硬件 资源利用率。,下面是配置方法、装置及计算系统专利的具体信息内容。

1.一种配置方法,其特征在于,应用于计算系统,所述计算系统包括至少两个计算单元,每个计算单元内包含至少两类算子;
所述方法包括:
接收待配置的目标算法
解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤之前,所述方法还包括:
接收待计算的目标数据集的数据类型参数;
所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤,包括:
根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个目标计算单元配置目标算子。
3.根据权利要求2所述的方法,其特征在于,所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法包括:
根据所述网络结构,确定每个目标计算单元的交互次数;其中,每个目标计算单元的交互次数为在所述网络结构中的每个目标计算单元与其他目标计算单元数据交互的次数;
根据每个目标计算单元的交互次数,以及所述网络结构,得到所述计算系统的单元布局方案;
所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤,包括:
根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件。
4.根据权利要求2所述的方法,其特征在于,所述根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法还包括:
获取所述目标数据集的数据格式和数据分布信息;
根据接收待计算的目标数据集的数据类型参数,以及每个目标计算单元的目标算子,为每个所述目标计算单元分配对应的存储空间。
5.根据权利要求1所述的方法,其特征在于,所述解析所述目标算法所包含的计算类型和每个计算类型对应的数量的步骤,包括:
利用Tensor Flow或者Caffe,解析所述目标算法所包含的计算类型和每个计算类型对应的数量。
6.根据权利要求1至5中任一项所述的方法,其特征在于,每个计算单元可配置的算法包括:卷积算子、池化算子或者激活函数;和/或,
所述数据类型参数包括数据类型、数据位宽或者数据分布。
7.一种配置装置,其特征在于,应用于计算系统,所述计算系统包括至少两个计算单元,每个计算单元内包含至少两类算子;
所述装置包括:
接收模,用于接收待配置的目标算法;
解析模块,用于解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
配置模块,用于根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
确定模块,用于根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
生成模块,用于根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
8.根据权利要求7所述的装置,其特征在于,所述接收模块还用于:
接收待计算的目标数据集的数据类型参数;
所述配置模块用于:
根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个所述计算单元配置目标算子。
9.一种计算系统,其特征在于,包括:
至少两个计算单元,每个所述计算单元内包含至少两类算子;以及,
处理器,所述处理器用于:
接收待配置的目标算法;
解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。

说明书全文

配置方法、装置及计算系统

技术领域

[0001] 本发明属于嵌入式计算领域,涉及一种配置方法、装置及计算系统。

背景技术

[0002] 近年来随着嵌入式计算系统对图像/语音信号的目标识别,以及系统自主决策等智能化任务能的需求日益增加,智能计算成为嵌入式计算系统发展的一个重要方向。广泛应用于高性能服务器环境的深度神经网络类智能算法,存在着网络结构复杂、算法模型多变、计算复杂度高、参数存储需求大等难点,现有的计算系统提供单一类型的算法,算法适应性和配置灵活性较差。
[0003] 可见,现有的计算系统存在算法适应性和配置灵活性较差的技术问题。

发明内容

[0004] 为了解决上述背景中提及的问题,本发明提供了一种配置方法、装置及计算系统,具体如下:
[0005] 第一方面,本发明实施例提供了一种配置方法,应用于计算系统,所述计算系统包括至少两个计算单元,每个计算单元内包含至少两类算子;
[0006] 所述方法包括:
[0007] 接收待配置的目标算法;
[0008] 解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0009] 根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0010] 根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0011] 根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
[0012] 可选的,所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤之前,所述方法还包括:
[0013] 接收待计算的目标数据集的数据类型参数;
[0014] 所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤,包括:
[0015] 根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个目标计算单元配置目标算子。
[0016] 可选的,所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法包括:
[0017] 根据所述网络结构,确定每个目标计算单元的交互次数;其中,每个目标计算单元的交互次数为在所述网络结构中的每个目标计算单元与其他目标计算单元数据交互的次数;
[0018] 根据每个目标计算单元的交互次数,以及所述网络结构,得到所述计算系统的单元布局方案;
[0019] 所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤,包括:
[0020] 根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件。
[0021] 可选的,所述根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法还包括:
[0022] 获取所述目标数据集的数据格式和数据分布信息;
[0023] 根据接收待计算的目标数据集的数据类型参数,以及每个目标计算单元的目标算子,为每个所述目标计算单元分配对应的存储空间。
[0024] 可选的,所述解析所述目标算法所包含的计算类型和每个计算类型对应的数量的步骤,包括:
[0025] 利用Tensor Flow或者Caffe,解析所述目标算法所包含的计算类型和每个计算类型对应的数量。
[0026] 可选的,每个计算单元可配置的算法包括:卷积算子、池化算子或者激活函数;和/或,
[0027] 所述数据类型参数包括数据类型、数据位宽或者数据分布。
[0028] 第二方面,本发明实施例还提供了一种配置装置,应用于计算系统,所述计算系统包括至少两个计算单元,每个计算单元内包含至少两类算子;
[0029] 所述装置包括:
[0030] 接收模,用于接收待配置的目标算法;
[0031] 解析模块,用于解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0032] 配置模块,用于根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0033] 确定模块,用于根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0034] 生成模块,用于根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
[0035] 可选的,所述接收模块还用于:
[0036] 接收待计算的目标数据集的数据类型参数;
[0037] 所述配置模块用于:
[0038] 根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个所述计算单元配置目标算子。
[0039] 第三方面,本发明实施例还提供了一种计算系统,包括:
[0040] 至少两个计算单元,每个所述计算单元内包含至少两类算子;以及,[0041] 处理器,所述处理器用于:
[0042] 接收待配置的目标算法;
[0043] 解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0044] 根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0045] 根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0046] 根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
[0047] 上述本发明实施例提供的计算系统的配置方案,通过解析待配置的目标函数,确定所包含的计算类型和每个计算类型对应的数量,为计算系统的每个目标计算单元配置目标算子,并确定全部目标计算单元所组成的网络结构。这样,即可生成用于实现该目标算法的配置文件,用于配置该计算系统的计算单元阵列。本实施例提供的方案,可以根据不同算法,自动为计算系统的各个计算单元配置对应的算子和组成的网络结构,用于实现不同的算法,算法适应性更强,且有效提高了计算系统的并行处理能力和硬件资源利用率。附图说明
[0048] 图1为本发明实施例提供的一种配置方法的流程示意图;
[0049] 图2为本发明实施例提供的计算系统的架构示意图;
[0050] 图3为本发明实施例提供的配置方法的另一种流程示意图。

具体实施方式

[0051] 以下结合附图对本发明进行详述。
[0052] 参见图1,为本发明实施例提供的一种配置方法的流程示意图。所提供的配置方法应用于计算系统,如图2所示,所述计算包括至少两个计算单元,每个计算单元内包含至少两类算法。如图1所示,所述配置方法主要包括:
[0053] S101,接收待配置的目标算法;
[0054] S102,解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0055] 本实施例提供的配置方法,可以应用于计算系统,针对所接收的不同种类的算法进行配置,将当前待配置的目标算法定义为目标算法。计算系统内设有至少两个计算单元,至少两个计算单元组成可配置的智能计算单元阵列。其中,每个计算单元是实现智能计算的硬件载体,能够实现多种深度神经网络算法模型通用的基本算子,例如,卷积算子、池化算子、激活函数等。当然也可以包括特定算法的专用算子。计算单元可采用在线配置或离线配置,配置方式可以包括硬件电路配置和软件配置,计算单元通过内部互联网络进行数据交互,内部互联网络可以包括总线、片上网络等。此外,如图2所示,计算系统还可以包括控制器存储器、系统互联网络、外围接口等。所述控制器用于执行本计算系统所要执行的处理和计算步骤,实现计算系统的任务分配、数据调度管理等。存储器用于存储计算系统所需要的深度神经网络算法模型的参数,以及计算单元在计算系统运行过程中的计算结果。系统互连网络可以实现系统内部可配置计算单元阵列、控制器、存储器、外围接口之间的高速数据交互和数据存取。外围接口则可以用于系统供电、调试、系统与外部系统之间的数据通信等。
[0056] 计算系统在接收到待配置的目标算法之后,即可解析目标算法所包含的计算类型和每个计算类型对应的数量。即对所需深度神经网络算法模型进行解析,获取算法模型的网络分层、数据通道、运算类型等信息。
[0057] 可选的,可利用Tensor Flow或者Caffe,解析所述目标算法所包含的计算类型和每个计算类型对应的数量。
[0058] S103,根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子;其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0059] 具体的,计算系统再解析获得所述目标算法所需要的计算类型和每个计算类型的数量后,即可从全部计算单元中选择出能够组合实现目标算法的目标计算单元,并为每个目标计算单元配置对应的目标算子。具体实施时,可以结合最优化算法,选择确定最优数量的可执行不同运算类型的对应数据格式的目标计算单元。
[0060] 目标计算单元的选择以计算单元IP库为基础。其中,该计算单元IP库包含多种深度神经网络算法模型的通用算子,也包含特定智能算法模型的专用算子。智能计算单元IP库中的同类智能计算单元包括多种数据类型、数据位宽的实例;智能计算单元IP库可运行在系统的控制器中,或者外部计算系统,支持智能计算单元的更新、扩充。
[0061] S104,根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0062] 在确定所选择的目标计算单元及匹配的目标算子之后,可以根据目标算法确定各目标计算单元之间的连接关系,选额确定最优的网络结构和通信方式。其中,网络结构可选用总线式或者不同拓扑结构的片上网络,通信方式可以支持点对点、点对多点等方式。
[0063] S105,根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件。其中,所述配置算法用于配置所述计算系统的计算单元阵列。
[0064] 计算系统在依据上述多步骤确定每个目标算子的目标计算单元及多目标计算单元组成的网络结构之后,即可生成用于实现目标算法的配置文件。将配置到计算系统的计算单元阵列,即可实现该目标算法。
[0065] 如图3所示,为本发明实施例提供的另一种配置方法的流程示意图。本实施方式与上述实施例的区别在于,增设了结合待处理的目标数据集的数据类型参数来进一步优化配置过程的方案。其中,所述数据类型参数可以包括数据类型、数据位宽或者数据分布。
[0066] 具体的,所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤之前,所述方法还可以包括:
[0067] 接收待计算的目标数据集的数据类型参数;
[0068] 所述根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子的步骤,包括:
[0069] 根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个目标计算单元配置目标算子。
[0070] 增设根据待处理的目标数据集的数据位宽等数据类型参数,进一步确定更适用的计算单元和目标算子,配置效果更好。
[0071] 在另一种具体实施方式中,所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法还可以包括:
[0072] 根据所述网络结构,确定每个目标计算单元的交互次数;其中,每个目标计算单元的交互次数为在所述网络结构中的每个目标计算单元与其他目标计算单元数据交互的次数;
[0073] 根据每个目标计算单元的交互次数,以及所述网络结构,得到所述计算系统的单元布局方案;
[0074] 所述根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件的步骤,包括:
[0075] 根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件。
[0076] 计算系统根据所述网络结构选择所确定的目标计算单元及每个目标计算单元与其他目标计算单元的交互次数,针对不同类型的智能计算单元在可配置的计算单元阵列中的物理布局进行优化,确定各计算单元的物理位置。优化原则可以为:将数据交互需求大即交互次数较多的计算单元在物理上就近部署,降低网络的数据带宽需求,降低网络拥塞。
[0077] 此外,如图3所示,增设了分配存储的过程。所述根据每个所述目标计算单元对应的目标算子,以及所述计算系统的单元布局方案,生成所述计算系统用于实现所述目标算法的配置文件的步骤之前,所述方法还可以包括:
[0078] 获取所述目标数据集的数据格式和数据分布信息;
[0079] 根据接收待计算的目标数据集的数据类型参数,以及每个目标计算单元的目标算子,为每个所述目标计算单元分配对应的存储空间。
[0080] 计算系统根据所述数据分析所获取的数据格式和数据分布信息,以及选择所确定数量和类型的计算单元,为计算单元分配用于存储参数和中间计算结果的存储空间。之后,计算系统即可根据所述单元布局优化所确定的计算单元的物理位置和所述存储空间分配所确定的计算单元存储空间,生成配置文件,配置文件用于配置计算单元阵列。
[0081] 此外,存储空间分配还支持存储空间优化,通过对智能计算单元进行稀疏存储,降低深度神经网络算法模型需要存储大量参数带来的超大存储空间需求。
[0082] 上述本公开实施例提供的配置方法,面向嵌入式系统智能任务场景灵活多变的应用需求,提供一种硬件可配置的嵌入式智能计算系统及方法,该系统通过可配置的智能计算系统硬件架构,支持深度神经网络等不同智能算法模型在嵌入式环境的加速处理,该方法针对特定深度神经网络模型的特性,实现硬件资源最优配置。
[0083] 此外,本发明实施例还提供了一种配置装置,用于实现上述实施例提供的配置方法。所述配置装置应用于计算系统,所述计算系统包括至少两个计算单元,每个计算单元内包含至少两类算子;
[0084] 所述装置可以包括:
[0085] 接收模块,用于接收待配置的目标算法;
[0086] 解析模块,用于解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0087] 配置模块,用于根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0088] 确定模块,用于根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0089] 生成模块,用于根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
[0090] 可选的,所述接收模块还用于:
[0091] 接收待计算的目标数据集的数据类型参数;
[0092] 所述配置模块用于:
[0093] 根据所述目标算法所包含的计算类型和每个计算类型对应数量,以及所述目标数据集的数据类型参数,为每个所述计算单元配置目标算子。
[0094] 继续参见图3,本发明实施例还提供了一种计算系统,包括:
[0095] 至少两个计算单元,每个所述计算单元内包含至少两类算子;以及,[0096] 处理器,所述处理器用于:
[0097] 接收待配置的目标算法;
[0098] 解析所述目标算法所包含的计算类型和每个计算类型对应的数量;
[0099] 根据所述目标算法所包含的计算类型和每个计算类型对应的数量,为每个目标计算单元配置目标算子,其中,所述目标计算单元为所述至少两个计算单元的任一计算单元;
[0100] 根据所述目标算法,以及每个所述目标计算单元对应的目标算子,确定全部所述目标计算单元组成的网络结构;
[0101] 根据每个所述目标计算单元对应的目标算子,以及全部所述目标计算单元组成的网络结构,生成所述计算系统用于实现所述目标算法的配置文件,所述配置算法用于配置所述计算系统的计算单元阵列。
[0102] 上述本公开实施例提供的计算系统,面向嵌入式系统智能任务场景灵活多变的应用需求,提供一种硬件可配置的嵌入式智能计算系统及方法,该系统通过可配置的智能计算系统硬件架构,支持深度神经网络等不同智能算法模型在嵌入式环境的加速处理,该方法针对特定深度神经网络模型的特性,实现硬件资源最优配置。
[0103] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,未公开的保护范围应以权利要求的保护范围为主。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈