硬件加速器制造技术

技术编号:39657183 阅读:8 留言:0更新日期:2023-12-09 11:26
本申请实施例提供了一种硬件加速器

【技术实现步骤摘要】
硬件加速器、处理器、芯片、及电子设备


[0001]本申请实施例涉及硬件加速
,尤其涉及一种硬件加速器

处理器

芯片

以及电子设备


技术介绍

[0002]卷积神经网络
CNN
是深度学习中最重要的算法之一,其因具有精度高

权值量少的特点而被广泛地应用于诸如自动驾驶

计算机视觉以及语音识别等领域

为了能够在终端更加高效的部署
CNN
,业界针对不同神经网络研发出了相应的神经网络硬件加速器

[0003]目前已有的神经网络硬件加速器多用于分类任务的
CNN
,其按照卷积层的层顺序进行
CNN
的处理

该种处理方式中,在层内对于特征数据和权重数据以不同的顺序加载到硬件加速器的内存中进行复用,通过片外内存完成一层的运算后,开启下一层的运算

[0004]然而,相较于用于分类任务的
CNN
,图像增强任务不会频繁地对于图像如特征图进行下采样,这就导致处理同样大小的输入图像数据时,图像增强任务的特征数据的数据量和运算量远远高于分类任务,由此产生的神经网络硬件加速器和片外内存频繁的数据交互导致了严重的计算延迟和处理功耗问题


技术实现思路

[0005]有鉴于此,本申请实施例提供一种硬件加速方案,以至少部分解决上述问题

[0006]根据本申请实施例的第一方面,提供了一种硬件加速器,包括:处理单元
PE
阵列

所述硬件加速器的内部缓存单元

和设置与所述
PE
阵列和所述内部缓存单元之间的数据调度器;其中,所述数据调度器用于:从所述内部缓存单元依次获取待进行处理的多个图像行,并调度所述
PE
阵列对所述多个图像行依次进行
MAC
运算处理,其中,相邻图像行之间存在重叠像素行,所述重叠像素行在其所属的相邻图像行均进行
MAC
运算处理;并且,在对各图像行进行
MAC
运算处理的过程中,调度所述
PE
阵列中对当前图像行进行处理的
PE
以切块为单位,对各图像行中包含的多个行切块进行
MAC
运算处理,其中,对于相邻的行切块,缓存前一行切块中与后一行切块重叠部分的运算结果,并结合后一行切块的非重叠部分的运算结果作为后一行切块的
MAC
运算处理结果

[0007]根据本申请实施例的第二方面,提供了一种处理器,包括:如第一方面所述的硬件加速器

[0008]根据本申请实施例的第三方面,提供了一种芯片,包括:如第二方面所述的处理器

[0009]根据本申请实施例的第四方面,提供了一种电子设备,包括:如第三方面所述的芯片

[0010]根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法

[0011]根据本申请实施例提供的方案,在可用于图像增强任务的硬件加速器中,增设了
数据调度器,以在硬件加速器的内部缓存单元和
PE(Processing Element
,处理单元
)
阵列之间进行
MAC(Multiply Accumulate
,乘积累加运算
)
乘加运算处理的数据调度

其中,在调度时,采用行输入的方式,使得输入的图像行在
X
维度方向较长,在
Y
维度方向较短

在通过
MAC
进行运算处理时,对于
Y
维度方向上相邻图像行之间存在的重叠像素行,采取均进行
MAC
运算处理
(
重计算
)
的策略;对于
X
维度方向上的图像行的行切块之间的重叠部分,采用缓存运算结果,并立刻在下一行切块中使用,即结合后一行切块的非重叠部分的运算结果作为后一行切块的
MAC
运算处理结果的方式

由此,一方面,在计算时,部分数据被重计算部分数据被缓存,可实现片上缓存和行切块间重叠部分重计算量的平衡,避免频繁地向片外内存
(
如外部全局缓存等
)
进行读写操作;另一方面,以行切块为单位进行
MAC
运算处理,除左右两侧的行切块外,充分利用了
PE

MAC
运算能力,避免了传统方式中采用金字塔层整合数据流处理方式中,感受野逐层宽度减小的问题,避免了
PE
的利用率下降

从而,既充分利用的
PE
的计算资源,又避免了硬件加速器和片外内存频繁的数据交互导致的计算延迟和处理功耗

附图说明
[0012]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图

[0013]图1为适用本申请实施例方案的示例性硬件加速器的结构示意图;
[0014]图2为根据本申请实施例的一种图像的行切块的示意图;
[0015]图3为根据本申请实施例的一种采用滑窗方式向外部全局缓存写入图像行的示意图;
[0016]图4为根据本申请实施例的一种行切块处理过程的示意图;
[0017]图5为根据本申请实施例的一种
Tile
的块间数据调度的过程示意图;
[0018]图6为根据本申请实施例的一种
MAC
运算处理过程的示意图;
[0019]图7为根据本申请实施例的一种
MAC
运算处理过程中权重数据与图像数据
/
特征数据的关系的示意图;
[0020]图8为根据本申请实施例的一种处理器的结构框图;
[0021]图9为根据本申请实施例的一种芯片的结构框图;
[0022]图
10
为根据本申请实施例的一种电子设备的结构示意图

具体实施方式
[0023]为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例

基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种硬件加速器,包括:处理单元
PE
阵列

所述硬件加速器的内部缓存单元

和设置与所述
PE
阵列和所述内部缓存单元之间的数据调度器;其中,所述数据调度器用于:从所述内部缓存单元依次获取待进行处理的多个图像行,并调度所述
PE
阵列对所述多个图像行依次进行
MAC
运算处理,其中,相邻图像行之间存在重叠像素行,所述重叠像素行在其所属的相邻图像行均进行
MAC
运算处理;并且,在对各图像行进行
MAC
运算处理的过程中,调度所述
PE
阵列中对当前图像行进行处理的
PE
以切块为单位,对各图像行中包含的多个行切块进行
MAC
运算处理,其中,对于相邻的行切块,缓存前一行切块中与后一行切块重叠部分的运算结果,并结合后一行切块的非重叠部分的运算结果作为后一行切块的
MAC
运算处理结果
。2.
根据权利要求1所述的硬件加速器,其中,所述硬件加速器对接有外部全局缓存,以通过所述外部全局缓存获得按照光栅扫描顺序写入的所述多个图像行
。3.
根据权利要求2所述的硬件加速器,其中,所述数据调度器,还用于对已缓存入所述外部全局缓存中的图像行进行切分,以获得各图像行对应的多个行切块
。4.
根据权利要求1‑3任一项所述的硬件加速器,其中,所述内部缓存单元至少包括图像数据单元,所述图像数据单元用于以行切块为单位缓存图像行的行切换;所述从所述内部缓存单元依次获取待进行处理的多个图像行,包括:从所述图像数据单元中依次获取各图像行对应的行切块
。5.
根据权利要求4所述的硬件加速器,其中,所述内部缓存单元还包括重叠缓存单元;所述对于相邻的行切块,缓存前一行切块中与后一行切块重叠部分的运算结果,包括:根据卷积核的移动步长,确定相邻行切块的重叠部分;在通过所述
PE
对各行切块进行
MAC
运算处理时,将所述重叠部分的
MAC
运算结果缓存至所述重叠缓存单元
。6.
根据权利要求1‑3任一项所述的硬件加速器,其中,所述数据调度器,还用于在调度所述
PE
阵列对所述多个图像行依次进行
MAC
运算处理的同时,从所述内部缓存单元获取新缓存的图像行,所述新缓存的图像行与...

【专利技术属性】
技术研发人员:张灏李思成焦捷徐淑淞刘子豪陆彦珩范虎刘涛
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

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

1