[发明专利]一种48位混合精度矩阵向量乘法实现方法及装置在审
申请号: | 202310256795.1 | 申请日: | 2023-03-16 |
公开(公告)号: | CN116304513A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 姜浩;黄春;唐滔;鲁轻风;陈磊;于恒彪;沈洁;彭林;漆海俊 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/30;G06F9/315 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 48 混合 精度 矩阵 向量 乘法 实现 方法 装置 | ||
1.一种48位混合精度矩阵向量乘法实现方法,其特征在于,包括:
S101,针对48位混合精度矩阵向量乘法y=αAx+βy,从内存空间取出64位双精度类型的矩阵A中的元素aij,将各元素aij强制转换为48位的元素aij′并组成双精度类型的矩阵A′;
S102,将矩阵A′暂存到CPU中的向量寄存器中,通过CPU中的运算部件基于矩阵A′计算得到48位混合精度矩阵向量乘法y=aAx+βy的计算结果。
2.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S101中的48位混合精度矩阵向量乘法y=αAx+βy中,x∈Rn和y∈Rm为双精度类型的向量,A为m行n列的矩阵,α和β为双精度类型的标量,n为向量x的维度,m为向量y的维度。
3.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S101中将各元素aij强制转换为48位的元素aij′包括:将元素aij强制转换为16位整数类型,拷贝出首地址指向aij的第一个16位,将指针的首地址指向aij的第17位拷贝出第二个16位,将指针的首地址指向aij的第33位拷贝出第三个16位,最后将拷贝出来的三个16位按顺序组合成一个48位的元素aij′。
4.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S101中组成双精度类型的矩阵A′时,矩阵A′被划分为若干个大小为mr×n块矩阵,mr为矩阵A′的分块大小,且有mr小于向量y的维度m。
5.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S101中组成双精度类型的矩阵A′时还包括将矩阵A′重排后放入缓冲中:将矩阵A′中的元素aij′按照组相联的映射方式变换成缓冲地址,以16位数据为操作的粒度、以4个缓冲行的数据为一组进行拷贝,每个组共32个64位双精度类型的元素aij,以16位数据为操作的粒度、变换为128个16位整数类型的位置,再舍掉每个元素aij的最后16位之后,剩下96个16位整数类型的数形成3个缓冲行的新数据,使得矩阵A′变成矩阵A的3/4大小。
6.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S102中将矩阵A′暂存到CPU中的向量寄存器包括通过16位数据载入指令在向量寄存器的每64位单元的前48位载入元素aij′的3个16位的数据、后16位则置为0,从而将矩阵A′中元素aij′转换为64位类型的元素aij″。
7.根据权利要求1所述的48位混合精度矩阵向量乘法实现方法,其特征在于,步骤S102中通过CPU中的运算部件基于矩阵A′计算得到48位混合精度矩阵向量乘法y=αAx+βy的计算结果包括:针对48位混合精度矩阵向量乘法y=αAx+βy的所需的向量x、向量y、标量α和标量β,分别载入原始的64位双精度数据,然后重复每次取多个64位类型的元素aij″与向量αx中对应的元素根据IEEE 754双精度标准来做乘法运算并累加到向量βy的位置,直到计算结束。
8.根据权利要求7所述的48位混合精度矩阵向量乘法实现方法,其特征在于,所述CPU中的向量寄存器为256位寄存器,所述重复每次取多个64位类型的元素aij″是指重复每次取4个64位类型的元素aij″。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310256795.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于加工石材的铣磨床及其使用方法
- 下一篇:一种全自动涂胶机