CN110069240A - 定点与浮点数据计算方法及装置 - Google Patents
定点与浮点数据计算方法及装置 Download PDFInfo
- Publication number
- CN110069240A CN110069240A CN201910363758.4A CN201910363758A CN110069240A CN 110069240 A CN110069240 A CN 110069240A CN 201910363758 A CN201910363758 A CN 201910363758A CN 110069240 A CN110069240 A CN 110069240A
- Authority
- CN
- China
- Prior art keywords
- format
- data
- fixed point
- point format
- preset
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 7
- 101150111073 flp-16 gene Proteins 0.000 description 18
- 230000000295 complement effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 101100005916 Arabidopsis thaliana CER3 gene Proteins 0.000 description 4
- 101150088221 FLP1 gene Proteins 0.000 description 4
- 101100299619 Mus musculus Ptpn18 gene Proteins 0.000 description 4
- 101100220842 Schizosaccharomyces pombe (strain 972 / ATCC 24843) clp1 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 208000015181 infectious disease Diseases 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明实施例公开了一种定点与浮点数据计算方法及装置,包括:将M个第一预设格式的数据转换为N个第二预设格式的数据;将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,第二预设格式为第二定点格式,M=2*N‑1,N为不小于1的整数。本发明实施例提供的方法,通过将M个第一预设格式的数据转换为N个第二预设格式的数据,将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出。由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
Description
技术领域
本发明涉及计算机硬件技术领域,具体涉及一种定点与浮点数据计算方法及装置。
背景技术
目前,针对嵌入式高性能计算平台的在线机器学习已成为一个研究热点,具有在线数据处理功能的高性能、低功耗和低延迟的信息物理系统节点,将信息采集、智能信息处理以及网络通信功能高度集成,被广泛的应用到环境、工业生产以及航天工程等领域。然而,对于在线应用,非线性方法需要不断地加入新样本并且对模型进行更新,不断增加的样本量和模型更新所需要的计算量大大增加,对嵌入式计算平台的性能提出了极大挑战。所以,由于需要计算的数据格式多样,需要高适应性的计算方法。
发明内容
为此,本发明实施例提供一种定点与浮点数据计算方法及装置,以解决现有技术中计算方法适应性不高的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供一种定点与浮点数据计算方法,包括::
将M个第一预设格式的数据转换为N个第二预设格式的数据;
将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
进一步地,所述浮点格式为半精度浮点格式,所述第一定点格式为11位定点格式,所述第二定点格式为41位定点格式。
进一步地,所述M个第一预设格式的数据包括1个半精度浮点格式的数据,以及2*N-2个半精度浮点格式的数据或者2*N-2个11位定点格式的数据。
进一步地,所述将M个第一预设格式的数据转换为N个第二预设格式的数据,包括:
将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据;
将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据。
进一步地,所述将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据,包括:
将所述2*N-2个半精度浮点格式的数据分为N-1对半精度浮点格式的数据,将每一对半精度浮点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据;或者,
将所述2*N-2个11位定点格式的数据分为N-1对11位定点格式的数据,将每一对11位定点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据。
进一步地,所述预设输出格式为半精度浮点格式或者11位定点格式。
进一步地,所述相加结果为41位定点格式;相应地,所述根据预设输出格式,对相加结果进行输出,包括:
若所述预设输出格式为半精度浮点格式且所述相加结果没有溢出,则将所述相加结果转换为半精度浮点格式的数据并进行输出;
若所述预设输出格式为11位定点格式,则将所述相加结果转换为11位定点格式并进行定点移位,将定点移位结果进行输出。
根据本发明实施例的第二方面,提供一种定点与浮点数据计算装置,包括::
转换模块,用于将M个第一预设格式的数据转换为N个第二预设格式的数据;
相加模块,用于将N个第二预设格式的数据进行相加;
输出模块,用于根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
根据本发明实施例的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与处理器通信连接的至少一个存储器,其中:
存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的定点与浮点数据计算方法。
根据本发明的第四方面,提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的定点与浮点数据计算方法。
本发明实施例具有如下优点:通过将M个第一预设格式的数据转换为N个第二预设格式的数据,将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出。由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种定点与浮点数据计算方法的整体流程示意图;
图2为本发明实施例提供的一种定点与浮点数据计算方法装置整体结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,针对嵌入式高性能计算平台的在线机器学习已成为一个研究热点,具有在线数据处理功能的高性能、低功耗和低延迟的信息物理系统节点,将信息采集、智能信息处理以及网络通信功能高度集成,被广泛的应用到环境、工业生产以及航天工程等领域。然而,对于在线应用,非线性方法需要不断地加入新样本并且对模型进行更新,不断增加的样本量和模型更新所需要的计算量大大增加,对嵌入式计算平台的性能提出了极大挑战。所以,由于需要计算的数据格式多样,需要高适应性的计算方法。
针对上述情形,如图1所述,示出了本发明具体实施例一种定点与浮点数据计算方法的整体流程图,包括:S1、将M个第一预设格式的数据转换为N个第二预设格式的数据;S2、将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出。
其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
本发明实施例提供的方法,通过将M个第一预设格式的数据转换为N个第二预设格式的数据,将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出。由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,所述浮点格式为半精度浮点格式,所述第一定点格式为11位定点格式,所述第二定点格式为41位定点格式。其中,半精度浮点格式具体可以为IEEE754半精度浮点,如FLP16,具体为1位符号、5位指数、10位尾数代表的浮点数。11位定点格式具体可以为以1位符号,m(0<=m<=10)位整数位,b=10-m位小数位代表的定点数,如SFP11.b。41位定点格式具体可以为1位符号,m=16位整数位,b=24位小数位代表的定点数,如SFP41.24。其中,规定定点数以2的补码表达。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,而浮点格式可以为半精度浮点格式,第一定点格式为11位定点格式,第二定点格式为41位定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,所述M个第一预设格式的数据包括1个半精度浮点格式的数据,以及2*N-2个半精度浮点格式的数据或者2*N-2个11位定点格式的数据。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,而浮点格式可以为半精度浮点格式,第一定点格式为11位定点格式,第二定点格式为41位定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,本发明实施例不对将M个第一预设格式的数据转换为N个第二预设格式的数据的方式作具体限定,包括但不限于:将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据;将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据。
其中,将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据可以通过FLP16转SFP41.24的转换器实现。这个转换器的运算是FLP16转SFP41.24,输入16位浮点,输出42位,包含SFP41.24的41位以及一位错误标志位,按FLP16的定义可知其转换过程。其中,可以规定INF(无穷大)、NAN(无效数字)等类型,转换后错误标志位设为有效,并将FLP16原始的二进制值复制到SFP41.24的固定的位置(比如低16位)。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,本发明实施例不对将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据的方式作具体限定,包括但不限于:将所述2*N-2个半精度浮点格式的数据分为N-1对半精度浮点格式的数据,将每一对半精度浮点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据;或者,将所述2*N-2个11位定点格式的数据分为N-1对11位定点格式的数据,将每一对11位定点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据。
以2*N-2个半精度浮点格式的数据为例,计算过程可通过FLP16乘法转SFP41.24的转换器实现。这个转换器执行的运算是FLP16转SFP41.24,输入2个16位浮点,输出41位和一个错误标志位(共42位),这个转换器的算法为:
(1)无论是normal number还是subnormal number,FLP16都可以表示为1位符号、11位无符号整数(normal number的最高位为0,subnormal number的最高位为1)与2的(指数-25)次幂的乘积。对于normal number这个指数即为浮点的指数,对于subnormal number这个指数恒为1。以其中一对半精度浮点格式的数据FLP0及FLP1为例。
其中,FLP0=A0*(2^(EXP0-25)),FLP1=A1*(2^(EXP1-25))。
(2)将整数部分做乘法,A=A0*A1,得到一个22位的A。
(3)将指数部分做加法,EXP=EXP0+EXP1-50。上述计算过程相当于是向量内积的计算过程。
(4)将得到的结果转为SFP41.24格式。具体为,先计算EXPS=EXP+24=EXP0+EXP1-26。如果EXPS为0,则复制A得到输出;如果EXPS<0,则需要对A进行逻辑右移EXPS位;如果EXPS>0,则需要对A进行左移EXPS位。如果此时对SFP41.24格式溢出,则错误标志位设为有效,数据设置为INF。
(5)浮点计算如果没有发生溢出,最终结果根据符号位转为补码。
(6)该转换器支持11位定点计算,定点计算复用上述浮点计算的11位乘法器,输入复用16位浮点的符号位和尾数位,并预定输入为2的补码。乘法结束后得到22位数,不进行移位和补码转换,而是将符号位从22位扩展到41位。该模式下错误标志位为无效。
(7)有1位控制选择信号决定这个乘法器做定点还是浮点。
需要说明的是,在得到N-1个41位定点格式的数据之后,可将该N-1个41位定点格式的数据与上面由1个半精度浮点格式的数据转换得到的1个41位定点格式的数据进行相加,也即N个41位定点格式的数据进行相加。该相加过程可通过SFP41.24加法网络实现,该加法网络输入为N个点,输出为1个点,计算过程为对N点进行相加。该加法网络输入为SFP41.24格式和一个错误标志位,共42位。其中,SFP41.24格式部分按照常规加法进行,错误标志位有效则按IEEE 754规定传染运算,例如INF与INF相加得到INF等,最终可得到42+log2(N)位的输出。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,所述预设输出格式为半精度浮点格式或者11位定点格式。其中,预设输出模式可以由具体模式来确定,具体模式可以包括定点模式及浮点模式。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算方法,所述相加结果为41位定点格式;相应地,本发明实施例不对根据预设输出格式,对相加结果进行输出的方式作具体限定,包括但不限于:若所述预设输出格式为半精度浮点格式且所述相加结果没有溢出,则将所述相加结果转换为半精度浮点格式的数据并进行输出;若所述预设输出格式为11位定点格式,则将所述相加结果转换为11位定点格式并进行定点移位,将定点移位结果进行输出。
具体地,在定点模式下,可将最终输出的22+log2(N)位直接输出,并根据定点需要进行移位,该过程可通过定点快速通道实现。在浮点模式下,若错误标志位无效但发生了溢出(高log2(N)位非全0且非全1),则输出INF,这种情况可通过错误快速通道直接输出。若不是上述情况,则送入SFP41.24转FLP16转换器得到浮点结果。
需要说明的是,SFP41.24转FLP16转换器执行的运算是SFP41.24转FLP16,SFP41.24需要携带一个错误标志位,当这个错误标志位为有效的时候代表其为INF或者NAN。此时,直接输出SFP41.24的固定的位置的原始数据(比如低16位)。当这个错误标志位为无效的时候代表其为正常数,按FLP16的定义可知其转换过程。
本发明实施例提供的方法,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
如图2,示出本发明具体实施例一种定点与浮点数据计算装置的整体结构示意图,包括:
转换模块A01,用于将M个第一预设格式的数据转换为N个第二预设格式的数据;
相加模块A02,用于将N个第二预设格式的数据进行相加;
输出模块A03,用于根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
本发明实施例提供的装置,通过将M个第一预设格式的数据转换为N个第二预设格式的数据,将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出。由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,所述浮点格式为半精度浮点格式,所述第一定点格式为11位定点格式,所述第二定点格式为41位定点格式。其中,半精度浮点格式具体可以为IEEE754半精度浮点,如FLP16,具体为1位符号、5位指数、10位尾数代表的浮点数。11位定点格式具体可以为以1位符号,m(0<=m<=10)位整数位,b=10-m位小数位代表的定点数,如SFP11.b。41位定点格式具体可以为1位符号,m=16位整数位,b=24位小数位代表的定点数,如SFP41.24。其中,规定定点数以2的补码表达。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,而浮点格式可以为半精度浮点格式,第一定点格式为11位定点格式,第二定点格式为41位定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,所述M个第一预设格式的数据包括1个半精度浮点格式的数据,以及2*N-2个半精度浮点格式的数据或者2*N-2个11位定点格式的数据。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,而浮点格式可以为半精度浮点格式,第一定点格式为11位定点格式,第二定点格式为41位定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,转换模块A01,包括:
第一转换单元,用于将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据;
第二转换单元,用于将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据。
其中,将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据可以通过FLP16转SFP41.24的转换器实现。这个转换器的运算是FLP16转SFP41.24,输入16位浮点,输出42位,包含SFP41.24的41位以及一位错误标志位,按FLP16的定义可知其转换过程。其中,可以规定INF(无穷大)、NAN(无效数字)等类型,转换后错误标志位设为有效,并将FLP16原始的二进制值复制到SFP41.24的固定的位置(比如低16位)。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,第二转换单元,用于将所述2*N-2个半精度浮点格式的数据分为N-1对半精度浮点格式的数据,将每一对半精度浮点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据;或者,将所述2*N-2个11位定点格式的数据分为N-1对11位定点格式的数据,将每一对11位定点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据。
以2*N-2个半精度浮点格式的数据为例,计算过程可通过FLP16乘法转SFP41.24的转换器实现。这个转换器执行的运算是FLP16转SFP41.24,输入2个16位浮点,输出41位和一个错误标志位(共42位),这个转换器的算法为:
(1)无论是normal number还是subnormal number,FLP16都可以表示为1位符号、11位无符号整数(normal number的最高位为0,subnormal number的最高位为1)与2的(指数-25)次幂的乘积。对于normal number这个指数即为浮点的指数,对于subnormal number这个指数恒为1。以其中一对半精度浮点格式的数据FLP0及FLP1为例。
其中,FLP0=A0*(2^(EXP0-25)),FLP1=A1*(2^(EXP1-25))。
(2)将整数部分做乘法,A=A0*A1,得到一个22位的A。
(3)将指数部分做加法,EXP=EXP0+EXP1-50
(4)将得到的结果转为SFP41.24格式。具体为,先计算EXPS=EXP+24=EXP0+EXP1-26。如果EXPS为0,则复制A得到输出;如果EXPS<0,则需要对A进行逻辑右移EXPS位;如果EXPS>0,则需要对A进行左移EXPS位。如果此时对SFP41.24格式溢出,则错误标志位设为有效,数据设置为INF。
(5)浮点计算如果没有发生溢出,最终结果根据符号位转为补码。
(6)该转换器支持11位定点计算,定点计算复用上述浮点计算的11位乘法器,输入复用16位浮点的符号位和尾数位,并预定输入为2的补码。乘法结束后得到22位数,不进行移位和补码转换,而是将符号位从22位扩展到41位。该模式下错误标志位为无效。
(7)有1位控制选择信号决定这个乘法器做定点还是浮点。
需要说明的是,在得到N-1个41位定点格式的数据之后,可将该N-1个41位定点格式的数据与上面由1个半精度浮点格式的数据转换得到的1个41位定点格式的数据进行相加,也即N个41位定点格式的数据进行相加。该相加过程可通过SFP41.24加法网络实现,该加法网络输入为N个点,输出为1个点,计算过程为对N点进行相加。该加法网络输入为SFP41.24格式和一个错误标志位,共42位。其中,SFP41.24格式部分按照常规加法进行,错误标志位有效则按IEEE 754规定传染运算,例如INF与INF相加得到INF等,最终可得到42+log2(N)位的输出。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,所述预设输出格式为半精度浮点格式或者11位定点格式。其中,预设输出模式可以由具体模式来确定,具体模式可以包括定点模式及浮点模式。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
在本发明任一上述具体实施例的基础上,提供一种定点与浮点数据计算装置,所述相加结果为41位定点格式;相应地,输出模块A03,用于当所述预设输出格式为半精度浮点格式且所述相加结果没有溢出时,则将所述相加结果转换为半精度浮点格式的数据并进行输出;若所述预设输出格式为11位定点格式,则将所述相加结果转换为11位定点格式并进行定点移位,将定点移位结果进行输出。
具体地,在定点模式下,可将最终输出的22+log2(N)位直接输出,并根据定点需要进行移位,该过程可通过定点快速通道实现。在浮点模式下,若错误标志位无效但发生了溢出(高log2(N)位非全0且非全1),则输出INF,这种情况可通过错误快速通道直接输出。若不是上述情况,则送入SFP41.24转FLP16转换器得到浮点结果。
需要说明的是,SFP41.24转FLP16转换器执行的运算是SFP41.24转FLP16,SFP41.24需要携带一个错误标志位,当这个错误标志位为有效的时候代表其为INF或者NAN。此时,直接输出SFP41.24的固定的位置的原始数据(比如低16位)。当这个错误标志位为无效的时候代表其为正常数,按FLP16的定义可知其转换过程。
本发明实施例提供的装置,由于第一预设格式为浮点格式或第一定点格式,从而可以对不同格式的数据进行计算,计算方法适应性更高。
举个例子如下:
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:将M个第一预设格式的数据转换为N个第二预设格式的数据;将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:将M个第一预设格式的数据转换为N个第二预设格式的数据;将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种定点与浮点数据计算方法,其特征在于,包括:
将M个第一预设格式的数据转换为N个第二预设格式的数据;
将N个第二预设格式的数据进行相加,根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
2.根据权利要求1所述的定点与浮点数据计算方法,其特征在于,所述浮点格式为半精度浮点格式,所述第一定点格式为11位定点格式,所述第二定点格式为41位定点格式。
3.根据权利要求2所述的定点与浮点数据计算方法,其特征在于,所述M个第一预设格式的数据包括1个半精度浮点格式的数据,以及2*N-2个半精度浮点格式的数据或者2*N-2个11位定点格式的数据。
4.根据权利要求3所述的定点与浮点数据计算方法,其特征在于,所述将M个第一预设格式的数据转换为N个第二预设格式的数据,包括:
将所述1个半精度浮点格式的数据转换为1个41位定点格式的数据;
将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据。
5.根据权利要求4所述的定点与浮点数据计算方法,其特征在于,所述将所述2*N-2个半精度浮点格式的数据或者所述2*N-2个11位定点格式的数据,转换为N-1个41位定点格式的数据,包括:
将所述2*N-2个半精度浮点格式的数据分为N-1对半精度浮点格式的数据,将每一对半精度浮点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据;或者,
将所述2*N-2个11位定点格式的数据分为N-1对11位定点格式的数据,将每一对11位定点格式的数据进行相乘,并将N-1个相乘结果转换为N-1个41位定点格式的数据。
6.根据权利要求2所述的定点与浮点数据计算方法,其特征在于,所述预设输出格式为半精度浮点格式或者11位定点格式。
7.根据权利要求6所述的定点与浮点数据计算方法,其特征在于,所述相加结果为41位定点格式;相应地,所述根据预设输出格式,对相加结果进行输出,包括:
若所述预设输出格式为半精度浮点格式且所述相加结果没有溢出,则将所述相加结果转换为半精度浮点格式的数据并进行输出;
若所述预设输出格式为11位定点格式,则将所述相加结果转换为11位定点格式并进行定点移位,将定点移位结果进行输出。
8.一种定点与浮点数据计算装置,其特征在于,包括:
转换模块,用于将M个第一预设格式的数据转换为N个第二预设格式的数据;
相加模块,用于将N个第二预设格式的数据进行相加;
输出模块,用于根据预设输出格式,对相加结果进行输出;其中,第一预设格式为浮点格式或第一定点格式,所述第二预设格式为第二定点格式,M=2*N-1,N为不小于1的整数。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被执行以实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910363758.4A CN110069240B (zh) | 2019-04-30 | 2019-04-30 | 定点与浮点数据计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910363758.4A CN110069240B (zh) | 2019-04-30 | 2019-04-30 | 定点与浮点数据计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069240A true CN110069240A (zh) | 2019-07-30 |
CN110069240B CN110069240B (zh) | 2021-09-03 |
Family
ID=67369909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910363758.4A Active CN110069240B (zh) | 2019-04-30 | 2019-04-30 | 定点与浮点数据计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069240B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688090A (zh) * | 2019-09-11 | 2020-01-14 | 北京探境科技有限公司 | 一种用于ai计算的浮点乘法计算方法、电路、设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US20040128331A1 (en) * | 2002-12-27 | 2004-07-01 | Hinds Christopher N. | Data processing apparatus and method for converting a number between fixed-point and floating-point representations |
CN102103479A (zh) * | 2011-03-02 | 2011-06-22 | 中兴通讯股份有限公司 | 浮点运算器及浮点运算的处理方法 |
CN102495719A (zh) * | 2011-12-15 | 2012-06-13 | 中国科学院自动化研究所 | 一种向量浮点运算装置及方法 |
CN103984522A (zh) * | 2014-05-27 | 2014-08-13 | 中国人民解放军国防科学技术大学 | Gpdsp中定点和浮点混合除法的实现方法 |
CN104778026A (zh) * | 2015-04-28 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种带simd的高速数据格式转换部件及转换方法 |
CN105468331A (zh) * | 2014-09-26 | 2016-04-06 | Arm有限公司 | 独立的浮点转换单元 |
CN106502626A (zh) * | 2016-11-03 | 2017-03-15 | 北京百度网讯科技有限公司 | 数据处理方法和装置 |
CN106557299A (zh) * | 2016-11-30 | 2017-04-05 | 上海兆芯集成电路有限公司 | 浮点操作数计算方法以及使用此方法的装置 |
CN107256140A (zh) * | 2017-06-09 | 2017-10-17 | 上海联影医疗科技有限公司 | 实现基于硬件加速的非标准浮点数重建算法的方法和设备 |
CN107330515A (zh) * | 2016-04-29 | 2017-11-07 | 北京中科寒武纪科技有限公司 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
CN108694038A (zh) * | 2017-04-12 | 2018-10-23 | 英特尔公司 | 专用处理块中的混合精度浮点运算电路 |
-
2019
- 2019-04-30 CN CN201910363758.4A patent/CN110069240B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US20040128331A1 (en) * | 2002-12-27 | 2004-07-01 | Hinds Christopher N. | Data processing apparatus and method for converting a number between fixed-point and floating-point representations |
CN102103479A (zh) * | 2011-03-02 | 2011-06-22 | 中兴通讯股份有限公司 | 浮点运算器及浮点运算的处理方法 |
CN102495719A (zh) * | 2011-12-15 | 2012-06-13 | 中国科学院自动化研究所 | 一种向量浮点运算装置及方法 |
CN103984522A (zh) * | 2014-05-27 | 2014-08-13 | 中国人民解放军国防科学技术大学 | Gpdsp中定点和浮点混合除法的实现方法 |
CN105468331A (zh) * | 2014-09-26 | 2016-04-06 | Arm有限公司 | 独立的浮点转换单元 |
CN104778026A (zh) * | 2015-04-28 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种带simd的高速数据格式转换部件及转换方法 |
CN107330515A (zh) * | 2016-04-29 | 2017-11-07 | 北京中科寒武纪科技有限公司 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN106502626A (zh) * | 2016-11-03 | 2017-03-15 | 北京百度网讯科技有限公司 | 数据处理方法和装置 |
CN106557299A (zh) * | 2016-11-30 | 2017-04-05 | 上海兆芯集成电路有限公司 | 浮点操作数计算方法以及使用此方法的装置 |
CN108694038A (zh) * | 2017-04-12 | 2018-10-23 | 英特尔公司 | 专用处理块中的混合精度浮点运算电路 |
CN107256140A (zh) * | 2017-06-09 | 2017-10-17 | 上海联影医疗科技有限公司 | 实现基于硬件加速的非标准浮点数重建算法的方法和设备 |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
Non-Patent Citations (1)
Title |
---|
LANCE SALDANHA 等: "Float-to-fixed and fixed-to-float hardware converters for rapid hardware/software partitioning of floating point software applications to static and dynamic fixed point coprocessors", 《DESIGN AUTOMATION FOR EMBEDDED SYSTEMS 》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688090A (zh) * | 2019-09-11 | 2020-01-14 | 北京探境科技有限公司 | 一种用于ai计算的浮点乘法计算方法、电路、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110069240B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4080351A1 (en) | Arithmetic logic unit, and floating-point number multiplication calculation method and device | |
CN107451658B (zh) | 浮点运算定点化方法及系统 | |
US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
US9552189B1 (en) | Embedded floating-point operator circuitry | |
CN114546330B (zh) | 函数实现方法、逼近区间分段方法、芯片、设备及介质 | |
US5148386A (en) | Adder-subtracter for signed absolute values | |
JPS6360417B2 (zh) | ||
CN117111881B (zh) | 支持多输入多格式的混合精度乘加运算器 | |
CN110069240B (zh) | 定点与浮点数据计算方法及装置 | |
CN113625989B (zh) | 数据运算装置、方法、电子设备及存储介质 | |
CN112711441A (zh) | 用于转换数据类型的转换器、芯片、电子设备及其方法 | |
WO2021136259A1 (zh) | 浮点数乘法计算的方法、装置和算术逻辑单元 | |
US9400635B1 (en) | Methods and apparatus for performing dynamic data alignment for floating-point operations | |
EP0366155A2 (en) | Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication | |
JPH11212768A (ja) | 対数値算出回路 | |
CN112711440A (zh) | 用于转换数据类型的转换器、芯片、电子设备及其方法 | |
CN113377334B (zh) | 一种浮点数据处理方法、装置及存储介质 | |
EP3647939A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
CN115840556A (zh) | 一种基于6位近似全加器的2组有符号张量计算电路结构 | |
CN114416021A (zh) | 一种用于存算融合式处理器架构的定点数据动态截位方法 | |
CN117785113B (zh) | 计算装置及方法、电子设备和存储介质 | |
CN111313906A (zh) | 一种浮点数的转换电路 | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
CN113625990B (zh) | 浮点转定点装置、方法、电子设备及存储介质 | |
TWI804043B (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Calculation methods and devices for fixed-point and floating-point data Granted publication date: 20210903 Pledgee: Jiang Wei Pledgor: BEIJING INTENGINE TECHNOLOGY Co.,Ltd. Registration number: Y2024980019734 |