CN113901392A - 一种用于神经网络数据流计算架构的1d向量计算单元 - Google Patents
一种用于神经网络数据流计算架构的1d向量计算单元 Download PDFInfo
- Publication number
- CN113901392A CN113901392A CN202111162934.1A CN202111162934A CN113901392A CN 113901392 A CN113901392 A CN 113901392A CN 202111162934 A CN202111162934 A CN 202111162934A CN 113901392 A CN113901392 A CN 113901392A
- Authority
- CN
- China
- Prior art keywords
- unit
- calculation
- value
- address
- multiplication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 94
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 17
- 230000000295 complement effect Effects 0.000 claims description 6
- 238000012886 linear function Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 52
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 101100517651 Caenorhabditis elegans num-1 gene Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种用于神经网络数据流计算架构的1D向量计算单元,包含可重构配置单元和首尾相连的线性模块、非线性模块,其中,所述可重构配置单元用于根据外部输入输出可重构配置信息,将所述线性模块、所述非线性模块配置成某种功能算子,所述线性模块用于实现一维线性函数计算;所述非线性模块用于实现一维非线性函数计算。本发明提出的可重构1D向量计算单元,通过可重构配置单元的配置功能,将线性模块和/或非线性模块配置成为某种功能算子,实现多种1D向量计算,从而实现神经网络数据的高效计算。
Description
技术领域
本发明涉及神经网络张量处理器的计算架构领域,尤其涉及一种用于神经网络数据流计算架构的1D向量计算单元。
背景技术
在现有的通用处理器中(如CPU),非线性函数通常基于通用运算单元,使用基础运算步骤(例如乘法和加法等),通过某种近似方法计算得到,计算过程复杂且周期长,计算效率极低。
在专用的人工智能处理器中,非线性函数的计算通常是以查找表(LUT)的方式来实现,也即把非线性函数的y数值直接存储在以x数值为索引的查找表中。
上述查找表方法存在明显缺点:局限性比较大,可以实现的非线性函数较少;实现资源使用较大,为了较高精度需要使用较多的查找表存储器存储更多的y值;实现的精度误差较大,LUT是以离散点的坐标来查找对应的函数值,如果LUT数量没有足够大,查找的函数值将会有比较大的误差。
发明内容
有鉴于现有技术的上述缺陷,本发明的目的是提供一种用于神经网络数据流计算架构的1D向量计算单元,实现神经网络数据的高效计算。
为实现上述目的,本发明提供了一种用于神经网络数据流计算架构的1D向量计算单元,包含可重构配置单元和首尾相连的线性模块、非线性模块,其中,所述可重构配置单元用于根据外部输入输出可重构配置信息,将所述线性模块、所述非线性模块配置成某种功能算子,所述线性模块用于实现一维线性函数计算;所述非线性模块用于实现一维非线性函数计算。
进一步地,所述线性计算模块包括乘法单元、加减法和比较单元、多阈值relu单元以及第一精度转换单元;
所述乘法单元、加减法和比较单元、多阈值relu单元以及第一精度转换单元通过可重构配置信息进行配置,从而决定每个模块是否参与计算以及参与计算的数据来源;
所述乘法单元用于根据所述可重构配置信息完成任意位宽的有符号二进制补码乘法;
所述加减法和比较单元用于根据所述可重构配置信息及所述乘法单元的计算结果完成加/减法运算和/或最大/小值运算;
所述多阈值relu单元用于根据所述可重构配置信息及所述加减法和比较单元的计算结果完成一种relu计算;
所述第一精度转换单元用于读取可重构配置单元的移位寄存器值,根据所述移位寄存器值对所述多阈值relu单元输出的结果进行精度转换和位宽截断。
进一步地,所述多阈值relu单元完成的计算包括:relu计算、relu6计算、Prelu计算及Leaky relu计算,其中,relu计算的实现是通过判断输入数值与0的大小关系,小于0,则该多阈值relu单元的输出为0,大于0,则为输入数值本身;relu6计算则是在relu计算的实现基础上,多加了一个判断大于6的条件,如果大于6则单元输出结果为6;Prelu计算的实现则是结合乘法单元,判断输入数值与0的大小关系,小于0,则乘以一个系数,然后通过选通信号,使其输出值等于输入值,完成prelu计算;Leaky relu计算的实现则是结合乘法单元,乘以一个固定系数,然后通过选通信号,使其输出值等于输入值,完成Leaky relu计算。
进一步地,所述非线性模块采用以查找表结合分段函数拟合的方式来实现一维非线性函数的计算。
进一步地,所述非线性模块包括:查找表、写逻辑单元、读地址计算单元、多个乘法加法单元和第二精度转换单元,
所述查找表用于存储所述一维非线性函数的各分段函数的参数值,每个分段函数对应一个查找表地址;
所述写逻辑单元用于根据所述可重构配置单元给出的写地址信息,将所述一维非线性函数的分段函数的参数值写入所述查找表的存储单元;
所述读地址计算单元,用于根据所述一维非线性函数的输入数值换算其对应输入区间的分段函数的参数值在查找表中的地址;
所述乘法加法单元用于实现二进制补码乘法,每个乘法加法单元都用于实现ax+b的一个运算,p个乘法加法单元级联实现一个p次多项式函数的运算,上一个乘法加法单元的输出作为下一个乘法加法单元的一个输入,各乘法加法单元的参数值根据所述读地址计算单元得到的查找表的地址从所述查找表读取;
所述第二精度转换单元用于读取可重构配置单元的移位寄存器值,根据所述移位寄存器值对所述p次多项式函数的运算结果进行精度转换和位宽截断。
进一步地,所述p次多项式函数为二次多项式函数。
进一步地,所述查找表的地址做如下约束设定:
设定一维非线性函数的查找表的地址个数为2^n+1;非线性函数的输入数值x_r表示为EF16格式的整数x,二者的关系为:
x_r=(-1)signbit×2(-exponent)×x
设定整数x的最大值和最小值分别为INmax和INmin,并设置INmax-INmin的值也为2的m次方;将所述一维非线性函数的输入区间划分成2的n次方段输入区间,其中m≤n,所述一维非线性函数在每个输入区间的曲线通过一个p次多项式函数进行拟合,所述p次多项式函数为所述一维非线性函数的分段函数。
进一步地,所述读地址计算单元计算查找表读地址的方法为:
当整数x处于INmin-INmax区间,则读地址=(整数x-INmin)*2^(n-m);同时,当整数x大于INmax或小于INmin,其对应的读地址为查找表地址的边界,即对应的读地址为整数x等于INmax时的读地址或为整数x等于INmin时的读地址。
进一步地,所述写逻辑单元将查找表各个地址的存储单元写入相应的值的方法为:每次写个地址紧接着写入数据;或者写入一个地址,通过写逻辑内部会自动增加地址,写入一连串的数据。
本发明实现了如下技术效果:
本发明提出的可重构1D向量计算单元,通过可重构配置单元的配置功能,将线性模块和/或非线性模块配置成为某种功能算子,实现多种1D向量计算,从而实现神经网络数据的高效计算。
本发明的非线性模块采用基于查找表的曲线拟合方法。不同于传统的y值存储查找表方法,曲线拟合方法使用查找表分段存储二次曲线方程的系数,通过二次曲线方程分段拟合的方法实现高效率、高准确度以及低面积的非线性函数计算。
附图说明
图1是本发明的1D向量计算单元的在神经网络张量处理器架构中的位置图;
图2是本发明的1D向量计算单元的结构图;
图3是本发明的1D向量计算单元中的线性计算模块的结构图;
图4是本发明的1D向量计算单元中的非线性模块的结构图;
图5是sigmoid函数曲线。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
如图1所示,本发明提出一种用于神经网络数据流计算架构的可重构1D向量计算单元,可以实现多种1D向量计算。
如图2所示,该1D向量计算单元包含可重构配置单元和首尾相连的线性模块、非线性模块,其中,线性模块可实现包括乘法、加法、减法、求最大/最小值、Relu、Prelu等一维线性计算,非线性模块可实现包括sigmoid、tanh、mish、elu等一维非线性计算。另外,还可以通过算子组合实现其他的计算,如取反、取绝对值和平方值等其他一维计算。可重构配置单元用于提供可重构配置信息,可重构配置信息用于配置线性模块和非线性模块成为某种功能算子,从而实现神经网络数据的高效计算。
可重构配置单元
可重构配置单元:计算模块采用的是数据流的架构,通过可重构配置单元给出的可重构配置信息可以配置每个小的计算模块,从而决定每个模块是否参与计算以及参与计算的数据来源。
线性计算模块
如图3所示,包含了乘法单元、加减法和比较单元、多阈值relu单元以及精度转换单元。
乘法单元:根据可重构配置单元给出的可重构配置信息可以完成任意位宽的有符号二进制补码乘法,该乘法单元的计算结果的精度无损失。
加减法和比较单元:根据可重构配置单元给出的可重构配置信息及乘法单元的计算结果,可以选择完成加/减法运算以及最大/小值运算,并且该计算单元实现的都是有符号计算。
多阈值relu单元:根据可重构配置单元给出的可重构配置信息选择计算算子及加减法和比较单元的计算结果,可以实现诸如relu、relu6、Prelu及Leaky relu等计算,其中,relu的实现是通过判断输入数值与0的大小,小于0,则该单元的输出为0,大于0,则为输入数值本身;relu6则是在relu的实现基础上,多加了一个判断大于6的条件,如果大于6则单元输出结果为6;Prelu的实现则是结合乘法单元,判断输入数值与0的大小,小于0,则乘以一个系数,然后传入到relu单元的数值,通过选通信号,使其输出值等于输入值,完成prelu计算;Leaky relu计算的实现则是结合乘法单元,乘以一个固定系数,然后通过选通信号,使其输出值等于输入值,完成Leaky relu计算;另外还有高低阈值的实现,通过配置单元寄存器设定高低阈值,加上relu单元对高低阈值的判断,可以实现诸如clip算子的非线性激活函数。
精度转换单元:则是读取可重构配置单元的移位寄存器值,根据不同的精度转换,会有不同的移位值,并且移位后的值,还会做位宽截断。
非线性模块
本实施例中的非线性模块采用基于查找表的曲线拟合方法。不同于传统的y值存储查找表方法,曲线拟合方法使用查找表分段存储二次曲线方程的系数,通过二次曲线方程分段拟合的方法实现高效率、高准确度以及低面积的非线性函数计算。
本实施例中的非线性模块,包括写逻辑单元、读地址计算单元、多个乘法加法单元以查找表结合分段函数拟合的方式来实现多种神经网络非线性函数的计算。此方法的优点是可以显著的减小查找表的数量,同时以分段多项式函数曲线拟合,可以大大增加非线性计算的精度。
写逻辑单元:该模块将查找表(LUT)各个地址的存储单元写入相应的值,上位机可以通过每次写个地址紧接着写入数据的方式编程LUT;或者写入一个地址,写逻辑内部会自动增加地址,而上位机执行写入一连串的数据的方式,来编程LUT。
读地址计算单元:为了方便计算LUT读地址,设计中查找表的地址个数为2^n+1,非线性函数的输入数值x_r经过EF16格式转化为整数x,二者关系为:
x_r=(-1)signbit×2(-exponent)×x
设定整数x的最大最小值分别为INmax和INmin,并设置INmax-INmin的值也为2的m次方。则读地址=(输入数值-INmin)*2^(n-m);同时,整数x与INmax/INmin比较,其对应的读地址为LUT地址的边界。
查找表地址说明
设x_r/INmin_r/INmax_r是实际输入值,经过EF16格式转换后为x/INmin/INmax(x/INmin/INmax为硬件电路中计算使用的值),那么根据EF16格式(参见申请号为202011427161.0的发明专利)的定义,可以得到如下关系:
x_r=(-1)signbit×2(-exponent)×x
INmin_r=(-1)signbit×2(-exponent)×INmin
INmax_r=(-1)signbit×2(-exponent)×INmax
假设x轴的坐标范围为(INmin_r,INmax_r),LUT的个数为lut_num=2^n+1,相当于把x轴坐标分成了lut_num-1份,其中每一份的步进为step=(INmax_r-INmin_r)/(lut_num-1)。这样对应输入数值x_r,可以有x_r=k*step+INmin_r,其中k就表示LUT的地址(即lut表中第k个),那么
k=(x_r-INmin_r)/step=(x_r-INmin_r)*(lut_num-1)/(INmax_r-INmin_r)
结合x与x_r的关系可以得到如下公式
简化后得出:
预先设置INmax-INmin=2^m,则上式进一步简化为:
因此在硬件计算中,只需计算x-INmin的值然后进行移位就可以得到LUT的地址(也就是序号)。
对于LUT的边界,当x_r大于INmax_r时,LUT的地址为x_r=INmax_r计算得到的地址;当x_r小于INmin_r时,LUT的地址为x_r=INmin_r计算得到的地址。
乘法加法单元:与线性计算模块一样实现二进制补码乘法,每个单元都可以实现ax+b的一个运算,经过多个乘法加法单元后即可实现多项式函数。例如,二次多项式函数需要两个乘法加法单元来实现,假如输入设为x,二次多项式函数的3个参数a,b,c可以分别存储为参数1、参数2、参数3。第一个乘法加法单元实现ax+b,第一个乘法加法单元结果,作为第二个乘法加法单元的一个输入,那么第二个乘法加法单元的输出结果就实现(ax+b)x+c,这样一个二次多项式曲线y=ax^2+bx+c就实现了。同样类似,三次多项式函数由三个乘法加法单元实现,四个参数分别为a,b,c,d分别存储为参数1,参数2,参数3,参数4。第一个单元实现ax+b,第二个单元实现(ax+b)x+c,第三个单元实现((ax+b)x+c)+d,最终实现三次多项式曲线y=ax^3+bx^2+cx+d。以此类推,可以实现更高次多项式曲线。
下面以激活函数sigmoid来讲述该非线性函数如何通过LUT参数曲线拟合来实现。
如图5所示,sigmoid函数曲线,在大于5时,曲线函数值趋近于1;在小于-5时,曲线函数值趋近于0。那么我们在做曲线拟合时,需要重点考虑的是区间[-5,5]的曲线拟合。根据读地址模块要求,我们需要INmax-INmin的值要为2的n次方,因此我们可以设定INmax=8,INmin=-8,INmax-INmin=16=2^4。这样我们把区间[-8,8],平均分成16份,每份区间范围差值为1。然后我们通过二次多项式函数拟合每个区间的曲线,可以计算出二次多项式函数参数a/b/c,如表1所示。
通过写逻辑模块,将这些二次多项式函数的参数分别写到对应参数的LUT中,在实际计算sigmoid函数时,LUT根据输入值的大小,查找的对应的a/b/c值,送到乘法加法单元进行计算,得到sigmoid函数值。并且,与线性计算模块一样,在乘法加法单元中,都保留了计算位宽,而在最终输出结果之前经过精度转换模块得到精度损失较小的输出数据。
表1
在本实施例中,在每个输入区间的多项式函数为二次多项式函数。根据实践,在一个小的输入区间,采用二次多项式函数基本可以满足大多数曲线的拟合要求。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (9)
1.一种用于神经网络数据流计算架构的1D向量计算单元,其特征在于:包含可重构配置单元和首尾相连的线性模块、非线性模块,其中,所述可重构配置单元用于根据外部输入输出可重构配置信息,将所述线性模块、所述非线性模块配置成某种功能算子,所述线性模块用于实现一维线性函数计算;所述非线性模块用于实现一维非线性函数计算。
2.如权利要求1所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述线性计算模块包括乘法单元、加减法和比较单元、多阈值relu单元以及第一精度转换单元;
所述乘法单元、加减法和比较单元、多阈值relu单元以及第一精度转换单元通过可重构配置信息进行配置,从而决定每个模块是否参与计算以及参与计算的数据来源;
所述乘法单元用于根据所述可重构配置信息完成任意位宽的有符号二进制补码乘法;
所述加减法和比较单元用于根据所述可重构配置信息及所述乘法单元的计算结果完成加/减法运算和/或最大/小值运算;
所述多阈值relu单元用于根据所述可重构配置信息及所述加减法和比较单元的计算结果完成一种relu计算;
所述第一精度转换单元用于读取可重构配置单元的移位寄存器值,根据所述移位寄存器值对所述多阈值relu单元输出的结果进行精度转换和位宽截断。
3.如权利要求2所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:
所述多阈值relu单元完成的计算包括:relu计算、relu6计算、Prelu计算及Leaky relu计算,其中,relu计算的实现是通过判断输入数值与0的大小关系,小于0,则该多阈值relu单元的输出为0,大于0,则为输入数值本身;relu6计算则是在relu计算的实现基础上,多加了一个判断大于6的条件,如果大于6则单元输出结果为6;Prelu计算的实现则是结合乘法单元,判断输入数值与0的大小关系,小于0,则乘以一个系数,然后通过选通信号,使其输出值等于输入值,完成prelu计算;Leaky relu计算的实现则是结合乘法单元,乘以一个固定系数,然后通过选通信号,使其输出值等于输入值,完成Leaky relu计算。
4.如权利要求1所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述非线性模块采用以查找表结合分段函数拟合的方式来实现一维非线性函数的计算。
5.如权利要求4所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述非线性模块包括:查找表、写逻辑单元、读地址计算单元、多个乘法加法单元和第二精度转换单元,
所述查找表用于存储所述一维非线性函数的各分段函数的参数值,每个分段函数对应一个查找表地址;
所述写逻辑单元用于根据所述可重构配置单元给出的写地址信息,将所述一维非线性函数的分段函数的参数值写入所述查找表的存储单元;
所述读地址计算单元,用于根据所述一维非线性函数的输入数值换算其对应输入区间的分段函数的参数值在查找表中的地址;
所述乘法加法单元用于实现二进制补码乘法,每个乘法加法单元都用于实现ax+b的一个运算,p个乘法加法单元级联实现一个p次多项式函数的运算,上一个乘法加法单元的输出作为下一个乘法加法单元的一个输入,各乘法加法单元的参数值根据所述读地址计算单元得到的查找表的地址从所述查找表读取;
所述第二精度转换单元用于读取可重构配置单元的移位寄存器值,根据所述移位寄存器值对所述p次多项式函数的运算结果进行精度转换和位宽截断。
6.如权利要求5所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述p次多项式函数为二次多项式函数。
7.如权利要求5所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于,所述查找表的地址做如下约束设定:
设定一维非线性函数的查找表的地址个数为2^n+1;非线性函数的输入数值x_r表示为EF16格式的整数x,二者的关系为:
x_r=(-1)signbit×2(-exponent)×x
设定整数x的最大值和最小值分别为INmax和INmin,并设置INmax-INmin的值也为2的m次方;将所述一维非线性函数的输入区间划分成2的n次方段输入区间,其中m≤n,所述一维非线性函数在每个输入区间的曲线通过一个p次多项式函数进行拟合,所述p次多项式函数为所述一维非线性函数的分段函数。
8.如权利要求7所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述读地址计算单元计算查找表读地址的方法为:
当整数x处于INmin-INmax区间,则读地址=(整数x-INmin)*2^(n-m);同时,当整数x大于INmax或小于INmin,其对应的读地址为查找表地址的边界,即对应的读地址为整数x等于INmax时的读地址或为整数x等于INmin时的读地址。
9.如权利要求5所述的用于神经网络数据流计算架构的1D向量计算单元,其特征在于:所述写逻辑单元将查找表各个地址的存储单元写入相应的值的方法为:每次写个地址紧接着写入数据;或者写入一个地址,通过写逻辑内部会自动增加地址,写入一连串的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162934.1A CN113901392A (zh) | 2021-09-30 | 2021-09-30 | 一种用于神经网络数据流计算架构的1d向量计算单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162934.1A CN113901392A (zh) | 2021-09-30 | 2021-09-30 | 一种用于神经网络数据流计算架构的1d向量计算单元 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901392A true CN113901392A (zh) | 2022-01-07 |
Family
ID=79189994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162934.1A Pending CN113901392A (zh) | 2021-09-30 | 2021-09-30 | 一种用于神经网络数据流计算架构的1d向量计算单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901392A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020057255A (ko) * | 2000-12-30 | 2002-07-11 | 박종섭 | 룩업 테이블을 사용하는 비선형 함수 연산장치 |
CN110610235A (zh) * | 2019-08-22 | 2019-12-24 | 北京时代民芯科技有限公司 | 一种神经网络激活函数计算电路 |
CN110688088A (zh) * | 2019-09-30 | 2020-01-14 | 南京大学 | 一种面向神经网络的通用非线性激活函数计算装置和方法 |
CN112416295A (zh) * | 2020-12-09 | 2021-02-26 | 厦门壹普智慧科技有限公司 | 用于浮点数据、张量数据运算的运算器 |
CN112989269A (zh) * | 2021-03-26 | 2021-06-18 | 上海西井信息科技有限公司 | 加速器及加速器片内计算模块 |
-
2021
- 2021-09-30 CN CN202111162934.1A patent/CN113901392A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020057255A (ko) * | 2000-12-30 | 2002-07-11 | 박종섭 | 룩업 테이블을 사용하는 비선형 함수 연산장치 |
CN110610235A (zh) * | 2019-08-22 | 2019-12-24 | 北京时代民芯科技有限公司 | 一种神经网络激活函数计算电路 |
CN110688088A (zh) * | 2019-09-30 | 2020-01-14 | 南京大学 | 一种面向神经网络的通用非线性激活函数计算装置和方法 |
CN112416295A (zh) * | 2020-12-09 | 2021-02-26 | 厦门壹普智慧科技有限公司 | 用于浮点数据、张量数据运算的运算器 |
CN112989269A (zh) * | 2021-03-26 | 2021-06-18 | 上海西井信息科技有限公司 | 加速器及加速器片内计算模块 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3460726A1 (en) | Hardware implementation of a deep neural network with variable output data format | |
US10037306B2 (en) | Approximation of non-linear functions in fixed point using look-up tables | |
CN107305484B (zh) | 一种非线性函数运算装置及方法 | |
US8805914B2 (en) | Method and apparatus for performing numerical calculations | |
Arnold et al. | Redundant logarithmic arithmetic | |
CN109308520B (zh) | 实现softmax函数计算的FPGA电路及方法 | |
US10642578B2 (en) | Approximating functions | |
US20190235834A1 (en) | Optimization apparatus and control method thereof | |
US20180217815A1 (en) | Apparatus and method for processing input operand values | |
EP0416309B1 (en) | Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier | |
CN113901392A (zh) | 一种用于神经网络数据流计算架构的1d向量计算单元 | |
CN113554163B (zh) | 卷积神经网络加速器 | |
CN113504892B (zh) | 一种设计乘法器查找表的方法、系统、设备及介质 | |
US20230409285A1 (en) | Multi-dimensional logarithmic number system processor for inner product computations | |
CN113988279A (zh) | 一种支持负值激励的存算阵列输出电流读出方法及系统 | |
CN114201140A (zh) | 指数函数处理单元、方法和神经网络芯片 | |
Tsmots et al. | Floating-Point Number Scalar Product Hardware Implementation for Embedded Systems | |
Alimohammad et al. | A unified architecture for the accurate and high-throughput implementation of six key elementary functions | |
US20230367550A1 (en) | Programmable device for executing multiply accumulate operations via look up tables | |
Tian et al. | A low-latency power series approximate computing and architecture for co-calculation of division and square root | |
CN221200385U (zh) | 粗粒度可重构浮点处理单元和网格型浮点cgra | |
Arnold et al. | Redundant logarithmic number systems | |
WO2021214944A1 (ja) | 構成変換装置、構成変換方法、および構成変換プログラム | |
EP4336344A1 (en) | Calculation unit for multiplication and accumulation operations | |
Tripathy et al. | Artificial neural network implementation in microchip PIC 18F45J10 8-bit microcontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |