当前位置: 首页 > 专利查询>辉达公司专利>正文

数值的随机修约制造技术

技术编号:22816792 阅读:32 留言:0更新日期:2019-12-14 13:01
公开了一种用于修约数值的方法、计算机可读介质和系统。来自输入值的一组位被识别为修约值。从输入值中提取表示第二值的第二组位,并将其与修约值相加以产生和。该和被截位以产生修约的输出值。因此,本发明专利技术提供了一种随机修约技术,该技术修约作为第二值和修约值的函数的输入值,这两者都从输入值获得。当从输入值的一致位位置获得第二值和修约值时,得到的输出值是确定性的。随机修约是确定性的,有利地适用于深度学习应用。

Random rounding of values

【技术实现步骤摘要】
数值的随机修约
本专利技术涉及修约数值,更具体地说,涉及用于执行随机修约的电路。
技术介绍
在某些情况下,降低表示数学计算的数值的精度可能是有益的。例如,32位浮点值可以用不太精确的16位浮点值替换,以减少用于神经网络训练的电路、功率和带宽。与使用全精度值相比,降低精度的值在数据传输期间仅需要一半带宽,以及不到一半的芯片面积和功耗。但是,可以使用16位浮点格式表示的值范围远小于可以使用32位浮点格式表示的值范围。小于16位浮点格式表示的最小值的数字将丢失(即,变为零)。随机修约是通常用于扩展数值范围的方法。对于传统的修约,数字被确定性地向上或向下修约,例如0.5到1之间的值被向上修约到1,低于0.5的值总是向下修约到0。使用随机修约,修约反而是概率性的。具体而言,0.5%有50%的几率被向上修约到1和50%的几率被向下修约到0,而0.1有10%的几率被向上修约到1和90%的几率被向下修约到0。利用随机修约,单独的修约事件实际上可以引入更多的误差,但是在长的累加序列上平均而言,结果将具有更少的误差。例如,当使用传统修约累加1000个值为0.1的数字时,在累加每个数字后结果将为零,然而,使用随机修约结果应该更接近正确答案100。因此,当在长序列数值上应用累加和修约运算时,随机修约是优选的,而挑战是在软件或硬件中有效地实现随机修约的随机修约行为。一种方法可以是为每个修约操作生成随机数,但就附加电路和/或功耗而言,这是非常昂贵的。需要解决与现有技术相关的这些问题和/或其他问题。专利技术内容公开了一种用于修约数值的方法、计算机可读介质和系统。接收由第一位数表示的输入值,并且将输入值的第一位数的一部分识别为由第二位数表示的修约值。从输入值提取第二值,并且修约值与第二值内的修约位置对齐,其中修约位置对应于由第三位数表示的输出值的最低有效位。将对齐的修约值和第二值相加以生成和,并且会截位该和以生成输出值。附图说明图1示出了根据一实施例的用于修约数值的方法的流程图。图2A示出了根据一实施例的修约单元的框图。图2B示出了根据一实施例的23位尾数的修约以产生10位减小的位宽尾数。图2C示出了根据一实施例的修约单元的另一框图。图2D示出了根据一实施例的用于修约数值的方法的另一流程图。图3示出了根据一实施例的并行处理单元。图4A示出了根据一实施例的图3的并行处理单元内的通用处理集群。图4B示出了根据一实施例的图3的并行处理单元的存储器分区单元。图5A示出了根据一实施例的图4A的流式多处理器。图5B是根据一实施例的使用图3的PPU实现的处理系统的概念图。图5C示出了可以实现各种先前实施例的各种架构和/或功能的示例性系统。具体实施方式描述了一种新的修约机制,用于将值的位宽从其原始的全位宽(N位)减小到减小的位宽(M位)。在一实施例中,浮点尾数值的N位的一部分用作修约值。全位宽值内的修约位置是减小的位宽值的最低有效位的位置。换句话说,将修约位置右侧的位截位以执行位宽减小。要截位的修约位置右侧的小数位数可以是固定的、计算的或可编程的。类似地,减小的位宽值中的位数(M)可以是固定的、计算的或可编程的。M确定N位输入值内的修约位置。原始输入值的全部或小于N位用于产生与修约值求和的第二值。将修约值与修约位置的右侧对齐并将其加到第二值以计算和。相反,当执行传统的修约到最近时,将固定值与全位宽值求和以计算和。在这两种情况下,和内的修约位置右侧的小数位被截位以产生减小的位宽值。图1示出了根据一实施例的用于修约数值的方法100的流程图。尽管在处理单元的上下文中描述了方法100,但是方法100还可以由程序、定制电路或定制电路和程序的组合来执行。例如,方法100可以由GPU(图形处理单元)、CPU(中央处理单元)或能够执行算术运算的任何处理器执行。此外,本领域普通技术人员将理解,执行方法100的任何系统都在本专利技术的实施例的范围和精神内。在步骤110,接收由第一位数表示的输入值。在一实施例中,输入值以包括指数和尾数的浮点格式表示。在另一实施例中,输入值以定点格式表示。在步骤120,将输入值的第一位数的一部分识别为由第二位数表示的修约值。在一实施例中,输入值的第一位数的所述一部分在尾数内被识别。在一实施例中,所识别的输入值的第一位数的所述一部分是尾数的最低有效位。在一实施例中,输入值的第一位数的所述一部分在定点格式值内被识别。在一个实施例中,所识别的输入值的第一位数的所述一部分是定点格式值的最低有效位。在另一实施例中,所识别的输入值的第一位数的所述一部分是输入值的一组连续位。在又一实施例中,所识别的输入值的第一位数的所述一部分是来自输入值的预定位位置的输入值的一组位。在步骤130,从输入值中提取第二值。在一实施例中,第二值是与输入值相同的值。在另一实施例中,第二值是输入值的较不精确的值。在又一实施例中,第二值由比输入值更少的位表示。在步骤140,修约值与第二值内的修约位置对齐,其中修约位置对应于由第三位数表示的输出值的最低有效位。结合图2B更详细地描述了修约位置。在步骤150,将对齐的修约值和第二值相加以产生和。在步骤160,从和中截位第四位数以产生输出值。在一实施例中,确定第四位数,使得输出值是包括第三位数的减小的位宽。在一实施例中,第四位数等于第二位数。在一实施例中,输入值是浮点格式数字的尾数,并且输出值是整数。现在将根据用户的期望阐述关于可以实现前述框架的各种任选架构和特征的更多说明性信息。应该特别注意的是,以下信息出于说明性目进行阐述,并且不应该被解释为以任何方式的限制。以下的任意特征可以任选性地并入或不排除所描述的其他特征。图2A示出了根据一实施例的修约单元200的框图。修约单元200包括阈值比较单元210、多路复用器215和累加器220。修约单元200接收包括指数和N位的尾数的浮点格式值。在一实施例中,使用IEEE(电气和电子工程师协会)浮点格式表示浮点格式值。在一实施例中,根据本专利技术对尾数进行修约。阈值比较单元210将浮点输入与阈值进行比较。当浮点输入大于或等于阈值时,可以使用分数值作为修约值来修约尾数。阈值可以是固定的、计算的或编程的。在一实施例中,阈值等于可以使用具有减小的位宽的浮点格式表示的最小值。在另一实施例中,阈值等于可以使用具有减小的位宽的浮点格式表示的最大值。阈值比较单元210将选择信号输出到多路复用器215,该多路复用器215用于选择分数值或输入值的一部分作为修约值。在一实施例中,尾数的一部分作为输入提供至多路复用器215,其中尾数是第一位数(N),并且尾数的一部分包括少于N位。修约单元200输出具有第三位数(M)的减小的尾数,其中M小于N。分数值可用于执行传统的IEEE754-2008修约。分数值可以是固定的、计算的或编程的。否则,当浮点输入小于(即,不大于或不等于)阈值时,多路复用器215选择尾数的一部分作为修约值来修约尾本文档来自技高网...

【技术保护点】
1.一种电路,配置为:/n接收由第一位数表示的输入值;/n将所述输入值的所述第一位数的一部分识别为由第二位数表示的修约值;/n从所述输入值中提取第二值;/n将所述修约值与所述第二值内的修约位置对齐,其中所述修约位置对应于由第三位数表示的输出值的最低有效位;/n将所述对齐的修约值与所述第二值相加以产生和;以及/n从所述和中截位第四位数以产生所述输出值。/n

【技术特征摘要】
20180606 US 16/001,8381.一种电路,配置为:
接收由第一位数表示的输入值;
将所述输入值的所述第一位数的一部分识别为由第二位数表示的修约值;
从所述输入值中提取第二值;
将所述修约值与所述第二值内的修约位置对齐,其中所述修约位置对应于由第三位数表示的输出值的最低有效位;
将所述对齐的修约值与所述第二值相加以产生和;以及
从所述和中截位第四位数以产生所述输出值。


2.如权利要求1所述的电路,其中所述第三位数小于所述第一位数。


3.如权利要求1所述的电路,其中当所述输入值大于阈值时,分数值替换所述修约值。


4.如权利要求1所述的电路,其中所述输入值是浮点格式数字的尾数。


5.如权利要求1所述的电路,其中所述第二数位和所述第四位数相同。


6.如权利要求3所述的电路,其中所述分数值是固定值、编程值和计算值之一。


7.如权利要求1所述的电路,其中当所述输入值在阈值范围内时,分数值替换所述修约值。


8.如权利要求1所述的电路,其中分数值基于修约模式替换所述修约值。


9.如权利要求1所述的电路,其中,在对齐所述修约值之前,基于作为固定值、编程值或计算值之一的分数值来修改所述修约值。


10.如权利要求9所述的电路,其中所述修约值与所述分数值逐位异或。


11.如权利要求9所述的电路,其中,所述修约值根据所述分数值逐位旋转。


12.如权利要求9所述的电路,其中所述修约值...

【专利技术属性】
技术研发人员:J·M·阿尔本P·米齐可维休斯浩·吴M·Y·西乌
申请(专利权)人:辉达公司
类型:发明
国别省市:美国;US

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

1
相关领域技术
  • 暂无相关专利