【技术实现步骤摘要】
主动稀疏化向量处理器
[0001]本专利技术属于向量控制运算及实现
,具体涉及一种主动稀疏化向量处理器。
技术介绍
[0002]神经网络的推理过程中涉及大量的向量运算,如图像视频去噪、特征提取、物体识别和语音关键词检索等场景。数据的本质为多维向量,将神经网络的推理过程拆分成基础的逻辑运算,主要为向量乘法、向量加法和向量比较。然而,无论是针对定点数还是浮点数,现有的处理器多采用单指令多数据流的并行方式来增加处理器运算能力,可以同时执行若干个基础运算,操作数之间没有逻辑关联。对于向量运算,这种并行方式由于忽略了向量元素间的逻辑关联而引入了大量冗余的中间操作,基础运算的运算能力也限制了向量计算的性能。
[0003]以P维向量和的点乘为例,数学表达如下:
[0004][0005]在单指令多数据流的设计中,需要一个中间变量c,执行P次c=c+A
i
B
i
运算才能得到最终结果。这种方式保留了P个中间结果c,也就存在P次冗余的格式化、存数据、读数据的操作,且P次运算必须依次进行,也就完全没有了并行的优势。
[0006]现有的比特跳零乘加运算电路有位串行算法、全并行算法和部分并行算法,这些算法均使用移位累加的方法,当对应比特是1时加上操作数,当对应比特是0时不执行操作,采用位串行算法的电路一次检查一个比特,采用全并行算法的电路一次检查所有比特,采用部分并行算法的电路一次检查一部分比特。这些设计只能依靠数据的天然的比特稀疏性来加速乘加运算,而这种天然稀疏性并不常见,同时 ...
【技术保护点】
【技术特征摘要】
1.一种主动稀疏化向量处理器,其特征在于,包括输入暂存电路、算数运算电路和输出暂存电路;输入暂存电路包括输入控制器和输入寄存器;输入控制器接收输入端发送的握手信号、控制信号和输入数据,将控制信号和输入数据存入输入寄存器,向输入端反馈握手信号;算数运算电路包括预处理电路、运算控制器、算数运算器和格式化电路;预处理电路读取输入寄存器中的控制信号和输入数据,根据控制信号对输入数据进行预处理;运算控制器读取输入寄存器中的控制信号,根据控制信号和预处理后的输入数据产生算数运算器的控制信号组;算数运算器根据控制信号组,对预处理后的输入数据进行数学运算,得到运算结果;格式化电路将运算结果的格式转换成指定格式,并发送至输出暂存电路;输出暂存电路包括输出控制器和输出寄存器;输出控制器接收到转换为指定格式的运算结果后存入输出寄存器,并发送至输出端。2.根据权利要求1所述的主动稀疏化向量处理器,其特征在于,向量处理器的工作模式为浮点数点乘、浮点数加法、浮点数最值、定点数点乘、定点数加法或定点数最值。3.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,当工作模式为浮点数点乘时,输入数据包括两个输入向量;预处理电路将两个输入向量中对应的每一对元素拆分重组成符号、阶码、第一尾数和第二尾数;所有的阶码进行比较,得到最大阶码;最大阶码与当前阶码做差得到尾数偏移量;将第二尾数转换成压缩NAF编码,根据尾数偏移量将压缩NAF编码右移用以对齐尾数;运算控制器利用对齐后的压缩NAF编码进行位跳零控制,周期性地从第一输入向量选择元素,选择元素的个数为算术运算器中加法树的通道数;对第一输入向量的元素进行NAF加权后输出待运算数据,直至搜索完压缩NAF编码中所有的非0位;算数运算器的加法树和累加器全部激活,将待运算数据进行求和并累加,输出累加结果至格式化电路;格式化电路将累加结果和预处理电路中的最大阶码打包成浮点数格式。4.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,当工作模式为浮点数加法时,输入数据包括两个输入向量;预处理电路将两个输入向量中对应的每一对元素拆分成第一符号、第一阶码、第一尾数、第二符号、第二阶码和第二尾数;对每一对元素的第一阶码和第二阶码进行比较和做差得到最大阶码和尾数偏移量,第一尾数和第二尾数中最小的尾数根据尾数偏移量右移用于对齐尾数,对齐尾数后的第一尾数和第二尾数作为一个元素组;运算控制器周期性地选取元素组,选取的元素组个数为算数运算器中加法器个数,直到遍历所有的元素组;算数运算器中的所有加法器激活,将运算控制器选取的元素组中的元素进行求和后输出至格式化电路;格式化电路将所有元素组的求和结果和预处理电路中对应的最大阶码打包成浮点数格式。5.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,当工作模式为浮点数最值时,输入数据为一个输入向量;预处理电路比较输入向量中的所有元素,找到最值和最值的索引,直接发送至格式化电路;格式化电路将最值保留,将最值的索引单独打包。6.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,当工作模式为定点数点乘时,输入数据包括两个输入向量;预处理电路将两个输入向量中的所有元素进行符号位扩展,将第二输入向量中的所有元素转换成压缩NAF编码;运算控制器对压缩NAF编码进行
位跳零控制,周期性地从第一输入向量选择元素,选择元素的个数为算术运算器中加法树的通道数;对第一输入向量的元素进行NAF加权后输出待运算数据,直至搜索完压缩NAF编码中所有的非0位;算数运算器的加法树和累加器全部激活,将待运算数据进行求和并累加,输出累加结果至格式化电路;格式化电路将累加结果按照定点数量化要求重新量化。7.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,当工作模式为定点数加法时,输入数据包括两个输入向量;预处理电路将两个输入向量中的所有元素进行符号位扩展;两个输入向量中位置对应的两个元素作为一个元素组;运算控制器周期性地选取元素组,选取的元素组个数为算数运算器中加法器个数,直到遍历所有的元素组;算数运算器中的所有加法器激活,将运算控制器选取的元素组中的元素进行求和后输出至格式化电路;格式化电路将所有元素组的求和结果按照定点数量化要求重新量化。8.根据权利要求2所述的主动稀疏化向量处理器,其特征在于,进一步的,当工作模式为定点数...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。