【技术实现步骤摘要】
本专利技术涉及微处理器的数据处理加速,具体涉及一种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位双...
【专利技术属性】
技术研发人员:姜浩,漆海俊,苏醒,黄春,唐滔,易昕,鲁轻风,陈磊,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。