【技术实现步骤摘要】
【国外来华专利技术】用于使用逐次累积旋转电路计算初等函数的装置和方法
[0001]相关申请的交叉引用
[0002]本申请要求于2019年2月20日提交的美国临时申请62/807,852的优先权,其内容通过引用整体并入。
[0003]本公开涉及用于实现特定初等函数的电路和方法,尤其涉及用于使用逐次累积旋转电路计算非三角初等函数的电路和方法。
技术介绍
[0004]诸如图形处理单元(GPU)的加速器电路可以包括被配置为执行数值函数的计算的电路。数值函数可以根据由数值函数定义的某些数学关系将一个或多个输入值转换为一个或多个输出值。数值函数的示例可以包括被广泛用于诸如图像处理和机器学习之类的实际应用中的初等函数。
[0005]用于执行数值函数的计算的运算符的类型确定实现这些数值函数的电路的复杂性以及执行这些计算所需的时间。众所周知,与移位运算符或加法运算符的电路实现相比,乘法运算符的电路实现要复杂得多。因此,具有小尺寸集成电路(例如,小尺寸现场可编程门阵列(FPGA)电路)的电路通常不支持乘法运算符的直接计算。
附图说明
[0006]从下面给出的详细描述以及从本公开的各种实施方式的附图,将更全面地理解本公开。然而,不应认为附图将本公开内容限制于具体实施方式,而是仅用于解释和理解。
[0007]图1示出了根据本公开的实施方式的用于执行初等函数的计算的系统。
[0008]图2示出了根据本公开的实施方式的用于确定和配置初等计算电路的流程图。
[0009]图3示出了根据本公开的实施方式的逐
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种加速器电路,包括:寄存器文件,包括:指令寄存器,用于存储用于评估初等函数的指令;以及数据寄存器,包括用于存储与所述指令相关联的输入值的第一数据寄存器;逐次累积旋转电路,其包括可重新配置的内部级以执行逐次累积旋转递推;以及确定电路,用于:基于所述指令来确定所述初等函数的类型;以及响应于确定所述输入值为定点数,将所述可重新配置的内部级配置为用于评估所述类型的初等函数的配置,其中所述逐次累积旋转电路使用执行所述逐次累积旋转递推的所述可重新配置的内部级来计算所述初等函数的评估。2.根据权利要求1所述的加速器电路,还包括近似电路,其中,所述确定电路还用于:响应于确定所述输入值为浮点数,确定所述输入值是否属于小值范围;响应于确定所述输入值在所述小值范围之外,将所述浮点数转换为定点数;以及将所述可重新配置的内部级配置为用于评估所述类型的初等函数的配置,其中,所述逐次累积旋转电路使用执行所述逐次累积旋转递推的所述可重新配置的内部级来计算所述初等函数的评估;以及其中所述近似电路用于:响应于确定所述输入值属于所述小值范围,接收所述输入值并计算关于所述输入值的所述初等函数的近似值。3.根据权利要求1或2所述的加速器电路,其中,所述初等函数的类型包括幂函数、对数函数、倒数函数、平方根函数或平方根反函数中的至少一种,并且其中所述逐次累积旋转递推包括关于所述输入值的单旋转操作或关于所述输入值的双旋转操作中的至少一个。4.根据权利要求2或3所述的加速器电路,其中,为了确定所述输入值是否在小值范围内,所述确定电路基于估计的绝对误差、估计相对误差、所述初等函数的类型、用于所述浮点输入值的浮点数表示的类型或所述逐次累积旋转电路的硬件约束中的至少一个来确定所述输入值是否在小值范围内。5.根据权利要求2或3所述的加速器电路,其中,所述逐次累积旋转电路重复所述逐次累积旋转递推中的至少一个,以及其中所述浮点输入值根据IEEE浮点数表示来表示。6.根据权利要求2或3所述的加速器电路,其中,为了计算关于所述输入值的所述初等函数的近似值,所述近似电路用于:使用所述初等函数的泰勒展开式的第一项或第二项中的至少一个计算所述初等函数的近似值;以及将近似值存储在所述数据寄存器的第二数据寄存器中。7.根据权利要求2或3所述的加速器电路,其中,所述逐次累积旋转电路还用于将所述初等函数的评估转换为浮点数表示,并将所述浮点评估存储在所述数据寄存器的第三数据寄存器中。8.根据权利要求2或3所述的加速器电路,其中,所述可重新配置的内部级包括多路复用器、可重新配置的比较器、移位器、双移位器、加法电路或减法电路中的至少一个。9.根据权利要求8所述的加速器电路,其中,响应于确定所述初等函数的类型是幂函
数、对数函数、倒数函数、平方根函数或平方根反函数中之一,所述确定电路将所述可重新配置的比较器配置为第一模式;以及响应于确定所述初等函数的类型是三角函数,所述确定电路将所述可重新配置的比较器配置为第二模式。10.根据权利要求2所述的加速器电路,其中,响应于确定所述输入值在所述小值范围之外,为了使用执行所述逐次累积旋转递推的所述可重新配置的内部级计算所述初等函数的评估,所述逐次累积旋转电路还用于:将所述浮点输入值拆分为整数部分和小数部分;将所述小数部分转换为定点数;使用所述逐次累积旋转递推计算关于所述定点数的初等函数以生成定点结果;将所述定点结果转换为浮点结果;以及使用所述浮点结果和所述整数部分转换为浮点输出。11.一种计算系统,包括:用于存储输入值的存储装置;处理器,用于执行包括用于评估关于所述输入值的初等函数的指令的应用;加速器电路,通信地耦合到所述处理器,包括:逐次累积旋转电路,其包括可重新配置的内部级以执行逐次累积旋转递推;以及确定电路:接收所述指令和所述输入值;基于所述指令来确定所述初等函数的类型;以及响应于确定所述输入值是定点数,将所述可重新配置的内部级配置为用于评估所述类...
【专利技术属性】
技术研发人员:玛雅,
申请(专利权)人:优创半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。