[发明专利]一种自适应稀疏矩阵向量乘策略选择及优化方法在审
申请号: | 202210066813.5 | 申请日: | 2022-01-20 |
公开(公告)号: | CN114491401A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 胡长军;卢旭;储根深;何远杰;董玲玉;邢龙岳 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波;付忠林 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自适应 稀疏 矩阵 向量 策略 选择 优化 方法 | ||
本发明公开了一种自适应稀疏矩阵向量乘策略选择及优化方法,适用于GPU架构,该方法包括:对待处理矩阵按行进行分块,统计各矩阵子块的非零元素数,若各矩阵子块的非零元素数差别倍数高于第一预设阈值,则采用自适应的CSR‑Vector算法进行处理;统计待处理矩阵的行平均非零元素个数,若矩阵行平均非零元素个数低于第二预设阈值,则采用改进的CSR‑Stream算法进行求解;统计待处理矩阵的非零元素个数,若其非零元素个数大于第三预设阈值,则采用hola算法进行求解;若以上条件均不满足,则采用CSR‑Vector算法进行求解。本发明实现了针对不同应用问题的自适应高效SpMV求解。
技术领域
本发明涉及高性能计算技术领域,特别涉及一种适用于GPU架构的自适应稀疏矩阵向量乘策略选择及优化方法。
背景技术
SpMV(Sparse matrix–vector multiplication,稀疏矩阵向量乘)是形如y=αAx+βy的矩阵向量乘法运算(其中,A是稀疏矩阵,x和y是稠密向量,α和β是标量),它在科学计算、经济建设、信号处理、文档检索等领域有着广泛应用。通常,参与计算的矩阵是稀疏的,例如物理过程离散化产生的矩阵。近年来,SpMV被归为七种被认为至少在未来十年对科学和工程非常重要的数值方法。
针对稀疏矩阵A不同的存储格式,会有不同的SpMV算法,使用最为广泛的稀疏矩阵存储格式为CSR格式。目前,世界上基于异构多核计算系统对CSR存储格式的SpMV算法进行了各种优化,并使其性能得到了显著提升,如CSR-Vector算法、CSR-Stream算法、hola算法,三种算法的算法思想如下:
1)CSR-Vector算法:将wavefront划分为多个包含相等线程数的线程向量(vector),其中一个vector包含多个线程。最终由一个vector计算矩阵的一行与x向量相乘,vector内一个线程负责一行中部分数据的计算。一个vector计算完毕后,将各线程的结果规约到0号线程中,并由vector内的0号线程将结果写回到内存上的y数组。CSR-Vector的缺点也很明显,对于矩阵行非零元素较少的情况,进行从内存加载数据和数据写回步骤时,vector之间访存不连续,但对于矩阵行非零元素较多的情况时,这一劣势可得到有效缓解。
2)CSR-Stream算法:按照矩阵行数进行划分,每个block负责计算相同数量的行。CSR-Stream方法中,Block内每个线程从内存连续地访问value数组、非零元素列索引Col_Index数组,并将其乘法结果保存在LDS中,最后若干线程从LDS中进行规约且每个线程规约一行。CSR-Stream方法各线程对存储非零元素的Value数组、非零元素列索引Col_Index数组以及y向量访存都是连续的,但是由于该方法需要预先在LDS为Value数组与x向量中元素的乘积分配存储空间,因此CSR-Stream方法不适用于每行含有的非零元素个数太多的矩阵。
3)hola算法:按照非零元素数量进行任务划分,使得每个block计算相同数量的非零元素。由于CSR的格式中,矩阵非零数值、列索引都是按行顺序排列而成的,也是比较适合采用“按非零元素进行任务划分”的,特别是对于行平均非零元素较大的矩阵,其y数组和行偏移索引Row_Index的load/store开销占比较小,按照“非零元素数”来进行负载均衡,是十分有效的一种任务划分策略。该方法的缺点是,其需要一个GPU端的预处理过程,这使得对于小规模的矩阵而言,其带来的性能提升可能并不明显,甚至会导致性能变差。
对于上述算法,虽然在特定矩阵条件下提高了计算性能,但对不同领域问题求解(如结构力学、计算流体力学、计算机图形学等)优化的通用性较差。
发明内容
本发明提供了一种自适应稀疏矩阵向量乘策略选择及优化方法,以解决现有的SpMV算法虽然在特定矩阵条件下提高了计算性能,但对不同领域问题求解优化的通用性较差的技术问题。
为解决上述技术问题,本发明提供了如下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210066813.5/2.html,转载请声明来源钻瓜专利网。