[发明专利]一种基于FPGA的CNN-SVM资源高效型加速架构有效
| 申请号: | 202011252879.0 | 申请日: | 2020-11-11 |
| 公开(公告)号: | CN112306951B | 公开(公告)日: | 2022-03-22 |
| 发明(设计)人: | 付平;吴瑞东;刘冰;周彦臻;高丽娜;王宾涛;陈浩林 | 申请(专利权)人: | 哈尔滨工业大学 |
| 主分类号: | G06F15/78 | 分类号: | G06F15/78;G06F16/36;G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 哈尔滨市阳光惠远知识产权代理有限公司 23211 | 代理人: | 张宏威 |
| 地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 fpga cnn svm 资源 高效 加速 架构 | ||
1.一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:所述架构包括处理器系统和可编程逻辑系统;
所述处理器系统包括DDR存储控制器、SD/SDIO控制器、串口控制器、主开关和应用处理器;所述应用处理器进行数据调度和程序控制,所述SD/SDIO控制器和DDR存储控制器存储外部输入数据集和网络参数文件,所述串口控制器监测架构的输出结果和计算时间;
所述可编程逻辑系统包括:CNN-SVM流式架构加速器、AXI互联、AXI外设、DMA0和DMA1;所述主开关连接AXI外设,所述CNN-SVM流式架构加速器中的卷积计算单元进行卷积运算,所述CNN-SVM流式架构加速器中的池化计算单元将池化层和激活函数合并进行计算,CNN计算完成后,将CNN提取出来的特征向量进行展平,输入到分类器SVM中进行分类,最终输出分类结果;卷积计算单元的卷积核和分类器的权重参数由应用处理器进行配置;
DMA0将输入图像从外部存储器读取到所述加速器,DMA1负责初始化每层计算单元的卷积内核或权重参数,所述加速器内部的数据传输基于AXI-Stream接口;
所述CNN-SVM流式架构加速器基于通用的加速算子结构,所述加速算子结构为多个乘累加MAC节点组成的二维阵列,其中,垂直方向是输出通道的并行度Tn,水平方向是输出特征图的并行度Tc,在数据复用的情况下,输入特征图和权重的复用次数分别为Tn和Tc;所述二维阵列扩展为三维阵列,提高数据重用性;单个节点包括一个乘加MA树和一个特殊累加器ACC,MA树的输入实现了输入通道的并行度Tm,MA树的深度为Tm,特殊累加器ACC根据卷积核大小K或层类型自动调整累加项并生成累加结果,所述加速算子结构进行TcxTnxTm次乘累加操作。
2.根据权利要求1所述的一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:当MA树为完整的二叉树结构,则DSP的利用率最大,针对于SVM分类器,仅需要在ACC之后添加额外的投票决策模块,剩余结构保持不变。
3.根据权利要求2所述的一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:通过下式确定算子完成单层推理所需的时钟周期T:
其中,M为输入通道数,K为内核大小,Rout和Cout分别对应于输出特征图的行和列,Tr和Tc为输出特征图的行和列并行度,。
4.根据权利要求1所述的一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:基于FPGA的CNN-SVM资源高效型加速架构通过算子资源评估的模型确定资源消耗,所述模型的单个节点的参数包含输入数据的维度和类型,当输入数据的维数为Dim,则具有不同类型的单个节点消耗的DSP资源DType,通过下式表示不同类型的单个节点消耗的DSP资源DType:
通过下式生成算子结构的DSP估计值
其中,Dim为输入数据的维数,DType为单个节点消耗的DSP资源,type为数据精度,float32为单精度浮点数,int32为32位定点数,int16为16位定点数,int8为8位定点数;为算子结构的DSP估计值;
DSP估计值取决于节点参数和复用次数,影响峰值吞吐量,通常硬件资源中DSP单元的数量是有限的,并且能够达到的峰值吞吐量为固定值。
5.根据权利要求1所述的一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:基于FPGA的CNN-SVM资源高效型加速架构在加速时,BRAM用于临时缓冲和并行扩展,以最小的BRAM结构BRAM_18K作为评估模型的基本单位,直接内存访问DMA将输入功能图传输到WriteBRAM模块,然后以多位并行模式将其写入BRAM_18K;写入功能图后,WriteBRAM模块将一个半标志发送到ReadBRAM模块,ReadBRAM模块从BRAM_18K读取功能图,并发送到算子结构。
6.根据权利要求1所述的一种基于FPGA的CNN-SVM资源高效型加速架构,其特征是:基于对BRAM的分析,建立了用于特征图重用和权重重用的BRAM估计模型,其中Rin和Cin分别是输入特征图的行和列,对于32位独立读写模式下的BRAM_18K,Depth的典型值为512,当数据尺寸非常小或并行参数非常大时,单个并行存储单元所占用的BRAM_18K数量忽略,而BRAM资源仅与位宽和并行度有关,通过下式表示特征图重用的BRAM估计值和权重重用的BRAM估计值:
其中,为用于特征图重用的BRAM估计值,为用于权重重用的BRAM估计值,Rin和Cin分别是输入特征图的行和列,Tr和Tc为输出特征图的行和列并行度,Depth为BRAM的深度,Width为数据的位宽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011252879.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钴60伽马射线放射治疗装置
- 下一篇:一种助老如厕辅助架及其使用方法





