一种数据处理装置及数据处理方法制造方法及图纸

技术编号:28376476 阅读:25 留言:0更新日期:2021-05-08 00:04
本申请实施例公开了一种数据处理装置及数据处理方法,涉及图像处理领域,至少解决了现有技术中对于总线带宽以及片上存储空间要求高,计算效率低下的问题。具体方案为:将待处理的输入特征图从片外存储中传输到片上存储单元中,并依照计算的情况在计算阵列上进行初始化以及更新,同时在计算阵列是上进行卷积核权重数据的空间复用进行并行卷积计算。在完成一个输入特征图的所有卷积计算后再计算其他输入特征图的卷积计算,并将结果依次累加以获取输出特征图。

【技术实现步骤摘要】
一种数据处理装置及数据处理方法
本申请涉及图像处理领域,尤其涉及一种数据处理装置及数据处理方法。
技术介绍
目前,卷积神经网络已经被广泛应用于图像分类、视频处理、语音识别、数据分析等场景。而随着需要处理的对象数量(如需要处理的图像个数)以及复杂度(如需要处理的图像的特征图数据数量)的增加,对执行卷积神经网络模型的硬件架构(或者称为计算平台)的计算能力以及存储带宽提出了更高的要求。其中,基于传统的硬件架构,如中央处理器(centralprocessingunit,CPU)的计算能力已经无法满足大型卷积神经网络推理的过程中对系统性能(如计算能力以及存储带宽)的要求。而对于具备较高计算能力的图形处理器(GraphicsProcessingUnit,GPU),由于其功耗较高,因而限制了GPU在卷积神经网络计算中的使用范围,如不能使用于低功耗、资源受限的硬件架构。除此之外,为了适应不同场景的需求,卷积神经网络模型的种类也变得非常多样化。例如,不同的卷积神经网络模型具有不同大小的卷积核,以实现对应的卷积计算。这也就需要设计不同的硬件架构来实现不同场本文档来自技高网...

【技术保护点】
1.一种数据处理装置,其特征在于,包括:片外存储单元,与所述片外存储单元连接的第一缓存单元,与所述片外存储单元连接的第二缓存单元,计算阵列,第三缓存单元,算术逻辑单元及调度单元;/n其中,所述计算阵列包括多个计算单元,所述多个计算单元包括R行C列,所述R行C列的计算单元在行方向和列方向上依次连接,R,C均为大于1的整数;所述第一缓存单元还与所述计算阵列的第1行计算单元的输入端连接;所述第二缓存单元还与所述计算阵列的所有计算单元的输入端连接;所述计算阵列的第R行计算单元的输出端与所述第三缓存单元连接;所述第三缓存单元还与所述算术逻辑单元的输入端连接;所述调度单元分别与所述片外存储单元,所述第一缓...

【技术特征摘要】
1.一种数据处理装置,其特征在于,包括:片外存储单元,与所述片外存储单元连接的第一缓存单元,与所述片外存储单元连接的第二缓存单元,计算阵列,第三缓存单元,算术逻辑单元及调度单元;
其中,所述计算阵列包括多个计算单元,所述多个计算单元包括R行C列,所述R行C列的计算单元在行方向和列方向上依次连接,R,C均为大于1的整数;所述第一缓存单元还与所述计算阵列的第1行计算单元的输入端连接;所述第二缓存单元还与所述计算阵列的所有计算单元的输入端连接;所述计算阵列的第R行计算单元的输出端与所述第三缓存单元连接;所述第三缓存单元还与所述算术逻辑单元的输入端连接;所述调度单元分别与所述片外存储单元,所述第一缓存单元,所述第二缓存单元,所述计算阵列,所述第三缓存单元及所述算术逻辑单元连接;
所述片外存储单元,用于存储N个输入特征图及M个卷积核;N,M均为大于或等于1的整数;
针对所述N个输入特征图中的每个输入特征图,所述调度单元执行以下操作以获得每个输入特征图与对应权重数据的卷积结果:
所述调度单元,用于将第一输入特征图的特征图数据存储到所述第一缓存单元,将所述M个卷积核中与第一输入特征图对应的权重数据存储到所述第二缓存单元,所述第一输入特征图是所述N个输入特征图中的任意一个特征图;
所述调度单元,还用于将所述第一缓存单元存储的所述第一输入特征图的特征图数据以1行C列为单位依次传输给所述计算阵列,并将所述第二缓存单元存储的权重数据映射到所述计算阵列,用于所述计算阵列中的计算单元进卷积计算,获得卷积结果并存储到所述第三缓存单元;
所述算术逻辑单元,用于将所述第三缓存单元中的相同卷积核的不同通道对应的卷积结果进行累加,获得与M个卷积核对应的M个中间输出特征图。


2.根据权利要求1所述的数据处理装置,其特征在于,
所述调度单元,用于将所述第一缓存单元中存储的所述第一输入特征图中前R行C列的特征图数据,从第1行中第1列至第C列的特征图数据开始,由所述计算阵列的第1行计算单元的输入端,以1行C列为单位通过级联的方式依次向下传递,以便将所述第一输入特征图的前R行C列的特征图数据依次传输给所述计算阵列的第R行至第1行的计算单元上进行卷积计算;其中,用于卷积计算的卷积核的步长为S,S为大于或等于1的整数;
当针对所述第一输入特征图中前S行中第1列至第C列的特征图数据的卷积计算完成时,所述调度单元还用于控制所述计算阵列中第1行至第R-S行的特征图数据通过级联的方式向下传递S行,并将所述第一缓存单元中存储的所述第一输入特征图的第R+1行至第R+S+1行中第1列至第C列的特征图数据通过所述计算阵列的第1行计算单元的输入端传输到所述计算阵列的前S行计算单元,依次类推,直到所述第一输入特征图中第H-R+1行中第1列至第C列的特征图数据的传输到所述计算阵列的第1行计算单元,其中,H为所述第一输入特征图中包括的特征图数据的行数,H为大于R的整数;
当针对所述第一输入特征图中第H-R+1行中第1列至第C列的特征图数据的卷积计算完成时,所述调度单元还用于控制所述计算阵列中第1行至第R-S行的特征图数据通过级联的方式向下传递S行;
如果则将所述第一缓存单元中存储的所述第一输入特征图的第1行中第列至第列的特征图数据通过所述计算阵列的第1行计算单元的输入端传输到所述计算阵列的第1行计算单元;
如果则将所述第一缓存单元中存储的所述第一输入特征图的第1行中第列至第列的特征图数据通过所述计算阵列的第1行计算单元的输入端传输到所述计算阵列的第1行计算单元;
依次类推,直到所述第一输入特征图中第H-R+1行中第L-C+1列至第L列的特征图数据的传输到所述计算阵列的第1行计算单元,其中,L为所述第一输入特征图中包括的特征图数据的列数,K2为所述M个卷积核中的一个卷积核中与第一输入特征图对应的权重数据的列数,L为大于C的整数,K2为大于或等于1的整数。


3.根据权利要求1或2所述的数据处理装置,其特征在于,
所述调度单元,用于针对所述M个卷积核中的每个卷积核,执行以下操作以获得所述第一输入特征图中所有特征图数据与所述M个卷积核的第一通道一一对应的M个卷积结果,所述第一通道与所述第一输入特征图对应:
所述调度单元,用于将所述第二缓存单元存储的第一权重数据映射到所述计算阵列的第R-K1+1行到第R行的前K2列的计算单元中,以便所述第R-K1+1行到第R行的前K2列的计算单元根据所述第一权重数据进行卷积计算;当所述第R-K1+1行到第R行的前K2列的计算单元的卷积计算完成时,控制所述第一权重数据通过级联的方式向右传递S列,以便所述第R-K1+1行到第R行的第S列至第K2+S-1列的计算单元根据所述第一权重数据进行卷积计算,依次类推,直到第一权重数据传递到第R-K1+1行到第R行的第C-K2+1列至第C列的计算单元;所述第一权重数据是所述M个卷积核中任意一个卷积核的第一通道的权重数据,其中,K1为所述M个卷积核中的一个卷积核的第一通道包括的权重数据的行数,K1为大于或等于1的整数;
当所述第R-K1+1行到第R行的第C-K2+1列至第C列的计算单元的卷积计算完成时,所述调度单元重新将所述第一权重数据映射到所述计算阵列的第R-K1+1行到第R行的前K2列的计算单元中,直到所述第一输入特征图的所有特征图数据与所述第一权重数据的卷积计算完成。


4.根据权利要求1或2所述的数据处理装置,其特征在于,
所述调度单元,用于针对所述M个卷积核中的每个卷积核,执行以下操作以获得所述第一输入特征图中所有特征图数据与所述M个卷积核的第一通道一一对应的M个卷积结果,所述第一通道与所述第一输入特征图对应:
所述调度单元,用于将所述第二缓存单元存储的第一权重数据重复映射到所述计算阵列的第行至第R行中的第1列至第列中,以便对应位置的计算单元根据所述第一权重数据进行卷积计算;当卷积计算完成时,控制重复映射到所述计算阵列的所述第一权重数据通过级联的方式向右传递S列,以便对应位置的计算单元根据所述第一权重数据进行卷积计算,依次类推,直到第一权重数据传递到第R-K1+1行到第R行的第C-K2+1列至第C列的计算单元;所述第一权重数据是所述M个卷积核中任意一个卷积核的第一通道的权重数据,其中,K1为所述第一通道的权重数据的行数,K2为所述第一通道的权重数据的列数,K1,K2均为大于或等于1的整数;
当所述第R-K1+1行到第R行的第C-K2+1列至第C列的计算单元的卷积计算完成时,所述调度单元重新将所述第一权重数据重复映射到所述计算阵列的第行至第R行中的第1列至第列的计算单元中,直到所述第一输入特征图的所有特征图数据与所述第一权重数据的卷积计算完成。


5.根据权利要求1-4中任一项所述的数据处理装置,其特征在于,所述算术逻辑单元的输出端与所述片外存储单元连接;
所述算术逻辑单元,还用于将所述第三缓存单元存储的所述M个中间输出特征图分别进行池化和/或激活处理;
所述调度单元,还用于将处理后的中间输出特征图存储到所述片外存储单元。


6.根据权利要求1-5中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括:与所述算术逻辑单元的输出端连接的第四缓存单元,所述第四缓存单元还与所述调度单元连接;
所述算术逻辑单元,还用于将所述第三缓存单元存储的所述M个中间输出特征图分别进行池化和/或激活处理,并将处理后的中间输出特征图存储至所述第四缓存单元;
所述调度单元,还用于将所述第四缓存单元中存储的处理后的中间输出特征图存储到所述片外存储单元。


7.根据权利要求1-6中任一项所述的数据处理装置,其特征在于,所述第三缓存单元还与所述片外存储单元连接;
所述调度单元,还用于将所述片外存储单元存储的所述N个输入特征图存储到所述第三缓存单元;
所述算术逻辑单元,还用于对所述第三缓存单元中存储的所述N个输入特征图进行激活处理;
所述调度单元,还用于将激活后的所述N个输入特征图存储到所述片外存储单元。


8.一种数据处理方法,其特征在于,应用于数据处理装置,所述数据处理装置包括:片外存储单元,与所述片外存储单元连接的第一缓存单元,与所述片外存储单元连接的第二缓存单元,计算阵列,第三缓...

【专利技术属性】
技术研发人员:吕倩楠杨振华田腾李嘉金西
申请(专利权)人:华为技术有限公司中国科学技术大学
类型:发明
国别省市:广东;44

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

1