数据处理方法、装置、计算装置、图形处理器和存储介质与流程

文档序号:37463476发布日期:2024-03-28 18:46阅读:13来源:国知局
数据处理方法、装置、计算装置、图形处理器和存储介质与流程

本公开涉及处理器,尤其涉及一种数据处理方法、装置、计算装置、图形处理器和存储介质。


背景技术:

1、目前主流计算机芯片中浮点数计算都遵循相应的标准,例如ieee754标准,无论计算结果是否为规格化数,最后都要将计算结果按照标准规定的格式进行输出。通常,在计算过程中很可能得到一个不符合标准格式的浮点数计算结果,因此需要对其进行处理,以得到一个符合标准格式的计算结果。

2、而根据传统办法进行处理得到的结果,舍入操作对应的粘滞位(sticky bit)既可能出现在计算结果尾数的范围内,也可能出现在计算结果尾数的范围外。这样,运算单元在进行舍入操作时就需要判断两种不同的粘滞位。且如果计算单元同时支持多种目标格式的浮点数计算结果,按照传统方法处理得到的结果,尾数的保留位(guard bit)、近似位(round bit)和粘滞位可能出现在不同的位置,这样运算单元需要根据目标格式进行选择后才能进行舍入操作,增加了硬件资源的负担,降低了硬件的工作效率。因此,亟需一种新型的方法以节省硬件的计算资源和运算时间。


技术实现思路

1、有鉴于此,本公开提出了一种数据处理方法、装置、计算装置、图形处理器和存储介质。

2、根据本公开的一方面,提供了一种数据处理方法。该方法可用于计算单元,计算单元包括运算单元和移位器,该方法可包括:

3、移位器获取运算单元输出的中间计算结果,中间计算结果为浮点数;

4、移位器对中间计算结果的尾数进行移位处理,输出目标计算结果,目标计算结果中尾数的最低位为舍入操作对应的近似位,近似位用于运算单元对目标计算结果进行舍入操作。

5、在一种可能的实现方式中,移位器对中间计算结果的尾数进行移位处理,输出目标计算结果,包括:

6、移位器基于对中间计算结果的尾数向左移动/向右移动的第一位数和对中间计算结果的尾数向右移动的第二位数,确定对中间计算结果的尾数进行移位的目标位数;

7、移位器基于目标位数,对中间计算结果的尾数进行移位处理,输出目标计算结果。

8、在一种可能的实现方式中,第二位数基于中间计算结果的尾数位宽与目标浮点数格式的尾数位宽的差值确定。

9、在一种可能的实现方式中,在中间计算结果的尾数最高位对应的指数与中间计算结果的尾数中前导零数量的差值不小于目标浮点数格式的指数最小值情况下,第一位数基于中间计算结果的尾数中前导零数量确定。

10、在一种可能的实现方式中,在中间计算结果的尾数最高位对应的指数与中间计算结果的尾数中前导零数量的差值小于目标浮点数格式的指数最小值情况下,第一位数基于中间计算结果的尾数最高位对应的指数与目标浮点数格式的指数最小值的差值确定。

11、在一种可能的实现方式中,移位器基于对中间计算结果的尾数向左移动/向右移动的第一位数和对中间计算结果的尾数向右移动的第二位数,确定对中间计算结果的尾数进行移位的目标位数,包括:

12、移位器基于第一位数与第二位数的差值,确定对中间计算结果的尾数进行移位的目标位数。

13、在一种可能的实现方式中,移位器基于目标位数,对中间计算结果的尾数进行移位处理,输出目标计算结果,包括:

14、移位器在目标位数不小于零的情况下,对中间计算结果的尾数向左移动目标位数,输出目标计算结果;否则,

15、移位器在目标位数小于零的情况下,对中间计算结果的尾数向右移动目标位数的绝对值,输出目标计算结果。

16、在一种可能的实现方式中,在对中间计算结果的尾数向左移动的情况下,舍入操作对应的粘滞位为零;

17、在对中间计算结果的尾数向右移动的情况下,舍入操作对应的粘滞位为向右移出的部分。

18、在一种可能的实现方式中,目标浮点数格式为ieee754标准规定的格式。

19、在一种可能的实现方式中,计算单元包括图形处理器gpu的算术逻辑单元alu。

20、根据本公开的另一方面,提供了一种计算装置。该计算装置可包括:

21、移位器,用于获取运算单元输出的中间计算结果,中间计算结果为浮点数,对中间计算结果的尾数进行移位处理,输出目标计算结果,目标计算结果中尾数的最低位为舍入操作对应的近似位;

22、运算单元,用于输出中间计算结果,并对目标计算结果进行舍入操作。

23、在一种可能的实现方式中,对中间计算结果的尾数进行移位处理,输出目标计算结果,包括:

24、基于对中间计算结果的尾数向左移动/向右移动的第一位数和对中间计算结果的尾数向右移动的第二位数,确定对中间计算结果的尾数进行移位的目标位数;

25、基于目标位数,对中间计算结果的尾数进行移位处理,输出目标计算结果。

26、在一种可能的实现方式中,第二位数基于中间计算结果的尾数位宽与目标浮点数格式的尾数位宽的差值确定。

27、在一种可能的实现方式中,在中间计算结果的尾数最高位对应的指数与中间计算结果的尾数中前导零数量的差值不小于目标浮点数格式的指数最小值情况下,第一位数基于中间计算结果的尾数中前导零数量确定。

28、在一种可能的实现方式中,在中间计算结果的尾数最高位对应的指数与中间计算结果的尾数中前导零数量的差值小于目标浮点数格式的指数最小值情况下,第一位数基于中间计算结果的尾数最高位对应的指数与目标浮点数格式的指数最小值的差值确定。

29、在一种可能的实现方式中,基于对中间计算结果的尾数向左移动/向右移动的第一位数和对中间计算结果的尾数向右移动的第二位数,确定对中间计算结果的尾数进行移位的目标位数,包括:

30、基于第一位数与第二位数的差值,确定对中间计算结果的尾数进行移位的目标位数。

31、在一种可能的实现方式中,基于目标位数,对中间计算结果的尾数进行移位处理,输出目标计算结果,包括:

32、在目标位数不小于零的情况下,对中间计算结果的尾数向左移动目标位数,输出目标计算结果;否则,

33、在目标位数小于零的情况下,对中间计算结果的尾数向右移动目标位数的绝对值,输出目标计算结果。

34、在一种可能的实现方式中,在对中间计算结果的尾数向左移动的情况下,舍入操作对应的粘滞位为零;

35、在对中间计算结果的尾数向右移动的情况下,舍入操作对应的粘滞位为向右移出的部分。

36、在一种可能的实现方式中,目标浮点数格式为ieee754标准规定的格式。

37、在一种可能的实现方式中,计算单元包括图形处理器gpu的算术逻辑单元alu。

38、根据本公开的另一方面,提供了一种图形处理器,包括:如上述的计算装置。

39、根据本公开的另一方面,提供了一种数据处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。

40、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

41、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在数据处理装置的处理器中运行时,所述数据处理装置中的处理器执行上述方法。

42、根据本技术实施例,通过使移位器对获取到的运算单元输出的中间计算结果的尾数进行移位处理后,目标计算结果中尾数的最低位为舍入操作对应的近似位,此时粘滞位在最低位之外,可以使运算单元在对目标计算结果进行舍入操作时只需处理一种情况下的粘滞位,且无需根据目标浮点数格式从不同的位置对保留位、近似位和粘滞位进行选择,可以直接提取,通过移位器工作方式的改进,以及移位器于运算单元之间协作方式的改进,使得运算单元处理压力降低,处理速度提高,提升了运算单元的计算效率,节省了硬件的计算资源和运算时间。

43、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1