[发明专利]一种基于泰勒展开的函数计算加速装置在审
申请号: | 202110272324.0 | 申请日: | 2021-03-12 |
公开(公告)号: | CN113094970A | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 杨旭光 | 申请(专利权)人: | 苏州芯启微电子科技有限公司 |
主分类号: | G06F30/27 | 分类号: | G06F30/27;G06F30/373 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215024 江苏省苏州市苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 泰勒 展开 函数 计算 加速 装置 | ||
本发明提供一种基于泰勒级数零点展开的函数求值计算加速装置,此装置适用于数学函数求值计算。本装置包括:计算控制单元,系数存储单元,计算迭代单元。计算控制单元设定计算的展开项个数;系数存储单元存放各个展开项的常量系数;计算迭代单元,计算各个展开项的结果,在完成指定项数计算后,将各展开项的结果累加形成函数求值结果。
技术领域
本发明属于计算机硬件领域,数字集成电路设计领域。具体涉及一种数学函数计算加速电路及设计实现方法。
背景技术
激活函数层是神经网络算法中至关重要的构成部分。随着近年来神经网络技术的发展,经典的RELU, Leaky RELU等激活函数越来越不能满足需要,而Swish,Mish等激活函数,由于同时具有平滑连续非单调,无上界有下界的优势,正在获得更普遍使用。但是这些新激活函数的使用,也给神经网络带来了计算量剧增的挑战。在这个特定计算领域中,普遍地采用通过高性能CPU或GPU来提供一般性、通用性的数学计算,在成本,功耗,性能,和灵活性4个维度上不能达到较好折衷。也有其他实施特例,如寒武纪芯片采用在固化特定执行装置的方法来增加所支持的数学算子,但是特定固化的技术路线也带来了后期支持灵活性和可扩展性不足的问题。本发明就是针对这一现实的技术工程挑战而提出的。
发明内容
本发明提供函数求值计算加速的装置,可用于芯片上处理器设计或张量数学计算等领域,解决通过芯片硬件加速计算,同时又支持通用的计算公式与方法。
发明原理是基于0点进行函数的泰勒级数展开,电路设计由计算迭代单元和系数存储单元共同构成函数值求解电路。通过电路,实现对函数求值的方法为迭代得到
具有计算控制单元,用于预设级数展开的项数n;
具有系数存储单元,用于存储各个展开项的常量系数;对于第0个展开项,所存储的系数; 对于第i个展开项,i∈(1,n),所存储的系数,式中所述的为函数的n阶导数在零点处值;
具有计算迭代单元,根据接收的输入变量x,在零点处进行泰勒级数展开,按展开项数n求取各个展开项值,并最终形成函数求值的输出结果;
附图说明
图1为本发明各个单元及其连接示意图。
具体实施方式
在一个实施例中,以函数的泰勒展开为实例,阐述本发明的原理:
在零点处进行泰勒展开,有
系数存储单元,存储对应各个展开项的常量系数:
计算控制单元,设置本次函数求值计算的展开项数n。
计算迭代单元按照下述规则进行迭代计算:
-在当前迭代计算项数为0时,该展开项值为系数存储单元中的,该展开项的为1;
-在当前迭代计算项数为i时,利用上次计算所存储的乘以,作为当前项的,然后将该值与系数存储单元中的相乘,获得该展开项值;再将该展开项值与上一个展开项值累加;
-在当前迭代项数等于n时,最终的展开项累加值即为函数求值结果;
在上述实施例中,仍以实施例函数具体实施例,对本发明做进一步的详细描述。
假定展开项数为6,系数存储单元中存放的展开项系数分别为:
;
计算迭代单元,进行6次计算迭代,获得函数的最终值;
第一次:=1
第二次:1+3*C1=4
第三次:4+32*C2=8.5
第四次:8.5+33*C3=13
第五次:13+34*C4=16.375
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州芯启微电子科技有限公司,未经苏州芯启微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110272324.0/2.html,转载请声明来源钻瓜专利网。