基于卷积神经网络加速器的数据重用方法技术

技术编号:20026729 阅读:60 留言:0更新日期:2019-01-06 05:28
本发明专利技术公开了一种基于卷积神经网络加速器的数据重用方法,包括瓦片扫描模块接收命令模块的命令信息,命令信息包括需要将CNN作业分割成瓦片块的尺寸;瓦片扫描模块根据瓦片块的尺寸生成瓦片块的坐标,并发送给内存请求模块;内存请求模块生成内存读取请求,并将内存读取请求发送到内存模块中;内存模块依次返回瓦片块数据到输入激活权重缓存单元中,输入激活权重缓存单元保存接收到的瓦片块数据从而实现数据重用并将接收到的瓦片块数据发送到计算处理单元PE。本发明专利技术可以节省内存总线带宽和功耗,在有限的缓存大小中最大化数据重用。

【技术实现步骤摘要】
基于卷积神经网络加速器的数据重用方法
本专利技术涉及卷积神经网络加速器
,具体涉及一种基于卷积神经网络加速器的数据重用方法。
技术介绍
卷积神经网络加速器在两个主要输入上操作,即“输入激活和权重。IA数据(输入激活,InputActivation,简称IA)有3个维度,即W、H、C。权重数据有4个维度,即R、S、C、K。W、H、C、K可以是高达1024的大值。R、S可以是小值(最高到5或7)。每个元素通常是16位数据。IA和权重数据需要有乘数和积累操作。典型的CNN加速器有大约1K个MAC单元。有了这种计算能力,它将需要大约50,000到3,000,000个周期才能完成CNN层的计算。加速器必须为MAC单元提供每个周期所需的所有输入IA和权重。系统的内存总线可以提供更少的带宽,因此它要求输入数据在加速器内部有很好的重用。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术的不足提供一种基于卷积神经网络加速器的数据重用方法,本基于卷积神经网络加速器的数据重用方法可以节省内存总线带宽和功耗,在有限的缓存大小中最大化数据重用。为实现上述技术目的,本专利技术采取的技术方案为:一种基于卷积神经网络加速器的数据重用方法,包括执行数据重用方法的命令模块、瓦片扫描模块、内存请求模块、内存模块、输入激活权重缓存单元和计算处理单元PE;包括以下步骤:(1)瓦片扫描模块接收命令模块的命令信息,所述命令信息包括需要将CNN作业分割成瓦片块的尺寸;(2)瓦片扫描模块根据瓦片块的尺寸生成瓦片块的坐标,并将瓦片块的坐标信息发送给内存请求模块中;(4)内存请求模块根据瓦片块的坐标生成内存读取请求,并将内存读取请求发送到内存模块中;(5)内存模块依次返回瓦片块数据到输入激活权重缓存单元中,输入激活权重缓存单元保存接收到的瓦片块数据从而实现数据重用并将接收到的瓦片块数据发送到计算处理单元PE。作为本专利技术进一步改进的技术方案,所述的瓦片块的尺寸包括宽度维度上的尺寸、高度维度上的尺寸和权重维度上的尺寸。作为本专利技术进一步改进的技术方案,所述的瓦片块的坐标包括宽度信息、高度信息和通道信息。作为本专利技术进一步改进的技术方案,所述的步骤(2)还包括:瓦片扫描模块为瓦片块配置不同的计算处理单元PE;配置方法包括:将相同的宽度信息、相同的高度信息且不同的通道信息的瓦片块对应的瓦片块数据分配给相同的计算处理单元PE。作为本专利技术进一步改进的技术方案,所述的步骤(5)还包括:数据缓存单元保存接收到的瓦片块数据,并根据与接收到的瓦片块数据对应的瓦片块的配置方法将接收到的瓦片块数据发送到对应的计算处理单元PE中。作为本专利技术进一步改进的技术方案,所述的CNN作业包括输入激活数据。本专利技术的有益效果为:本专利技术可以通过对数据进行瓦片块分割处理,可以最大限度地重用输入激活权重缓存单元中的数据,并实现最小的内存访问带宽;在有限的缓存大小中最大化数据重用。附图说明图1为本专利技术的结构示意图。图2为本专利技术的计算处理单元PE的分配图。图3为本专利技术的瓦片块的W值权重图。具体实施方式下面根据图1至图3对本专利技术的具体实施方式作出进一步说明:本专利技术在卷积神经网络加速器中设计一个瓦片扫描模块(TileScan,简称TS)。将输入激活数据分割为瓦片块并发送到后续的执行引擎PE(即计算处理单元PE)。该分割发生在IA和权重的W、H、C和K维度上。TS有多种扫描序列选择来分割瓦片。瓦片调度程序提供了可配置的序列,可以最大限度地重用数据缓存中的数据,并实现最小的内存访问带宽。具有最佳性能和功率的序列可能因层而异,并取决于输入激活(InputActivation,简称IA)数据的缓存和W缓存的大小。参见图1,一种基于卷积神经网络加速器的数据重用方法,包括执行数据重用方法的命令模块、瓦片扫描模块、内存请求模块、内存模块、输入激活权重缓存单元和计算处理单元PE;本实施例中的计算处理单元PE包括4个,即PE0、PE1、PE2、PE3。包括以下步骤:(1)瓦片扫描模块接收命令模块的命令信息,所述命令信息包括需要将CNN作业分割成瓦片块的尺寸;具体地,该命令信息包括IA和W的表面尺寸和一些配置寄存器值;(2)瓦片扫描模块根据瓦片块的尺寸生成瓦片块的坐标,并将瓦片块的坐标信息发送给内存请求模块中;(4)内存请求模块根据瓦片块的坐标生成内存读取请求,并将内存读取请求发送到内存模块中;(5)内存模块依次返回瓦片块数据到输入激活权重缓存单元中,输入激活权重缓存单元保存接收到的瓦片块数据从而实现数据重用并将接收到的瓦片块数据发送到计算处理单元PE。所述的瓦片块的尺寸包括宽度维度上的尺寸、高度维度上的尺寸和权重维度上的尺寸。所述的瓦片块的坐标包括宽度信息、高度信息和通道信息。所述的步骤(2)还包括:瓦片扫描模块为瓦片块配置不同的计算处理单元PE;配置方法包括:将相同的宽度信息、相同的高度信息且不同的通道信息的瓦片块对应的瓦片块数据分配给相同的计算处理单元PE。所述的步骤(5)还包括:数据缓存单元保存接收到的瓦片块数据,并根据与接收到的瓦片块数据对应的瓦片块的配置方法将接收到的瓦片块数据发送到对应的计算处理单元PE中。所述的CNN作业包括输入激活数据。本实施例中的瓦片扫描块将整个CNN作业分割成更小的作业(即瓦片块)并将这些作业分配给可配置数量的处理引擎(ProcessingEngine,简称PE),又称为计算处理单元PE。PE作业是去计算多个输出激活像素数。IA数据的大小和瓦片的权重是可编程的。通常情况下,IA瓦片块数据的大小为8x8x8,权重的大小为RxSx8x16。IA瓦片块数据大小也可以是8x16、4x16等。权重大小也可以是RxSx8x8。瓦片块的deltaC和K值也可能小于8。具有相同W/H(宽度信息/高度信息)但不同C(通道信息)的作业应分配给相同的PE,以便PE可累积完整的OA而不生成部分总和。W广播模式下的瓦片扫描分区序列示例:首先将4个8x8x8(W方向元素数xH方向元素数xC方向元素数)瓦片块对应的瓦片块数据分配给4个PE。它们有不同的W/H坐标,但有相同的权重K=0~15。当其中一个PE完成瓦片块数据时,TS分配另一个具有相同W/H和更高通道的8x8x8的瓦片块对应的瓦片块数据给它,直到8x8xC在同一个PE中完成。然后分配另一个8x8x8与下一个W/H到PE。所有PE同时处理相同的16K权重。这称作W值广播。还有另一种模式,即IA广播,其中所有PE在相同IA和不同权重下工作。在这种情况下,一个PE工作在16K的权重上,4个PE可以同时执行权重K=0〜63。给定一定缓存大小的IA或W广播的选择可以根据不同的CNN层而不同,并且取决于IA/W大小、缓存大小以及随之而来的整体存储器带宽。完成权重K=0~15的一定数量瓦片块的所有通道后,TS重新进行具有下一个16K权重的IA数据分割,直到所有重量都成了一个循环为止,然后切换到下一组IA瓦片块。这样一组瓦片块数据的最佳数量应该使得在K循环中的IA数据全部可以保存在IA数据高速缓存(输入激活权重缓存单元)中,从而不需要IA数据重新加载。如图2所示,该图中的每个瓦片柱由3个具相同W坐标(宽度信息)和H坐标(高度信息)但不同C坐标(通道信息)的瓦片块(本文档来自技高网...

【技术保护点】
1.一种基于卷积神经网络加速器的数据重用方法,其特征在于,包括执行数据重用方法的命令模块、瓦片扫描模块、内存请求模块、内存模块、输入激活权重缓存单元和计算处理单元PE;包括以下步骤:(1)瓦片扫描模块接收命令模块的命令信息,所述命令信息包括需要将CNN作业分割成 瓦片块的尺寸;(2)瓦片扫描模块根据瓦片块的尺寸生成瓦片块的坐标,并将瓦片块的坐标信息发送给内存请求模块中;(3)内存请求模块根据瓦片块的坐标生成内存读取请求,并将内存读取请求发送到内存模块中;(4)内存模块依次返回瓦片块数据到输入激活权重缓存单元中,输入激活权重缓存单元保存接收到的瓦片块数据从而实现数据重用并将接收到的瓦片块数据发送到计算处理单元PE。

【技术特征摘要】
1.一种基于卷积神经网络加速器的数据重用方法,其特征在于,包括执行数据重用方法的命令模块、瓦片扫描模块、内存请求模块、内存模块、输入激活权重缓存单元和计算处理单元PE;包括以下步骤:(1)瓦片扫描模块接收命令模块的命令信息,所述命令信息包括需要将CNN作业分割成瓦片块的尺寸;(2)瓦片扫描模块根据瓦片块的尺寸生成瓦片块的坐标,并将瓦片块的坐标信息发送给内存请求模块中;(3)内存请求模块根据瓦片块的坐标生成内存读取请求,并将内存读取请求发送到内存模块中;(4)内存模块依次返回瓦片块数据到输入激活权重缓存单元中,输入激活权重缓存单元保存接收到的瓦片块数据从而实现数据重用并将接收到的瓦片块数据发送到计算处理单元PE。2.根据权利要求1所述的基于卷积神经网络加速器的数据重用方法,其特征在于,所述的瓦片块的尺寸包括宽度维度上的尺寸、高度维度上的尺寸...

【专利技术属性】
技术研发人员:倪岭李云鹏孙怡乐邵平平翟海华郑金山
申请(专利权)人:南京天数智芯科技有限公司
类型:发明
国别省市:江苏,32

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

1