[发明专利]基于CSR特点对稀疏稠密矩阵乘法并行算法的优化方法在审
申请号: | 202111355302.7 | 申请日: | 2021-11-16 |
公开(公告)号: | CN114048035A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 郑江;黄聃;陈志广;卢宇彤 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F7/523;G06F17/16 |
代理公司: | 深圳市创富知识产权代理有限公司 44367 | 代理人: | 高冰 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 csr 特点 稀疏 稠密 矩阵 乘法 并行 算法 优化 方法 | ||
1.基于CSR特点对稀疏稠密矩阵乘法并行算法的优化方法,其特征在于,包括CSR稀疏矩阵数据缓冲区设计,缓冲区并行数据预加载的负载均衡,稠密矩阵计算任务对线程的负载均衡,以及计算结果部分累加和的暂存设计;其中,还包括:
S1求出给定稀疏矩阵非零元素最多的行的长度n;
S2给缓冲区分配长度为n的空间;
S3进入计算主循环,判断稀疏矩阵是否每一行都计算完成,若为是,则计算完成,否则进入步骤S4;
S4依据rowPtr数组指定预加载数据范围;
S5依据分配公式以及可用线程数将数据均匀分配给对应线程,将数据加载至缓冲区;
S6设置同步节点,等待所有线程将各自的数据加载完毕;
S7依据当前线程号以及负载均衡分配公式求出当前线程计算任务中稠密矩阵的起始和结束列号;
S8各个线程从缓冲区中取出稀疏矩阵数据并与稠密矩阵中所属数据进行点乘运算;
S9在点乘计算过程中的中间累加和存放在暂存器中;
S10各自线程将计算的最终结果写入结果矩阵;
S11回到步骤S3。
2.根据权利要求1所述的基于CSR特点对稀疏稠密矩阵乘法并行算法的优化方法,其特征在于,所述CSR稀疏矩阵数据缓冲区设计能够根据稀疏矩阵的大小自适应地配置缓冲区的大小,通过CSR稀疏矩阵数据缓冲区,线程在计算时所需数据能够直接从Cache的缓冲区中获取,减少不连续访存次数,提升计算效率。
3.根据权利要求1所述的对基于CSR特点对稀疏稠密矩阵乘法并行算法的优化方法,其特征在于,所述缓冲区并行数据预加载的负载均衡是能够根据不同稀疏矩阵的行元素个数,将CSR稀疏矩阵某一行数据划分为均匀的数据块,分配给不同的并行线程加载至缓冲区,以消减数据加载的最大瓶颈。
4.根据权利要求1所述的对稀疏稠密矩阵乘法并行算法的优化方式,其特征在于:
所述稠密矩阵计算任务对线程的负载均衡是将矩阵乘法的核心运算做了切分,由于稀疏矩阵每一行都需要与稠密矩阵每一列做点乘,并且点乘与点乘之间相互独立,因而能够通过并行优化减少单个线程的计算量;其中,能够根据不同稠密矩阵的大小自适应按列调整划分数据块大小,并将数据块均匀地分配给对应线程进行计算,以减少整个运算的花费时间。
5.根据权利要求1所述的对稀疏稠密矩阵乘法并行算法的优化方式,其特征在于:所述计算结果部分累加和的暂存设计是在计算过程中设计一个暂存器,将中间计算结果先存入暂存器中,计算完毕后再写入结果矩阵中,能够有效地减少一些不必要的访存开销,提升并行计算性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111355302.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于废烟气预热板坯结晶器的预热系统及其控制方法
- 下一篇:一种立体护围纸尿裤