基于RISC-V架构CNN向量指令集的扩展及其实现
发布时间:2021-07-04 11:41
人工智能时代对处理海量数据的实时性提出了更加严格的要求,受限于集成电路晶体管物理特性逼近其极限,传统的通用处理器的性能已经很难满足其需求。近些年来,为了弥补通用处理器的不足,研究专用神经网络加速器的热潮逐渐兴起。本文使用Verilog HDL语言设计出一款卷积神经网络加速器,并基于RISC-V指令集架构扩展出卷积神经网络向量指令集。为了测试神经网络加速器的性能,将其嵌入到开源RISC-V处理器Ridecore当中,和其它类型指令的执行流程一样,神经网络扩展指令在处理器译码级进行译码,然后在执行级调用加速器对神经网络进行加速运算。Ridecore是采用RISC-V指令集架构设计而成,是两路超标量乱序执行的处理器。截止到目前为止,RISC-V只定义了常用向量指令集的符号形式,并没有对向量指令集进行二进制编码。为了使得设计出的指令集具有一定的使用价值,本文向量指令集综合了RISC-V指令集整体的编码风格和MIPS SIMD向量指令集的部分特征设计而成。向量指令集的类型包括卷积操作指令,池化操作指令以及非线性操作指令。本文采用Design Compile工具在28nm工艺下对加速器进行综合分析...
【文章来源】:安徽大学安徽省 211工程院校
【文章页数】:58 页
【学位级别】:硕士
【部分图文】:
AlexNet网络架构图
第二章卷积神经网络与向量处理机10表2.2四种损失函数公式序号类型公式1均方误差p21()nniiiyy=2平均绝对误差p1||nniiiyy=3平滑平均绝对误差221(()),|()|21|()|other2(,())yfxyfxyfxwiseLyfx=≤,4Log-Cosh损失函数1(,)log(cosh())nppiiiLyyyy==2.1.2卷积神经网络从1962年Hubel和Wiesel两位科学家对猫大脑中视觉神经研究开始一直到今天,卷积神经网络经历了半个多世纪的发展,在人工智能领域已经变的很成熟了。Alphago攻破围棋战胜了李世石;“天网工程”遍布各城镇,能够快速定位嫌疑人;这些令人瞠目结舌的项目离不开卷积神经网络。卷积神经网络通常由卷积层,池化层,输出层以及连接在卷积层之后的非线性单元组成。LeNet5是著名的手写数字识别模型,由YannLeCun教授提出[7-8]。该模型是有7层组成,三个卷积层,两个池化层,一个全连接层,一个输出层。如图2.2所示。算法1使用tesnsorflow实现LeNet5。图2.2LeNet5数字识别模型
24条基本指令集,这些指令集有六种基本指令格式[19]。分别是源操作数和目的操作数都是寄存器的R类型指令,寄存器与立即数之间运算的I类型指令,对存储器进行读写操作的S类型指令,用于有条件跳转的B类型指令,无符号的长立即数与寄存器进行操作的U类型指令,无条件跳转的J类型指令。指令格式图中,opcode表示操作码,funct表示功能码,部分指令可以根据操作码对指令直接进行译码,还有一部分指令需要将操作码和功能码放在一起才能对指令进行译码。基本指令集支持对32个通用寄存器进行访问,指令的基本格式如图3.1所示。图3.1RISC-V基本指令格式图示R类型的指令含有三个寄存器地址,和MIPS指令集不同,MIPS指令集只含有两个寄存器,目的寄存器和源操作寄存器同属一个寄存器。MIPS这样处理的弊端就是当计算结果需要送往第三个寄存器时,MIPS需要一条数据搬运指令。I类型指令是将寄存器的值加上立即数的值,并将结果存放在目的寄存器当中。立
【参考文献】:
期刊论文
[1]深度神经网络并行化研究综述[J]. 朱虎明,李佩,焦李成,杨淑媛,侯彪. 计算机学报. 2018(08)
[2]基于龙芯SIMD技术的H.264视频解码优化[J]. 顾丽红,王锐,陈华才,吴少刚. 计算机工程与设计. 2017(12)
[3]面向多核向量处理器的矩阵乘法向量化方法[J]. 刘仲,田希. 计算机学报. 2018(10)
[4]龙芯3B的SIMD编译优化及分析[J]. 彭飞,顾乃杰,高翔,孙明明. 小型微型计算机系统. 2012(12)
硕士论文
[1]深度学习加速器中矩阵向量乘部件设计[D]. 刘畅.西安电子科技大学 2019
[2]基于深度卷积神经网络的细粒度图像识别与分类算法研究[D]. 赵星.安徽大学 2018
[3]LLVM循环向量化研究[D]. 黄亚斌.国防科学技术大学 2016
本文编号:3264724
【文章来源】:安徽大学安徽省 211工程院校
【文章页数】:58 页
【学位级别】:硕士
【部分图文】:
AlexNet网络架构图
第二章卷积神经网络与向量处理机10表2.2四种损失函数公式序号类型公式1均方误差p21()nniiiyy=2平均绝对误差p1||nniiiyy=3平滑平均绝对误差221(()),|()|21|()|other2(,())yfxyfxyfxwiseLyfx=≤,4Log-Cosh损失函数1(,)log(cosh())nppiiiLyyyy==2.1.2卷积神经网络从1962年Hubel和Wiesel两位科学家对猫大脑中视觉神经研究开始一直到今天,卷积神经网络经历了半个多世纪的发展,在人工智能领域已经变的很成熟了。Alphago攻破围棋战胜了李世石;“天网工程”遍布各城镇,能够快速定位嫌疑人;这些令人瞠目结舌的项目离不开卷积神经网络。卷积神经网络通常由卷积层,池化层,输出层以及连接在卷积层之后的非线性单元组成。LeNet5是著名的手写数字识别模型,由YannLeCun教授提出[7-8]。该模型是有7层组成,三个卷积层,两个池化层,一个全连接层,一个输出层。如图2.2所示。算法1使用tesnsorflow实现LeNet5。图2.2LeNet5数字识别模型
24条基本指令集,这些指令集有六种基本指令格式[19]。分别是源操作数和目的操作数都是寄存器的R类型指令,寄存器与立即数之间运算的I类型指令,对存储器进行读写操作的S类型指令,用于有条件跳转的B类型指令,无符号的长立即数与寄存器进行操作的U类型指令,无条件跳转的J类型指令。指令格式图中,opcode表示操作码,funct表示功能码,部分指令可以根据操作码对指令直接进行译码,还有一部分指令需要将操作码和功能码放在一起才能对指令进行译码。基本指令集支持对32个通用寄存器进行访问,指令的基本格式如图3.1所示。图3.1RISC-V基本指令格式图示R类型的指令含有三个寄存器地址,和MIPS指令集不同,MIPS指令集只含有两个寄存器,目的寄存器和源操作寄存器同属一个寄存器。MIPS这样处理的弊端就是当计算结果需要送往第三个寄存器时,MIPS需要一条数据搬运指令。I类型指令是将寄存器的值加上立即数的值,并将结果存放在目的寄存器当中。立
【参考文献】:
期刊论文
[1]深度神经网络并行化研究综述[J]. 朱虎明,李佩,焦李成,杨淑媛,侯彪. 计算机学报. 2018(08)
[2]基于龙芯SIMD技术的H.264视频解码优化[J]. 顾丽红,王锐,陈华才,吴少刚. 计算机工程与设计. 2017(12)
[3]面向多核向量处理器的矩阵乘法向量化方法[J]. 刘仲,田希. 计算机学报. 2018(10)
[4]龙芯3B的SIMD编译优化及分析[J]. 彭飞,顾乃杰,高翔,孙明明. 小型微型计算机系统. 2012(12)
硕士论文
[1]深度学习加速器中矩阵向量乘部件设计[D]. 刘畅.西安电子科技大学 2019
[2]基于深度卷积神经网络的细粒度图像识别与分类算法研究[D]. 赵星.安徽大学 2018
[3]LLVM循环向量化研究[D]. 黄亚斌.国防科学技术大学 2016
本文编号:3264724
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3264724.html