【技术实现步骤摘要】
一种硬件计算动态分配缓存装置
[0001]本专利技术属于硬件计算缓存分配
,具体涉及一种硬件计算动态分配缓存装置。
技术介绍
[0002]近年来,为了满足人们不断提高与发展的生产技术与生活的需要,人工智能应运而生。目前基于人工智能技术的深度卷积神经网络中,模型包含成千上百万的浮点型参数,计算过程需要消耗大量的计算资源和内存,对计算能力的要求也越来越高。
[0003]在支持神经网络计算的芯片方面,传统的通用CPU已经无法满足高效能的复杂计算要求。为了突破通用处理器的这些结构瓶颈,在图像处理方面,GPU(Graphical Processing Unit)采用多核处理器结构而取得巨大成功。与GPU运算相比,在终端小型芯片上部署模型,面临着巨大困难。和CPU以及GPU相对应,在硬件结构选择的另一端是专用芯片ASIC,从可编程性和能效的角度来衡量,专用芯片具有最高的能效。但是它的功能不能变化,无法满足不断更新的神经网络结构的需求。通用型GPP(General
‑
Purpose Process Unit)处理器和GPU处理器虽然具有强大的计算效率,但是功耗往往偏高。通用型FPGA虽然具有很好的通用性和能效,但是结构上并没有针对深度学习神经网络进行优化,没有充分发挥并行化硬件结构的效率。
[0004]现有技术如专利申请号为CN201910559200.3的中国专利,其公开了一种生成基于芯片的计算功能的方法、装置、设备和存储介质,提出了一种可以根据不同的运算数据动态分配硬件资源的方案。该方案 ...
【技术保护点】
【技术特征摘要】
1.一种硬件计算动态分配缓存装置,其特征在于,所述硬件计算动态分配缓存装置包括数据存储单元、动态分配缓存单元和运算单元,其中所述动态分配缓存单元包括动态分配控制模块、B_缓存和S_缓存,其中:所述数据存储单元,用于存放特征值和权重值;所述动态分配控制模块,用于根据特征值和权重值的数据量以及B_缓存和S_缓存的容量,针对B_缓存和S_缓存执行不同的缓存策略;所述运算单元,用于获取B_缓存和S_缓存中的数据进行乘累加运算并输出运算结果;所述B_缓存的容量大于S_缓存的容量,则所述缓存策略如下:若特征值的数据量、权重值的数据量、B_缓存的容量和S_缓存的容量四者中,特征值的数据量最大或者权重值的数据量最大,则将特征值和权重值两者中数据量较小的一者分配至B_缓存进行存储,将特征值和权重值两者中数据量较大的一者分配至S_缓存进行存储;或者,若特征值的数据量、权重值的数据量、B_缓存的容量和S_缓存的容量四者中,B_缓存的容量最大,则将特征值和权重值两者中数据量较大的一者分配至B_缓存进行存储,将特征值和权重值两者中数据量较小的一者分配至S_缓存进行存储。2.如权利要求1所述的硬件计算动态分配缓存装置,其特征在于,所述运算单元进行乘累加运算一次处理的最大数据量为:输入特征图尺寸(I
h
*I
w
*N),卷积核尺寸(W
h
*W
w
*N*M);其中,I
h
表示输入特征图图像的高,I
w
表示输入特征图图像的宽,W
h
表示卷积核的高,W
w
表示卷积核的宽,N表示通道数,M表示卷积核组数;取待处理的输入特征图尺寸为(I
′
h
*I
′
w
*N
′
),当N
′
>N时,B_缓存或S_缓存使用连续多个地址空间来存储一个像素点的N
′
通道数的特征值,当N
′
≤N时,B_缓存或S_缓存的每个地址空间存储一个像素点的N通道数的特征值,I
′
h
表示待处理的输入特征图图像的高,I
′
w
表示待处理的输入特征图图像的宽,N
′
表示待处理的通道数;取待处理的卷积核尺寸为(W
′
h
*W
′
w
*N
′
*M
′
),当M
′
>M时,B_缓存或S_缓存使用连续多个地址空间来存储一个点的M
′
组卷积核的权重值,若M
′
≤M,B_缓存或S_缓存的每个地址空间存储一个点的M组卷积核的权重值,W
′
h
表示待处理的卷积核的高,W
′
w
表示待处理的卷积核的宽,M
′
...
【专利技术属性】
技术研发人员:李盈盈,曹学成,丁永林,廖湘萍,李炜,
申请(专利权)人:中国电子科技集团公司第五十二研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。