执行浮点操作的系统和方法技术方案

技术编号:37680463 阅读:32 留言:0更新日期:2023-05-28 09:34
一种执行浮点操作的方法可以包括:获得具有浮点格式的操作数,基于操作数的指数的范围来计算增益,通过将增益应用于操作数来生成具有定点格式的中间值,通过对中间值执行操作来生成具有定点格式的定点结果值,以及将定点结果值变换为具有浮点格式的浮点输出值。果值变换为具有浮点格式的浮点输出值。果值变换为具有浮点格式的浮点输出值。

【技术实现步骤摘要】
执行浮点操作的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求于2021年11月24日向韩国知识产权局提交的第10

2021

0163767号韩国专利申请的优先权,该申请的主题通过引用整体结合于此。


[0003]本专利技术构思总体上涉及执行算术操作的系统和可以用于执行浮点操作的方法。

技术介绍

[0004]对于给定数量的数字位,浮点格式可以用于表示比定点格式相对更大的数范围。然而,对以浮点格式表达的数的算术操作可能比对以定点格式表达的数的算术操作更复杂。随着各种计算硬件的发展,已经广泛使用了浮点格式。然而,需要对浮点数执行(或运行)多个算术操作的特定应用(例如,计算机视觉、神经网络、虚拟现实、增强现实等)的准确性和效率可以根据被执行的算术操作的类型而变化。不期望这种可变性,因此需要改进浮点算术操作的执行。

技术实现思路

[0005]本专利技术构思提供了能够对浮点数执行更准确的算术操作的系统和方法。
[0006]根据本专利技术构思的一个方面,一种执行浮点操作的方法包括:获得操作数(operand),其中操作数中的每一个以浮点格式表达;基于操作数的操作数指数的范围来计算增益;通过将增益应用于操作数来生成中间值,其中中间值中的每一个以定点格式表达;通过对中间值执行算术操作来生成定点结果值,其中定点结果值以定点格式表达;以及根据定点结果值来生成浮点输出值,其中浮点输出值以浮点格式表达。
[0007]根据本专利技术构思的一个方面,一种执行浮点操作的系统可以包括:增益计算电路,被配置为获得操作数并且基于操作数指数的范围来计算增益,其中操作数中的每一个以浮点格式表达;归一化电路,被配置为通过将增益应用于操作数来生成中间值,其中中间值中的每一个以定点格式表达;定点操作电路,被配置为通过对中间值执行算术操作来生成定点结果值,其中定点结果值以定点格式表达;以及后处理电路,被配置为将定点结果值变换为浮点输出值,其中浮点输出值以浮点格式表达。
[0008]根据本专利技术构思的一个方面,一种执行浮点操作的系统可以包括:处理器和存储使处理器能够执行浮点操作的指令的非暂时性存储介质。浮点操作可以包括:获得操作数,其中操作数中的每一个以浮点格式表达;基于操作数的操作数指数的范围来计算增益;通过将增益应用于操作数来生成中间值,其中中间值中的每一个以定点格式表达;通过对中间值执行算术操作来生成定点结果值,其中定点结果值以定点格式表达;以及将定点结果值变换为浮点输出值,其中浮点输出值以浮点格式表达。
附图说明
[0009]结合以下详细说明和附图,可以更清楚地理解本专利技术构思的优点、益处和特征以及制造和使用,其中:
[0010]图1是示出根据本专利技术构思的实施例的执行浮点操作的方法的流程图;
[0011]图2是示出根据本专利技术构思的实施例的浮点格式的概念图;
[0012]图3是在一个实施例中进一步示出图1的方法中计算增益的步骤的流程图;
[0013]图4是在一个实施例中进一步示出图1的方法中生成具有定点格式的结果值的步骤的流程图;
[0014]图5是根据本专利技术构思的实施例的浮点操作的伪代码的部分示例性列表;
[0015]图6是在一个实施例中进一步示出图1的方法中生成具有浮点格式的输出值的步骤的流程图;
[0016]图7是示出根据本专利技术构思的实施例的结果值的概念图;
[0017]图8A和图8B是示出根据本专利技术构思的实施例的执行浮点操作的方法的相关流程图;
[0018]图9是在一个实施例中进一步示出图1方法中生成操作数的步骤的流程图;
[0019]图10是在一个实施例中进一步示出图9的方法中生成操作数的步骤的流程图;
[0020]图11是根据本专利技术构思的实施例的浮点操作的伪代码的部分示例性列表;
[0021]图12A和图12B是示出根据本专利技术构思的实施例的执行浮点操作的方法的相关流程图;
[0022]图13是示出根据本专利技术构思的实施例的执行浮点操作的系统的框图;
[0023]图14是示出根据本专利技术构思的实施例的系统的框图;集
[0024]图15是根据本专利技术构思的实施例的计算系统的总体框图。
具体实施方式
[0025]在整个撰写的说明书和附图中,相似的附图标记和标签用于表示相似的元素、组件、特征和/或方法步骤。
[0026]图1是示出根据本专利技术构思的实施例的执行浮点操作的方法的流程图。参考图1,所示的示例性方法可以包括步骤S10、S30、S50、S70和S90,其中这些步骤中的一个或多个可以使用各种硬件、固件和/或软件配置(诸如下文中结合图13描述的配置)来执行。在一些实施例中,与本专利技术构思的实施例一致的方法的一个或多个步骤(诸如下文中结合图14和图15描述的那些)可以由被配置为运行由存储在存储器中的编程代码控制的指令序列的处理器来执行。
[0027]参考图1,可以获得(例如,生成)多个操作数(S10),其中操作数中的每一个可以以浮点格式来表达。如上所述,当在数字系统中处理的数字位的数量增加时,浮点格式可以更准确地表示扩展(或更宽)范围内的数。在这方面,与类似的定点格式相比,浮点格式需要减少的位数。并且在限定的准确度内,这种更少的位数需要更少的数据存储空间和/或存储器带宽。
[0028]对各种浮点格式的使用在本领域中是公知的。例如,本专利技术构思的特定实施例可以根据使用32位的单精度浮点格式(例如,FP32)和/或使用16位的半精度浮点格式(例如,
FP16)(诸如根据电气和电子工程师协会(IEEE)发布的754

2008技术标准(例如,参见www.ieee.org上公布的相关背景信息)定义的格式)进行操作。
[0029]使用该假设的上下文作为教导示例,通过存储FP16数据而非FP32数据,可以显著减少存储器(例如,动态随机访问存储器(或DRAM))的数据存储空间和/或存储器带宽。也就是说,处理器可以从存储器中读取FP16数据,并将FP16数据变换为对应的FP32数据。可替代地,处理器可以将FP32数据逆变换为对应的FP16数据,并将FP16数据写入存储器。
[0030]此外,在这方面,可以针对应用采用具有适当位数的浮点格式。例如,针对深度学习推理的执行,可以使用以FP16表达的特征图和对应的权重。因此,与定点格式(例如,INT8)相比,可以在更宽的范围内以更高的准确度来执行深度学习。此外,与FP32格式相比,可以以更高的效率(例如,存储空间、存储器带宽、处理速度等)来执行深度学习。因此,在以有限资源为特征的应用(例如,便携式计算系统,诸如移动电话)中,可能期望使用具有相对更少位的浮点格式(例如,FP16)。
[0031]本领域技术人员将从前述内容中认识到,浮点操作在各种应用中可能是特别有用的。例如,可以针对神经网络(诸如针对卷积层、全连接(FC)层、softmax层、平均池化层等)使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种执行浮点操作的方法,所述方法包括:获得操作数,其中,所述操作数中的每一个以浮点格式表达;基于所述操作数的操作数指数的范围来计算增益;通过将所述增益应用于操作数来生成中间值,其中,所述中间值中的每一个以定点格式表达;通过对所述中间值执行算术操作来生成定点结果值,其中,所述定点结果值以定点格式表达;以及根据所述定点结果值来生成浮点输出值,其中,所述浮点输出值以浮点格式表达。2.根据权利要求1所述的方法,其中,计算增益包括:获得所述操作数指数的最大值和最小值;以及基于所述操作数指数的最大值和最小值之间的差来计算增益。3.根据权利要求2所述的方法,其中,所述操作数指数的最大值和最小值分别是所述浮点格式的最大指数和最小指数。4.根据权利要求3所述的方法,其中,所述浮点格式是半精度浮点格式,并且基于所述操作数指数的最大值和最小值之间的差来计算增益包括:从所述半精度浮点格式的最大指数和所述半精度浮点格式的最小指数之间的差减去1。5.根据权利要求1所述的方法,其中,基于所述操作数指数的范围来计算增益包括:基于定点格式的数位的数量来计算增益。6.根据权利要求1所述的方法,其中,通过对所述中间值执行算术操作来生成定点结果值包括:计算所述中间值中的正中间值的第一和;计算所述中间值中的负中间值的第二和;以及基于所述第一和与所述第二和之间的差来计算所述中间值的和。7.根据权利要求1所述的方法,其中,根据所述定点结果值来生成浮点输出值包括:对包括所述定点结果值的最高有效位并排除所述定点结果值的符号位的连续零的数量进行计数,以生成计数值;以及基于所述增益和所述计数值来计算所述浮点输出值的指数和小数。8.根据权利要求1所述的方法,其中,根据所述定点结果值来生成浮点输出值包括:将浮点输出值设置为以浮点格式表达的值;以及如果所述定点结果值超出浮点格式的范围,则指示正无穷和负无穷中的一个。9.根据权利要求1所述的方法,其中,对于操作数中的每一个,获得操作数包括:将输入值对的指数相加,以生成所述输入值对的指数的和;以及将所述输入值对的小数相乘,以生成小数的乘积,其中,所述输入值对中的每一个值以浮点格式表达。10.根据权利要求9所述的方法,其中,对于操作数中的每一个,获得操作数还包括:基于所述输入值对的符号位来确定符号位;以及基于所述输入值对的指数的和来对所述小数的乘积进行移位。11.根据权利要求1所述的方法,其中,所述定点格式是符号幅度格式。12.一种执行浮点操作的系统,所述系统包...

【专利技术属性】
技术研发人员:余穗福严星华
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1