本申请涉及计算机,尤其涉及一种基于异构众核的对界融合批量浮点精度转换方法。
背景技术:
1、混合精度矩阵乘是在矩阵乘c=a×b中,降低输入矩阵a和b的精度来提高矩阵乘计算性能的方法。由于异构众核架构单精度浮点数和双精度浮点数的向量长度相同,因此异构众核架构的单精度浮点性能和双精度浮点性能相同。若将矩阵乘的输入矩阵由双精度降低为单精度,则可以有效降低向计算核心阵列加载的数据量,提高矩阵计算的整体效率。
2、通常的矩阵数据精度转换方法是对矩阵数据进行遍历,逐一转换矩阵中每个数据的精度。常用的精度转换方法的时间开销和矩阵中元素个数成正比,当矩阵规模变大时,其时间开销线性增长,使得数据精度转换开销抵消了相当部分使用混合精度带来的性能提升,削弱了混合精度优化的优化效果。
技术实现思路
1、本申请实施例提供了一种基于异构众核的对界融合批量浮点精度转换方法,以提高数据精度转换效率。
2、根据本申请的一方面,提供了一种基于异构众核的对界融合批量浮点精度转换方法,该方法包括:
3、将目标矩阵数据中同一预设维度的数据作为一个子矩阵数据;其中,预设维度为行或者列;
4、根据所述子矩阵数据的数据量以及所述计算核心的局部存储空间,确定需要所述计算核心处理的目标子矩阵数据以及处理方式;
5、通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理。
6、根据本申请的一方面,提供了一种基于异构众核的对界融合批量浮点精度转换装置,所述装置包括:
7、子矩阵数据确定模块,用于将目标矩阵数据中同一预设维度的数据作为一个子矩阵数据;其中,预设维度为行或者列;
8、比较模块,用于根据所述子矩阵数据的数据量以及所述计算核心的局部存储空间,确定需要所述计算核心处理的目标子矩阵数据以及处理方式;
9、处理模块,用于通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理。
10、根据本申请的另一方面,提供了一种电子设备,该电子设备包括:
11、至少一个处理器;以及
12、与至少一个处理器基于异构众核的对界融合批量浮点精度转换连接的存储器;其中,
13、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本申请任一实施例的基于异构众核的对界融合批量浮点精度转换方法。
14、根据本申请的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本申请任一实施例的基于异构众核的对界融合批量浮点精度转换方法。
15、本申请实施例的技术方案,将目标矩阵数据中同一预设维度的数据作为一个子矩阵数据;其中,预设维度为行或者列;根据所述子矩阵数据的数据量以及所述计算核心的局部存储空间,确定需要所述计算核心处理的目标子矩阵数据以及处理方式;通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理。上述方案能够解决目前遍历目标矩阵数据进行精度转换过程中,数据访问量大、效率低的问题,从而通过异构众核结构对目标矩阵数据并行同时处理,提高能够同时处理的数据量,提高精度转换效率,实现对数据类型转换过程的加速。
16、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
1.一种基于异构众核的对界融合批量浮点精度转换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述子矩阵数据的数据量以及所述计算核心的局部存储空间,确定需要所述计算核心处理的目标子矩阵数据以及处理方式,包括:
3.根据权利要求2所述的方法,其特征在于,将一个子矩阵数据作为一个计算核心的目标子矩阵数据,包括:
4.根据权利要求2所述的方法,其特征在于,将目标数量个子矩阵数据作为一个计算核心的目标子矩阵数据,包括:
5.根据权利要求1所述的方法,其特征在于,通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理,包括:
6.根据权利要求1所述的方法,其特征在于,通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理,包括:
7.根据权利要求1所述的方法,其特征在于,通过所述计算核心基于所述处理方式对所述目标子矩阵数据进行处理之后,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的方法,其特征在于,对所述目标子矩阵数据进行处理包括混合精度矩阵乘过程中的精度转换。