一种浮点数处理方法及装置的制造方法_3

文档序号:9471123阅读:来源:国知局
阶后X = 2Ey*Mx丨;
[0155]分段转换模块205,用于将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数;
[0156]具体的,在实际应用中,尾数分段的位数不大于22。
[0157]具体的,若Ex多Ey,本发明所示实施例的分段转换模块205,具体可以用于:
[0158]X的尾数
[0159]Mx= Μχη*(ΜΛ )n+Mxn ^(Ma )η '+…+Mxn ^(Ma )η 彳…+Μχ0*(ΜΛ )°;
[0160]Y的尾数
[0161]My- =My, n*(MA)n+My, η1*(ΜΛ)η1+…+My, n ^ (ΜΛ )η 彳…+My, 0*(ΜΛ)°;其中,
[0162]n ^ i ^ O ;ΜΔ = 2m;m 22 ;
[0163]具体的,若Ex〈Ey,本发明所示实施例的分段转换模块205,具体可以用于:
[0164]X的尾数
[0165]Mx, = Mx, η*(ΜΛ )n+Mx, n ^(Ma)" 4…+Mx, η ^(ΜΔ )η 八…+Mx, 0*(ΜΔ )°;
[0166]Y的尾数
[0167]My= Myn*(MA )n+Myn ^(Ma )n '+…+Myn ^(ΜΔ )n J+…+My0*(ΜΛ )0;其中,
[0168]n ^ j ^ O ;Μδ = 2m;m 22。
[0169]计算模块206,用于根据所述运算法则获得模块获得的运算法则,分别计算X和Y的尾数相应段数据的结果;
[0170]尾数生成模块207,用于根据计算模块206计算得到的每段数据的结果,生成最终的尾数;
[0171]计算结果生成模块208,用于根据尾数生成模块207生成的最终的尾数和对阶模块204对阶后的阶码,生成计算结果;
[0172]规格化模块209,用于对计算结果生成模块208生成的计算结果规格化处理,得到最终计算结果。
[0173]应用本发明图2所示实施例,将高精度的浮点数的尾数进行分段,将每段尾数转化为单精度浮点数进行计算,使得不具备双精度浮点数计算能力的中低端GPU产品具备高精度浮点数的计算能力,提高了中低端GPU产品对高精度浮点数的计算能力。
[0174]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0175]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0176]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0177]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 。弪
K 8/8 < Zo
【主权项】
1.一种浮点数处理方法,其特征在于,包括: 获得第一目标浮点数X和第二目标浮点数Y,其中,X = 2Ex*Mx,Y = 2Ey*MY; 获得X与Y的运算法则,所述运算法则为加法或减法; 判断X和Y是否均不为零; 如果X和Y均不为零,则对阶所述第一目标浮点数X和所述第二目标浮点数Y,以使所述第一目标浮点数X和所述第二目标浮点数Y的阶码相同,其中,若Ex彡Ey,则对阶后Y =2Ex*My ',若 Ex〈Ey,则对阶后 X = 2Ey*Mx'; 将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数; 根据获得的运算法则,分别计算X和Y的尾数相应段数据的结果; 根据计算得到的每段数据的结果,生成最终的尾数; 根据生成的最终的尾数和对阶后的阶码,生成计算结果; 对生成的计算结果规格化处理,得到最终计算结果。2.根据权利要求1所述的方法,其特征在于,所述第一目标浮点数和/或所述第二目标浮点数,包括: 双精度浮点数;或单精度扩展浮点数;或双精度扩展浮点数;或满足预设表达式的浮点数。3.根据权利要求2所述的方法,其特征在于,所述预设表达式,包括:(_1)S*M*2E,其中, (_1)5为符号位;M为有效数字,且I < M < 2 ;E为阶码。4.根据权利要求1所述的方法,其特征在于, 尾数分段的位数不大于22。5.根据权利要求1所述的方法,其特征在于, 若Ex多Ey,所述将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数,包括: X的尾数Mx=M χη* (Μδ )n+Mxn ^ (Μδ )η 4…+Mxn ^ (Μδ )η >…+Mx0* (Μδ )°; Y的尾数 Μγ, =My- η*(ΜΔ)η+Μγ- η1*(ΜΛ)η1+…+My, ηι*(ΜΛ)η1+…+My, 0*(ΜΛ)°;其中, η ^ i ^ O ;ΜΔ = 2m;m 彡 22 ; 若Ex〈Ey,所述将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数,包括: X的尾数Μχ, =Mx- η*(ΜΛ)η+Μχ, η1*(ΜΛ)η1+…+Mx, η^(ΜΛ)η?+…+Mx, 0*(ΜΔ)°; Y的尾数My=M yn* (Μδ ) n+Myn ^ (Μδ )n k…+Myn 产(Μδ )n 外…+My。* (ΜΛ ) ?;其中,n ^ j ^ O ;ΜΔ = 2m;m 彡 22。6.一种浮点数处理装置,其特征在于,包括:浮点数获得模块、运算法则获得模块、判断模块、对阶模块、分段转换模块、计算模块、尾数生成模块、计算结果生成模块和规格化模块,其中, 所述浮点数获得模块,用于获得第一目标浮点数X和第二目标浮点数Y,其中,X =2Ex*Mx,Y = 2Ey*MY; 所述运算法则获得模块,用于获得X与Y的运算法则,所述运算法则为加法或减法; 所述判断模块,用于判断X和Y是否均不为零; 所述对阶模块,用于在所述判断模块判断X和Y均不为零的情况下,对阶所述第一目标浮点数X和所述第二目标浮点数Y,以使所述第一目标浮点数X和所述第二目标浮点数Y的阶码相同,其中,若Ex彡Ey,则对阶后Y = 2Ex*My丨,若Ex〈Ey,则对阶后X = 2Ey*Mx丨; 所述分段转换模块,用于将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数; 所述计算模块,用于根据所述运算法则获得模块获得的运算法则,分别计算X和Y的尾数相应段数据的结果; 所述尾数生成模块,用于根据所述计算模块计算得到的每段数据的结果,生成最终的尾数; 所述计算结果生成模块,用于根据所述尾数生成模块生成的最终的尾数和所述对阶模块对阶后的阶码,生成计算结果; 所述规格化模块,用于对所述计算结果生成模块生成的计算结果规格化处理,得到最终计算结果。7.根据权利要求6所述的装置,其特征在于,所述第一目标浮点数和/或所述第二目标浮点数,包括: 双精度浮点数;或单精度扩展浮点数;或双精度扩展浮点数;或满足预设表达式的浮点数。8.根据权利要求7所述的装置,其特征在于,所述预设表达式,包括: (_1)S*M*2E,其中, (_1)5为符号位;M为有效数字,且I < M < 2 ;E为阶码。9.根据权利要求6所述的装置,其特征在于, 尾数分段的位数不大于22。10.根据权利要求6所述的装置,其特征在于,若Ex多Ey,所述分段转换模块,具体用于: X的尾数Mx=M χη* (Μδ )n+Mxn ^ (Μδ )η 4…+Mxn ^ (Μδ )η >…+Mx0* (Μδ )°; Y的尾数 Μγ, =My- η*(ΜΔ)η+Μγ- η1*(ΜΛ)η1+…+My, ηι*(ΜΛ)η1+…+My, 0*(ΜΛ)°;其中, η ^ i ^ O ;ΜΔ = 2m;m 彡 22 ; 若Ex〈Ey,所述分段转换模块,具体用于: X的尾数Μχ, =Mx- η*(ΜΛ)η+Μχ, η1*(ΜΛ)η1+…+Mx, η^(ΜΛ)η?+…+Mx, 0*(ΜΔ)°; Y的尾数My=M yn* (Μδ ) n+Myn ^ (Μδ )n k…+Myn 产(Μδ )n 外…+My。* (ΜΛ ) ?;其中,n ^ j ^ O ;ΜΔ = 2m;m 彡 22。
【专利摘要】本发明实施例公开了一种浮点数处理方法及装置,方法包括:获得第一目标浮点数X和第二目标浮点数Y;获得X与Y的运算法则;判断X和Y是否均不为零;如果X和Y均不为零且X和Y的阶码不相等,则对阶X和Y;将对阶后的X和Y的尾数分别进行分段,并将每段数据转换成单精度浮点数;分别计算X和Y的尾数相应段数据的结果;根据计算得到的每段数据的结果,生成最终的尾数;进而生成计算结果;并对计算结果规格化处理。应用本发明实施例,将高精度的浮点数的尾数进行分段,将每段尾数转化为单精度浮点数进行计算,使得不具备双精度浮点数计算能力的中低端GPU产品具备高精度浮点数的计算能力,提高了中低端GPU产品对高精度浮点数的计算能力。
【IPC分类】G06F7/57
【公开号】CN105224283
【申请号】CN201510629933
【发明人】潘昊
【申请人】北京奇艺世纪科技有限公司
【公开日】2016年1月6日
【申请日】2015年9月29日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1