【技术实现步骤摘要】
一种通用、可配置的高能效池化计算单行输出系统和方法
[0001]本专利技术属于数字电路系统和深度学习领域,尤其涉及一种通用、可配置的高能效池化计算单行输出系统和方法。
技术介绍
[0002]卷积神经网络(CNN)被广泛应用于人工智能领域,已经在大量的人工智能任务中取得了重大的成果,当前的应用趋势是将人工智能应用在边缘计算设备中,比方说智能手机、无人机和AIot等。然而边缘设备工作在资源和能量有限的环境下,就必须满足高性能和低功耗的要求。传统的计算平台CPU和GPU的低吞吐率和低能效不能满足边缘设备的要求,这就给进行深度学习的高能效卷积神经网络加速器的发展带来机遇。
[0003]高性能卷积神经网络同时包含卷积层和池化层。卷积层的作用是检测特征的局部连接,池化层的作用是将相似的特征合并为同一个。迄今为止,已经对卷积神经网络加速器进行了大量研究,目前备受关注的卷积神经网络加速器有TPU、NVDLA、Eyeriss和DianNao,然而这些加速器的设计主要聚焦于如何对卷积层进行加速操作,缺少对池化单元的特定研究。与此同时,现有的池化模块设计极大程度上受限于计算的灵活性、能效和面积。
[0004]灵活性和通用性一直以来都是卷积神经网络(CNN)硬件加速器的重要指标之一,因为每一年主流的CNN网络的结构都会有所不同,同时池化操作也会因网络而异,所以,亟待开发一种能够适用每年网络结构变化的硬件加速期。在之前的卷积神经网络加速器硬件电路设计当中,只能支持单一特定的网络结构,并不能应用到现如今任意的快速发展的CNN当中 ...
【技术保护点】
【技术特征摘要】
1.一种通用、可配置的高能效池化计算单行输出系统,其特征在于:包括上位机的可配置参数计算模块、下位机的可配置寄存器阵列操作控制模块、直接寄存器访问模块、以及计算模块;所述上位机的可配置参数计算模块将操作控制模块中所用到的所有参数都提前计算好,然后CPU将计算好的控制参数通过AXI
‑
lite总线存储到可配置的寄存器阵列操作控制模块,所述的可配置寄存器阵列操作控制模块从CPU获取数据后,存储这些提前计算好的控制参数、并利用这些提前计算好的控制参数控制直接寄存器访问模块的存取操作、以及控制计算模块的池化计算;所述直接寄存器访问模块按照可配置寄存器阵列操作控制模块发送的控制参数、通过AXI4总线从片外存储器DDR中获取与控制参数相匹配的单行输入数据、并将该单行输入数据发送给计算模块;所述的计算模块按照可配置寄存器阵列操作控制模块发送的控制参数,进行与控制参数相匹配的高效能池化计算,并将计算结果用过直接寄存器访问模块发送到片外存储器DDR、由片外存储器DDR对计算结果进行保存。2.根据权利要求1所述的一种通用、可配置的高能效池化计算单行输出系统,其特征在于:所述计算模块包括一维缓冲区、一维控制模块、一维计算模块、二维缓冲区、二维控制模块、二维计算模块;所述一维缓冲区接收从片外存储器DDR提取的单行输入数据、并将单行输入数据发送给一维计算模块;所述一维计算模块生成池化计算后的一维输出结果,并将池化计算后一维输出结果发送给二维缓冲区,所述二维缓冲区将池化计算后的一维输出结果发送给二维计算模块,二维计算模块生成池化计算后的二维输出结果,并将池化计算后的二维输出结果通过直接寄存器访问模块发送给片外存储器DDR进行存储。3.根据权利要求2所述的一种通用、可配置的高能效池化计算单行输出系统,其特征在于:所述二维缓冲包含二维向量的输入数据,其行数为Ky行,列数为宽度输出,二维的缓存空间设置为N*axi_burst,这个值的大小必须满足公式(6):N*axi_burst>Ky*max_width_out。
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)4.根据权利要求1所述的一种通用、可配置的高能效池化计算单行输出系统,其特征在于:所述上位机的可配置参数计算模块计算的控制参数包括涉及片上缓存空间的若干参数,该若干参数包括输出特征的宽度Wout、输出特征的高度Hout、输入通道数CHout、最大输出特征个数max_out_nmubers、最大输入特征的个数max_in_number。5.根据权利要求4所述的一种通用、可配置的高能效池化计算单行输出系统,其特征在于:所述片上缓存空间的大小取决于突发传输的长度,假设片上缓存的空间大小为突发长度(depth=axi_burst_len),根据下列公式确定输出个数:Wout=(Win+2*Px
‑
Kx)/Sx+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)公式一当中:Wout是输出特征的宽度=(Win输入特征的宽+2*Px宽度方向的填充数
‑
Kx宽度方向的滤波器的大小)/Sx宽度方向的步长+1Hout=(Hin+2*Py
‑
Ky)/Sy+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)公式二当中:Hout是输出特征的高度=(Hin输入特征的高度+2*Py高度方向的填充数
‑
Ky高度方向的滤波器的大小)/Sy高度方向的步长+1CH
out
=CH
in
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)公式三:CHout是输出通道数=CHin输入通道数max_out_numbers=(axi_burst_len
‑
Kx)//Sx+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)公式四:max_out_nmubers是最大输出个数=(突发长度
‑‑
Kx宽度方向的滤波器的大
小...
【专利技术属性】
技术研发人员:黄明强,潘伦帅,薛鹏,于淑会,
申请(专利权)人:中国科学院深圳先进技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。