[发明专利]一种适用于GPU的自适应多行折叠存储方法在审
| 申请号: | 202110835802.4 | 申请日: | 2021-07-23 |
| 公开(公告)号: | CN113469870A | 公开(公告)日: | 2021-10-01 |
| 发明(设计)人: | 计卫星;高建花;王一拙;石峰 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60;G06F9/50 |
| 代理公司: | 北京东方盛凡知识产权代理事务所(普通合伙) 11562 | 代理人: | 李娜 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 适用于 gpu 自适应 折叠 存储 方法 | ||
本发明公开一种适用于GPU的自适应多行折叠存储方法及系统,方法包括,采集用于稀疏矩阵的CSR编码,通过设置折叠粒度和阈值,获得稀疏矩阵的非零元阈值;遍历稀疏矩阵的行指针数组,基于非零元阈值进行多行折叠,获得每个折叠行的行索引和行指针位置;根据行索引、行指针位置,对稀疏矩阵进行分块并采集每块折叠块对应的折叠行的行索引和行指针位置;遍历稀疏矩阵的列索引和值数组,基于列索引,在分块后的折叠行内添加非零元,构建自适应多行折叠存储结构,用于实现稀疏矩阵的多行折叠存储;系统通过模块之间的相互配合实现了自适应多行折叠存储方法,本发明解决了基于CMRS格式的SpMV在不规则矩阵上的负载不均衡问题。
技术领域
本发明涉及稀疏线性代数数据优化领域,具体涉及一种适用于GPU的自适应多行折叠存储方法。
背景技术
稀疏矩阵向量乘(SpMV)是求解大规模稀疏线性系统中许多迭代算法的核心计算,它广泛应用在许多研究领域,如线性代数、数据挖掘和图分析。SpMV的一般形式为y=A·x,其中,A为m×n的稀疏矩阵,x和y分别为n×1和m×1的稠密向量。近年来,在现代硬件架构上优化SpMV内核引起了研究人员的广泛关注。相比于传统的CPU,现代通用图形处理单元(GPU)因为其大量的计算核心,往往具有更高的浮点计算峰值。然而,SpMV在GPU上的优化存在一定的挑战性。这主要是因为不同稀疏矩阵的稀疏结构和非零元分布不同,导致SpMV计算过程中不规则访存和负载不均衡问题较为严重。
现有技术提出了一种适用于GPU的固定多行折叠的稀疏矩阵存储格式CMRS,如图1所示,通过将固定数量的连续行折叠为一行,再将同一折叠行内的非零元按列排序,减少了SpMV整体的访存和数据传输开销。CMRS提出一个4×4的稀疏矩阵有4行和7个非零元。将每个连续的两行折叠为一行,折叠后的行记为f-行。那么该稀疏矩阵被折叠为一个2×4的矩阵。折叠后的稀疏矩阵比原矩阵的行少,所以行指针数组需要更少的访存和数据传输开销。更重要的是,为了提升对向量x的访存局部性,CMRS方法将每个f-行内的非零元重新排序,根据他们在原矩阵行中的列索引从左到右存储。从而使得相邻非零元对应的向量x的元素是相同、相邻、或者相近的,从而提升了向量x的访存局部性。如果稀疏矩阵使用传统的CMRS编码,那么它对向量x的访问顺序为{x[0],x[2],x[0],x[3],x[2],x[0],x[2]}。而如果用CMRS格式编码,那么访问顺序变为{x[0],x[0],x[2],x[3],x[0],x[2],x[2]}。假设有限的缓存只能缓存向量x的一个元素,那么传统的基于CMRS的SpMV需要7次访存操作,而基于CMRS的SpMV只需要5次访存操作。
为了将结果规约到结果向量对应的元素上,还需要折叠前的原始行索引,这可以由相对行偏移量和f-行的索引值得出。CMRS的作者注意到,当一个稀疏矩阵用典型的CMRS存储时,最大的列索引取决于该矩阵的规模。通常情况下,使用32位的无符号整型存储列索引,但此时它们的最高位往往并未使用。比如,稀疏矩阵集合SuiteSparse中列规模最大的矩阵为mawi_201512020330,其列规模为226,196,185。该矩阵的列索引完全可以用28个二进制位表示,而4个最高位并没有用到。对于连续4行折叠的情况,相对行偏移量的范围为0~3,只需2个二进制位即可表示。所以,CMRS格式将相对行偏移量编码到列索引中,即存储到最低的l个二进制位中以减少移位操作,其中l=ceil(log2k),k为折叠粒度。当k=2时,折叠后的稀疏矩阵有两个f-行,分别有4和3个非零元,因此RowPtrn={0,4,7}。非零元3的列索引和相对行偏移量分别为0和1,所以它在数组ColIdxn中的值为(01)2=(1)10。类似地,非零元7对应的ColIdxn的值为(101)2=(5)10。此外,第一个f-行的非零元为{1,3,2,4},而不是原来的{1,2,3,4}。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110835802.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种特征比对方法、装置及系统
- 下一篇:一种农业种植用农药喷洒装置





