CN111313905A - 一种浮点数转换方法及装置 - Google Patents
一种浮点数转换方法及装置 Download PDFInfo
- Publication number
- CN111313905A CN111313905A CN202010111088.XA CN202010111088A CN111313905A CN 111313905 A CN111313905 A CN 111313905A CN 202010111088 A CN202010111088 A CN 202010111088A CN 111313905 A CN111313905 A CN 111313905A
- Authority
- CN
- China
- Prior art keywords
- value
- segment
- bit width
- index
- section
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 27
- 230000008520 organization Effects 0.000 claims description 145
- 238000013528 artificial neural network Methods 0.000 abstract description 21
- 238000012549 training Methods 0.000 abstract description 18
- 230000001105 regulatory effect Effects 0.000 abstract description 3
- 230000009466 transformation Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000000295 complement effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种浮点数转换方法及装置,能够将基于IEEE 754规范的单精度浮点数转换为posit数据格式的浮点数,即第二浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,而本发明中的posit数据格式的浮点数在神经网络训练过程中就可以在0附近保证精度,并且,本发明中posit数据格式的浮点数的预设总位宽是可以调控的,因此又可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种浮点数转换方法及装置。
背景技术
神经网络一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。近年来,随着深度学习技术的快速发展,神经网络的训练变得普遍并且重要,神经网络训练的速度和资源消耗也成为了对于深度学习评价的重要指标。
在以往的神经网络训练过程中,大部分的浮点数使用的都是基于IEEE 754规范的规格化单精度浮点数格式,这种数据格式通常包括符号段、指数段和尾数段,并且通常使用32位的位宽来表示,即符号段、指数段和尾数段的总位宽为32位。这种单精度浮点数可以表示一个很大范围的数值,同时也能满足神经网络训练的要求。
但是,虽然上述这种基于IEEE 754规范的单精度浮点数在精度上能够满足神经网络训练的要求,但是由于其位宽较长,在处理这种数据时需要耗费一定的时间并且消耗一定的资源,进而影响神经网络的训练速度,使神经网络训练的效率降低。
发明内容
本发明提供了一种浮点数转换方法及装置,以解决目前使用基于IEEE 754规范的单精度浮点数造成的神经网络训练的效率低的问题。
第一方面,本发明提供了一种浮点数转换方法,包括:
分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
结合第一方面,在第一方面的一种可实现方式中,利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值的步骤包括:
利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;
利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
结合第一方面,在第一方面的一种可实现方式中,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
结合第一方面,在第一方面的一种可实现方式中,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
结合第一方面,在第一方面的一种可实现方式中,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤包括:
利用所述组织段的值,确定所述组织段的值对应的二进制码;
利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码;
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
结合第一方面,在第一方面的一种可实现方式中,利用所述组织段的值,确定所述组织段的值对应的二进制码的步骤包括:
如果所述组织段的值大于或者等于0,则确定所述组织段的值对应的二进制码由r+1个1和1个0组成,其中,r表示组织段的值;
如果所述组织段的值小于0,则确定所述组织段的值对应的二进制码由-r个0和1个1组成。
结合第一方面,在第一方面的一种可实现方式中,所述将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤还包括:
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数;
如果所述拼接数的总位宽大于所述预设总位宽,则依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
结合第一方面,在第一方面的一种可实现方式中,所述利用所述组织段的值,确定所述组织段的值对应的二进制码之后,还包括:
如果组织段的位宽等于所述预设总位宽,则舍去所述组织段的值对应的二进制码中最后一位二进制码,使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
结合第一方面,在第一方面的一种可实现方式中,利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码之后,还包括:
如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽,则将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后;
如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽,则截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽;
如果所述预设总位宽等于第二符号段的位宽加组织段的位宽之和,则将所述第二指数段的值全部舍去。
结合第一方面,在第一方面的一种可实现方式中,利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值之后,还包括:
如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0,则截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;
如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0,则舍去所述第二尾数段的值。
第二方面,本发明实施例提供了一种浮点数转换装置,包括:
数据获取模块,用于分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
第一数据确定模块,用于利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
第二数据确定模块,用于利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
第二浮点数生成模块,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
结合第二方面,在第二方面的一种可实现方式中,所述第一数据确定模块还包括:
第一数据确定单元,用于利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;
第二数据确定单元,用于利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
结合第二方面,在第二方面的一种可实现方式中,所述第一数据确定单元,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
结合第二方面,在第二方面的一种可实现方式中,所述第二数据确定单元,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
结合第二方面,在第二方面的一种可实现方式中,所述第二浮点数生成模块包括:
第一码值确定单元,用于利用所述组织段的值,确定所述组织段的值对应的二进制码;
第二码值确定单元,用于利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码;
第二浮点数生成单元,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
结合第二方面,在第二方面的一种可实现方式中,所述第一码值确定单元还用于:
在所述组织段的值大于或者等于0时,确定所述组织段的值对应的二进制码由r+1个1和1个0组成,其中,r表示组织段的值;
在所述组织段的值小于0,确定所述组织段的值对应的二进制码由-r个0和1个1组成。
结合第二方面,在第二方面的一种可实现方式中,所述第二浮点数生成模块还用于:
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数;
在所述拼接数的总位宽大于所述预设总位宽时,依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
结合第二方面,在第二方面的一种可实现方式中,所述装置还包括:第一位宽确定模块,用于在组织段的位宽等于所述预设总位宽时,舍去所述组织段的值对应的二进制码中最后一位二进制码,使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
结合第二方面,在第二方面的一种可实现方式中,所述装置还包括:第二位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽时,将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后;在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽时,截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽;在所述预设总位宽等于第二符号段的位宽加组织段的位宽之和时,将所述第二指数段的值全部舍去。
结合第二方面,在第二方面的一种可实现方式中,所述装置还包括:第三位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0时,截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0时,舍去所述第二尾数段的值。
由以上技术方案可知,本发明公开了一种浮点数转换方法及装置,能够将基于IEEE754规范的单精度浮点数转换为posit数据格式的浮点数,即第二浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,而本发明中的posit数据格式的浮点数在神经网络训练过程中就可以在0附近保证精度,并且,本发明中posit数据格式的浮点数的预设总位宽是可以调控的,因此又可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施案例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1(a)为本发明提供的基于IEEE 754规范的单精度浮点数具体的数据表示形式的示意图;
图1(b)为本发明提供的Posit数据格式的浮点数具体的数据表示形式的示意图;
图2本发明实施例一提供的浮点数转换方法的流程图;
图3(a)为本发明实施例中提供的基于IEEE 754规范的单精度浮点数的数据表示形式示意图;
图3(b)为本发明实施例中提供的Posit数据格式的浮点数的数据表示形式示意图;
图4为本发明实施例提供的二进制码表示数据的示意图;
图5为本发明实施例提供的一种浮点数转换装置的结构框图。
具体实施方式
本发明技术方案中的Posit数据格式的参数包括N和es,其中N为整个数据表示的总位宽,es为指数段的位宽,两个参数都是在表示数据前需要确定的。N可以取任意正整数值,例如5、8等。图1(a)为本发明提供的基于IEEE 754规范的单精度浮点数具体的数据表示形式的示意图,图1(b)为本发明提供的Posit数据格式的浮点数具体的数据表示形式的示意图。如图1所示,Posit数据格式的浮点数与基于IEEE 754规范的单精度浮点数之间区别在于,在进行具体的数据表示时,基于IEEE 754规范的单精度浮点数包括符号段S,指数段E1和尾数段F三个部分,而Posit数据格式的浮点数包括符号段s,组织段r、指数段e和尾数段f四个部分。
本发明公开的浮点数转换方法,将基于IEEE 754规范的规格化单精度浮点数转换为上述Posit数据格式的单精度浮点数,有了这种转换方法,就可以使得数据存储时,利用posit新型浮点数数据格式的低位宽,减少存储所需要的资源以及读写过程所消耗的资源,同时也可以在运算过程中使用基于IEEE 754规范的规格化单精度浮点数格式,最大程度的保证了运算时的精度。具体用一下实施例对本发明公开的浮点数转换方法及进行清楚、完整地描述。
实施例一
图2本发明实施例一提供的浮点数转换方法的流程图。如图2所示,本发明实施例提供的一种浮点数转换方法,包括以下步骤:
S101,分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数,即基于IEEE 754规范的规格化单精度浮点数。
通常,对于一个基于IEEE 754规范的规格化单精度浮点数来说,该浮点数的规格化单精度浮点数表示形式为:
A=(-1)S×221-127×1.F,
其中,E1为规格化单精度浮点数表示式中的指数段的值,A为浮点数的真值,其中,S表示符号段的值,只有一位,当A为正数时,符号段S的值为0,当A为负数时,符号段S的值为1;F表示尾数段的值,是将整数部分表示为1后,小数点后的所有尾数。
而一个浮点数常用的浮点数科学表示形式为:
A=(-1)s×2E×1.F,
其中,E为浮点数科学表示式中的指数段的值,A为浮点数的真值,这里的E=E1-127。
在本实施例中,获取的第一符号段的值、第一指数段的值和第一尾数段的值实际上均为上述浮点数科学表示式中的符号段的值S、指数段的值E和尾数段的值F。
以0.125为例,表示成二进制是0.001,在IEEE 754规范下表示为规格化单精度浮点数时,其符号段的值S为0,是一位位宽;指数段的值E1为124,将原码表示成二进制8位位宽;最后尾数段的值F为0,在存储表示的时候是23个0,为23位位宽;这样最后得到的规格化单精度浮点数总位宽为32位。而在浮点数科学表示法中,得到的符号段的值和尾数段的值与上述的S和F相同,但是指数段的值E需要利用上述E1的值减去127获得,即E=124-127=-3。
本实施例中的第一符号段的值即为上述符号段S对应的值,第一指数段的值即为上述指数段E的值,第一尾数段的值即为上述尾数段F的值。
S102,利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值。
本实施例中以es表示预设指数位宽,预设指数位宽是根据对Posit数据格式的浮点数的实际需求选择的,例如2、3、4等等;组织段的值用r表示,第二指数段的值用e表示。本实施例中可以根据E和es的值,分别计算出r的值和e的值,此时,就获得了第二浮点数表示式中的组织段的值和第二指数段的值。
S103,利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值。
本实施例中直接将所述第一符号段的值作为第二符号段的值,将所述第一尾数段的值作为第二尾数段的值,即将S的值赋予s,将F的值赋予f。此时,就获得了第二浮点数科学表示式中的第二符号段的值和第二尾数段的值。
S104,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
本实施例中最终获得的第二浮点数需要采用图1(b)中的形式展示,但是这种展示方式要求展示的数据均为二进制码的形式,那么在获得了用于表示第二浮点数的第二符号段的值、组织段的值、第二指数段的值和第二尾数段的值之后,还要将各个值分别以二进制码的形式表示,并且依次排列组成第二浮点数,并且最右端表示低位,最左端表示高位。本实施例中的第二浮点数整体的位宽不能超过预设总位宽,如果超过,则需要依次从排列后的第二浮点数的低位截取一定位数的二进制码,将第二浮点数整体的位宽保持与预设总位宽相同。
本实施例中,对于一个Posit数据格式的浮点数来说,该浮点数与其真值A的关系为:
可见,本实施例中的浮点数转换方法中,能够将基于IEEE 754规范的单精度浮点数转换为posit数据格式的浮点数,posit数据格式的浮点数的低位宽特性,能够减少存储资源以及读写过程所消耗的资源,保证神经网络训练的效率。
实施例二
本发明实施例二提供的一种浮点数转换方法中,在上述实施例一的基础上,利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值的步骤具体可以包括:
S201,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值。
具体的,本实施例中采用如下公式,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
以真值为0.125的数为例,以浮点数科学表示形式表示,其第一符号段值S为0,第一指数段值E为-3,第一尾数段值F为0。如果预设指数位宽es为2,那么可以求得第二浮点数中的组织段的值r=-3/4,由于r为非整数,向下取整后r的值为-1。
S202,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
具体的,本实施例中采用如下公式,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
对于真值为0.125的数来说,第一指数段值E为-3,预设指数位宽es为2,组织段的值r为-1,那么可以求得0.125对应的第二浮点数中第二指数段的值为e=-3-22*(-1)=1。
图3(a)为本发明实施例中提供的基于IEEE 754规范的单精度浮点数的数据表示形式示意图,图3(b)为本发明实施例中提供的Posit数据格式的浮点数的数据表示形式示意图。如图3(a)所示,对于真值为0.125的数来说,其以浮点数科学表示形式表示,S为0,E为-3,F为0。如图3(b)所示,该真值为0.125的数对应的Posit数据格式的浮点数的第二符号段的值s为0,组织段的值r为-1,第二指数段的值e为1,第二尾数段值f为0。
可见,本实施例中可通过具体的计算方式将基于IEEE 754规范的单精度浮点数的各个参数分别转化成Posit数据格式的浮点数的参数,使得Posit数据格式的浮点数的获得更加快速便捷。
实施例三
本发明实施例三提供的一种浮点数转换方法中,在上述实施例的基础上,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤具体包括:
S301,利用所述组织段的值,确定所述组织段的值对应的二进制码。
对于Posit数据格式的浮点数,其组织段r的值是浮动的。在数据表示中,组织段r的编码有两种表示形式:一种是连续的1以及后续的一个0,如111…0;另一种是连续的0以及后续的一个1,如000……1。对于组织段的真实取值r,如果组织段是连续的a个1加1个0,那么表示的数值r为a-1,如果组织段是连续的a个0加1个1,那么表示的数值r为-a。
具体的,本实施例中,确定所述组织段的值对应的二进制码的步骤具体可以包括:
S401,如果所述组织段的值大于或者等于0,则确定所述组织段的值对应的二进制码由r+1个1和1个0组成。
S402,如果所述组织段的值小于0,则确定所述组织段的值对应的二进制码由-r个0和1个1组成。
对于真值为0.125的数来说,组织段的值r为-1,此时r小于0,那么该r值对应的二进制码则由1个0和1个1组成,即为01。
S302,利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码。
本实施例中的预设指数位宽规定的就是Posit数据格式的浮点数中的指数位的位宽,如果预设指数位宽es为2,第二指数段的值e为1,那么可以将真值为1的e用两位二进制码的形式表示,即为01;如果预设指数位es为3,第二指数段的值e为1,那么可以将真值为1的e用三位二进制码的形式表示,即为001。
S303,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
图4为本发明实施例提供的二进制码表示数据的示意图。如图4所示,预设总位宽N为5,预设指数位宽es为2时,真值为0.125的数对应的Posit数据格式的浮点数的第二符号段的值s为0,其二进制码的形式也为0,组织段的值r对应的二进制码为01,第二指数段的值e对应的二进制码为01,第二尾数段值f对应的二进制码为0,由于预设总位宽为5,所以舍去第二尾数段的二进制码,因此,可以获得0.125对应的Posit数据格式的浮点数为00101,即0.125对应的第二浮点数。
实施例四
本发明实施例四提供的一种浮点数转换方法,在上述实施例的基础上,所述将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤具体还包括:
S501,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数。
S502,如果所述拼接数的总位宽大于所述预设总位宽,则依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
本实施例中的第二浮点数整体的位宽不能超过预设总位宽,例如,预设总位宽要求为8,那么最终组成的第二浮点数的总位数必须等于8。如果将第二浮点数中各个数据段的二进制码拼接后,总位数超过8位,那么首先需要从第二尾数段最右端开始将一部分或者全部的二进制码截取掉,保证第二浮点数剩余的部分位数为8位,如果第二尾数段全部舍去后第二浮点数的位数仍不满足8位的要求,那么继续从第二指数段最右端将一部分或者全部的二进制码进行截取。
可见,本实施例中能够在将第二浮点数的组织段、第二指数段和第二尾数段拼接后,对总位宽进行限制,保证第二浮点数的总位宽符合预设要求,进而保证第二浮点数的低位宽性质,减少存储资源以及读写过程所消耗的资源。
上述实施例四中是对拼接后的第二浮点数整体进行位宽的确定,本发明实施例中,还可以通过判断的方式,单独对第二浮点数的组织段、第二指数段和第二尾数段的位数进行控制,使得它们拼接后的第二浮点数直接满足预设总位宽的要求,具体包括:
实施例五
在上述实施例的基础上,在利用所述组织段的值,确定所述组织段的值对应的二进制码之后,还包括:
如果组织段的位宽等于所述预设总位宽,则舍去所述组织段的值对应的二进制码中最后一位二进制码,使得所述第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
另外,本实施例中对于组织段的省略是有要求的,对于在Posit数据格式动态表示范围内的数,其组织段最多只能省去末端的1位二进制码,比如N=5时,如果组织段的值为-4,其应该表示为00001,这个是可以选择省去末端的1,但是如果组织段的值为-5,其应该表示为000001,那么此时如果省略掉末端01,剩下的组织段就是无效的,应该说是此时超出了Posit数据格式的动态表示范围,因为对于那些特别小的数字,在神经网络中是可以近似为0的。
实施例六
在上述实施例的基础上,在利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码之后,还包括:
S601,如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽,则将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后。
S602,如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽,则截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽。
S603,如果所述预设总位宽等于第二符号段的位宽加组织段的位宽之和,则将所述第二指数段的值全部舍去。
实施例七
在上述实施例的基础上,在利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值之后,还包括:
S701,如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0,则截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;
S702,如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0,则舍去所述第二尾数段的值。
值得说明的是,本发明实施例中,对于正数和负数的转换都可以利用上述公开的方法进行,但是对于负数的转换,还可以把负数作为一个正数先利用上述公开的方法进行转换,最后把转换后的数据除了符号段以外的二进制码取补码,再将负数的符号段补到该补码的前端。比如0.125经过上述方法转换后的第二浮点数为00101,那-0.125对应的第二浮点数就是把0101取一个补码再加上-0.125的符号段1,即为11011。
本发明实施例中,可以在单独执行实施例五、六、七之后,将第二符号段、组织段、第二指数段和第二尾数段进行拼接,通常可以组成一个符合预设总位宽的第二浮点数,如果出现不符合预设总位宽的情况,则可以继续执行实施例四的内容,进而保证第二浮点数的总位宽与预设总位宽相同。另外,本发明实施例中,还可以分别只执行实施例五、六或者七,然后再执行实施例四的内容,将第二浮点数中超过预设总位宽的部分进行截取。可见,本发明实施例中保证第二浮点数的位宽满足的要求的方式有多种,在此不再赘述。
由以上技术方案可知,本发明实施例中提供了一种浮点数转换方法,能够将基于IEEE754规范的单精度浮点数转换为posit数据格式的浮点数,即第二浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,而本发明中的posit数据格式的浮点数在神经网络训练过程中就可以在0附近保证精度,并且,本发明中posit数据格式的浮点数的预设总位宽是可以调控的,因此又可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
图5为本发明实施例提供的一种浮点数转换装置的结构框图。如图5所示,本发明实施例提供的浮点数转换装置,包括:
数据获取模块51,用于分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
第一数据确定模块52,用于利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
第二数据确定模块53,用于利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
第二浮点数生成模块54,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
其中,所述第一数据确定模块还包括:第一数据确定单元,用于利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;第二数据确定单元,用于利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
所述第一数据确定单元,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
所述第二数据确定单元,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
所述第二浮点数生成模块包括:第一码值确定单元,用于利用所述组织段的值,确定所述组织段的值对应的二进制码;第二码值确定单元,用于利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码;第二浮点数生成单元,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
所述第一码值确定单元还用于:在所述组织段的值大于或者等于0时,确定所述组织段的值对应的二进制码由r+1个1和1个0组成,其中,r表示组织段的值;在所述组织段的值小于0,确定所述组织段的值对应的二进制码由-r个0和1个1组成。
所述第二浮点数生成模块还用于:将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数;在所述拼接数的总位宽大于所述预设总位宽时,依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
所述浮点数转换装置还包括:第一位宽确定模块,用于在组织段的位宽等于所述预设总位宽时,舍去所述组织段的值对应的二进制码中最后一位二进制码,使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
所述浮点数转换装置还包括:第二位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽时,将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后;在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽时,截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽;在所述预设总位宽等于第二符号段的位宽加组织段的位宽之和时,将所述第二指数段的值全部舍去。
所述浮点数转换装置还包括:第三位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0时,截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0时,舍去所述第二尾数段的值。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (20)
1.一种浮点数转换方法,其特征在于,包括:
分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
2.根据权利要求1所述的方法,其特征在于,利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值的步骤包括:
利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;
利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
3.根据权利要求2所述的方法,其特征在于,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
4.根据权利要求3所述的方法,其特征在于,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
5.根据权利要求1所述的方法,其特征在于,将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤包括:
利用所述组织段的值,确定所述组织段的值对应的二进制码;
利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码;
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
6.根据权利要求5所述的方法,其特征在于,利用所述组织段的值,确定所述组织段的值对应的二进制码的步骤包括:
如果所述组织段的值大于或者等于0,则确定所述组织段的值对应的二进制码由r+1个1和1个0组成,其中,r表示组织段的值;
如果所述组织段的值小于0,则确定所述组织段的值对应的二进制码由-r个0和1个1组成。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数的步骤还包括:
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数;
如果所述拼接数的总位宽大于所述预设总位宽,则依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
8.根据权利要求6所述的方法,其特征在于,所述利用所述组织段的值,确定所述组织段的值对应的二进制码之后,还包括:
如果组织段的位宽等于所述预设总位宽,则舍去所述组织段的值对应的二进制码中最后一位二进制码,使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
9.根据权利要求5所述的方法,其特征在于,利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码之后,还包括:
如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽,则将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后;
如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽,则截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽;
如果所述预设总位宽等于第二符号段的位宽加组织段的位宽之和,则将所述第二指数段的值全部舍去。
10.根据权利要求1所述的方法,其特征在于,利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值之后,还包括:
如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0,则截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;
如果所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0,则舍去所述第二尾数段的值。
11.一种浮点数转换装置,其特征在于,包括:
数据获取模块,用于分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
第一数据确定模块,用于利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
第二数据确定模块,用于利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
第二浮点数生成模块,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
12.根据权利要求11所述的装置,其特征在于,所述第一数据确定模块还包括:
第一数据确定单元,用于利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;
第二数据确定单元,用于利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
13.根据权利要求12所述的装置,其特征在于,所述第一数据确定单元,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
14.根据权利要求13所述的装置,其特征在于,所述第二数据确定单元,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
15.根据权利要求11所述的装置,其特征在于,所述第二浮点数生成模块包括:
第一码值确定单元,用于利用所述组织段的值,确定所述组织段的值对应的二进制码;
第二码值确定单元,用于利用所述第二指数段的值和所述预设指数位宽,确定所述第二指数段的值对应的二进制码;
第二浮点数生成单元,用于将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
16.根据权利要求15所述的装置,其特征在于,所述第一码值确定单元还用于:
在所述组织段的值大于或者等于0时,确定所述组织段的值对应的二进制码由r+1个1和1个0组成,其中,r表示组织段的值;
在所述组织段的值小于0,确定所述组织段的值对应的二进制码由-r个0和1个1组成。
17.根据权利要求11-16任一项所述的装置,其特征在于,所述第二浮点数生成模块还用于:
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值对应的二进制码依次拼接,组成拼接数;
在所述拼接数的总位宽大于所述预设总位宽时,依次从所述拼接数的尾端截取二进制码,使得截取后的所述拼接数的总位宽等于所述预设总位宽。
18.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第一位宽确定模块,用于在组织段的位宽等于所述预设总位宽时,舍去所述组织段的值对应的二进制码中最后一位二进制码,使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。
19.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或者等于预设指数位宽时,将所述第二指数段的值对应的二进制码置于组织段的值对应的二进制码之后;在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预设指数位宽时,截取所述第二指数段的值对应的二进制码,使得第二符号段、组织段和第二指数段的总位宽等于预设总位宽;在所述预设总位宽等于第二符号段的位宽加组织段的位宽之和时,将所述第二指数段的值全部舍去。
20.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三位宽确定模块,用于在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值大于0时,截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值对应的二进制码之后,使得第二符号段、组织段、第二指数段和第二尾数段剩余部分的总位宽等于预设总位宽;在所述预设总位宽减去第二符号段的位宽、组织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0时,舍去所述第二尾数段的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111088.XA CN111313905B (zh) | 2020-02-24 | 2020-02-24 | 一种浮点数转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111088.XA CN111313905B (zh) | 2020-02-24 | 2020-02-24 | 一种浮点数转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111313905A true CN111313905A (zh) | 2020-06-19 |
CN111313905B CN111313905B (zh) | 2023-10-13 |
Family
ID=71160179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010111088.XA Active CN111313905B (zh) | 2020-02-24 | 2020-02-24 | 一种浮点数转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111313905B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024109430A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080240297A1 (en) * | 2007-03-26 | 2008-10-02 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
CN102012903A (zh) * | 2009-09-04 | 2011-04-13 | 斯必克有限公司 | 用于在一个关系数据库中组织分层数据的方法和设备 |
CN106990937A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种浮点数处理装置 |
CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
CN108470072A (zh) * | 2018-03-30 | 2018-08-31 | 迅讯科技(北京)有限公司 | 一种查询编译方法和装置 |
-
2020
- 2020-02-24 CN CN202010111088.XA patent/CN111313905B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080240297A1 (en) * | 2007-03-26 | 2008-10-02 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
CN102012903A (zh) * | 2009-09-04 | 2011-04-13 | 斯必克有限公司 | 用于在一个关系数据库中组织分层数据的方法和设备 |
CN106990937A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种浮点数处理装置 |
CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
CN108470072A (zh) * | 2018-03-30 | 2018-08-31 | 迅讯科技(北京)有限公司 | 一种查询编译方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024109430A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111313905B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698772B2 (en) | Prepare for shorter precision (round for reround) mode in a decimal floating-point instruction | |
US11775257B2 (en) | Enhanced low precision binary floating-point formatting | |
CN107273090B (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
US10592208B2 (en) | Very low precision floating point representation for deep learning acceleration | |
CN111290732B (zh) | 基于posit数据格式的浮点数乘法运算电路 | |
US11783200B2 (en) | Artificial neural network implementation in field-programmable gate arrays | |
CN111340207B (zh) | 浮点数转换方法及装置 | |
US11620105B2 (en) | Hybrid floating point representation for deep learning acceleration | |
CN111967608A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116700663B (zh) | 一种浮点数处理方法及装置 | |
CN111310909B (zh) | 一种浮点数转换电路 | |
CN117170622B (zh) | 累加器及用于累加器的方法和芯片电路及计算设备 | |
CN111313905A (zh) | 一种浮点数转换方法及装置 | |
CN113791756A (zh) | 转数方法、存储介质、装置及板卡 | |
KR20220038607A (ko) | 내적 연산 구현 방법, 장치, 전자 기기 및 기록 매체 | |
CN117420982A (zh) | 包括融合乘累加器的芯片、设备及数据运算的控制方法 | |
CN116795324A (zh) | 混合精度浮点乘法装置和混合精度浮点数处理方法 | |
CN116700666B (zh) | 一种浮点数处理方法及装置 | |
CN111313906B (zh) | 一种浮点数的转换电路 | |
CN114327365A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113625990A (zh) | 浮点转定点装置、方法、电子设备及存储介质 | |
CN102750663A (zh) | 一种基于gpu的地理信息数据处理的方法、设备和系统 | |
CN117370722A (zh) | 并行计算硬件中矩阵乘法运算的处理方法及相关设备 | |
CN115951858A (zh) | 数据处理器、数据处理方法和电子设备 | |
CN115951860A (zh) | 数据处理装置、数据处理方法和电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |