一种FP170高精度矩阵乘法的实现方法及装置制造方法及图纸

技术编号:42114816 阅读:28 留言:0更新日期:2024-07-25 00:35
本发明专利技术公开了一种FP170高精度矩阵乘法的实现方法及装置,本发明专利技术方法包括将矩阵A、矩阵B和矩阵C中的FP170矩阵元素映射为64位双精度类型浮点数并存储在内存中;从内存空间取出代表矩阵A中元素a<subgt;ij</subgt;的一组64位双精度类型浮点数、矩阵B中元素b<subgt;ij</subgt;的一组64位双精度类型浮点数暂存到CPU中的向量寄存器中,通过CPU中的运算部件计算得到结果并存储到由矩阵C中元素c<subgt;ij</subgt;的一组64位双精度类型浮点数表示的高精度矩阵C中。本发明专利技术旨在针对缺乏FP170高精度计算硬件支持的条件实现面向FP170矩阵元素的高精度矩阵乘运算,满足某些场景下对高精度矩阵乘结果的需求,同时实现高精度矩阵乘法运算的加速。

【技术实现步骤摘要】

本专利技术涉及微处理器的数据处理加速,具体涉及一种fp170高精度矩阵乘法的实现方法及装置。


技术介绍

1、由于浮点运算有舍入误差,在一些对安全至关重要的应用中,如航空电子和汽车,这些舍入误差的积累将导致一个关键问题。当双精度精度不够时,计算值中的大多数位可能为假。因此,需要更高精度的操作。由于大多数现代处理器只支持双精度,因此通常需要更高精度的操作。在科学计算中,一般矩阵乘法起着重要的作用,它是基本线性代数子程序库(blas)的核心。为了在各种硬件平台上实现高精度,科学家们开发了各种blas库。常用的高精度blas库的ozblas,不仅在cpu和gpu上都实现了包括正确舍入在内的可调精度,还兼具计算结果的可复现性,然而ozblas只是为了演示论文中提出的方法,在实际应用中的性能并不理想。如何对高精度矩阵乘做合理有效的优化,一直相关科研工作者关注的重点。

2、对浮点标量α和β,m行k列的浮点矩阵am×k(简称矩阵a),k行n列的浮点矩阵bk×n(简称矩阵b),以及m行n列的浮点矩阵cm×n(简称矩阵c),需要完成以下矩阵乘法运算:

本文档来自技高网...

【技术保护点】

1.一种FP170高精度矩阵乘法的实现方法,其特征在于,包括:

2.根据权利要求1所述的FP170高精度矩阵乘法的实现方法,其特征在于,步骤S101中的矩阵A包含三组分别代表其高位、中位和低位的矩阵AH、AM和AL,矩阵AH、AM和AL的大小均为m行k列;矩阵B包含三组分别代表其高位、中位和低位的矩阵BH、BM和BL,矩阵BH、BM和BL的大小均为k行n列,矩阵C包含三组分别代表其高位、中位和低位的矩阵CH、CM和CL,矩阵CH、CM和CL的大小均为m行n列。

3.根据权利要求1所述的FP170高精度矩阵乘法的实现方法,其特征在于,步骤S102中分别从内存空间取出...

【技术特征摘要】

1.一种fp170高精度矩阵乘法的实现方法,其特征在于,包括:

2.根据权利要求1所述的fp170高精度矩阵乘法的实现方法,其特征在于,步骤s101中的矩阵a包含三组分别代表其高位、中位和低位的矩阵ah、am和al,矩阵ah、am和al的大小均为m行k列;矩阵b包含三组分别代表其高位、中位和低位的矩阵bh、bm和bl,矩阵bh、bm和bl的大小均为k行n列,矩阵c包含三组分别代表其高位、中位和低位的矩阵ch、cm和cl,矩阵ch、cm和cl的大小均为m行n列。

3.根据权利要求1所述的fp170高精度矩阵乘法的实现方法,其特征在于,步骤s102中分别从内存空间取出代表矩阵a中的任意第i行j列的fp170矩阵元素aij的一组64位双精度类型浮点数(ahij,amij,alij)、矩阵b中的任意第i行j列的fp170矩阵元素bij的一组64位双精度类型浮点数(bhij,bmij,blij)暂存到cpu中的向量寄存器中时,64位双精度类型浮点数ahij为从矩阵ah中读取,64位双精度类型浮点数amij为从矩阵am中读取,64位双精度类型浮点数alij为从矩阵al中读取,64位双精度类型浮点数bhij为从矩阵bh中读取,64位双精度类型浮点数bmij为从矩阵bm中读取,64位双精度类型浮点数blij为从矩阵bl中读取。

4.根据权利要求1所述的fp170高精度矩阵乘法的实现方法,其特征在于,步骤s101中将面向fp170矩阵元素的高精度矩阵乘法c=αab+βc中由fp170矩阵元素组成的矩阵a、矩阵b和矩阵c中的fp170矩阵元素映射为3×64为一组的64位双精度类型浮点数并存储在物理内存中之前,包括将矩阵a将被划分为若干个大小为mr×ks块矩阵,将矩阵b将被划分为若干个大小为ks×nt块矩阵,其中mr为矩阵a在行方向上的分块大小,ks为矩阵a在列方向上以及为矩阵b在行方向上的分块大小,nt为矩阵b在列方向上的分块大小,且有mr小于矩阵a的行维度m,ks小于矩阵a的列维度以及矩阵b的行维度k,nt小于矩阵b的列维度n。

5.根据权利要求1所述的fp170高精度矩阵乘法的实现方法,其特征在于,步骤s101中将面向fp170矩阵元素的高精度矩阵乘法c=αab+βc中由fp170矩阵元素组成的矩阵a、矩阵b和矩阵c中的fp170矩阵元素映射为3×64为一组的64位双精度类型浮点数并存储在物理内存中时还包括:将矩阵a中的元素(ahij,amij,alij)按照组相联的映射方式变换成缓冲地址,以64位数据为操作的粒度、以1个缓冲行的数据为一组拷贝矩阵ah,每个组共4个64位双...

【专利技术属性】
技术研发人员:姜浩漆海俊苏醒黄春唐滔易昕鲁轻风陈磊
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1