[发明专利]一种对称矩阵与向量相乘的并行计算方法及其系统在审
| 申请号: | 202210445587.1 | 申请日: | 2022-04-26 |
| 公开(公告)号: | CN114780913A | 公开(公告)日: | 2022-07-22 |
| 发明(设计)人: | 王华明;刘郴 | 申请(专利权)人: | 浙江凌迪数字科技有限公司 |
| 主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/50 |
| 代理公司: | 深圳智趣知识产权代理事务所(普通合伙) 44486 | 代理人: | 崔艳峥 |
| 地址: | 310016 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 对称 矩阵 向量 相乘 并行 计算方法 及其 系统 | ||
1.一种对称矩阵与向量相乘的并行计算方法,其特征在于,包括:
获取待计算的对称矩阵和向量,确定全部线程可并行计算的线程数;
以对称轴为界将所述对称矩阵划分为对称轴区域、上三角区域和下三角区域,将上三角区域或下三角区域以行为单位按照线程数分别划分多个子区域;在每个子区域中,划定与所述对称轴平行的第一轴和/或第二轴,所述第一轴上元素的数量等于所述线程数,所述第二轴上元素的数量小于所述线程数;
采用全部或部分线程并行计算所述对称轴区域与所述向量的乘积得到第一矩阵,将所述第一矩阵写入第一寄存器、第二寄存器或第三寄存器;
在每个子区域中,依序选定一个第一轴作为当前第一轴,采用全部线程对当前第一轴进行两次不同的第一乘法计算,得到两组不同的数据并分别写入第一寄存器和第二寄存器;
在每个子区域中,依序选定一个或两个第二轴作为当前第二轴,采用全部或部分线程对当前第二轴进行两次不同的第二乘法计算,得到两组不同的数据并分别写入第一寄存器和第二寄存器,或得到四组不同的数据并分别写入第一寄存器、第二寄存器和第三寄存器;
完成所述对称轴区域和各个子区域的计算后,基于第一寄存器、第二寄存器和第三寄存器中累加的数据构建矩阵,得到对称矩阵与向量相乘的计算结果。
2.根据权利要求1所述的并行计算方法,其特征在于,当所述线程数大于1时,将所述子区域分为第一子区域和第二子区域,所述第一子区域的行数等于所述线程数,所述第二子区域的行数小于所述线程数;
所述上三角区域或所述下三角区域中至少有一个第一子区域;
在每个第一子区域中,划定第一轴和第二轴;
在每个第二子区域中,划定第二轴。
3.根据权利要求1所述的并行计算方法,其特征在于,所述第二轴分为具备互补关系的第二轴和不具备互补关系的第二轴;
所述互补关系具体表现为:在同一子区域中,存在两个第二轴在元素数量之和上等于所述线程数;
当某一子区域中存在具备互补关系的第二轴时,则依序选定两个具备互补关系的第二轴作为当前第二轴,对当前第二轴分别进行两次乘法计算后,得到四组不同的数据。
4.根据权利要求1所述的并行计算方法,其特征在于,所述第一乘法计算包括:
当前第一轴上的元素ai,j,与向量中的元素xj进行一次乘法运算得到ai,jxj,与向量中的元素xi进行一次乘法运算得到ai,jxi;
将ai,jxj累加到第一寄存器所存储矩阵的第i行ri中;
将ai,jxi累加到第二寄存器所存储矩阵的第j行yj中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江凌迪数字科技有限公司,未经浙江凌迪数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210445587.1/1.html,转载请声明来源钻瓜专利网。





