买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国空气动力研究与发展中心计算空气动力研究所
摘要:本发明公开了一种基于无同步SpTRSV算法的访存与并行效率优化方法,属于高性能并行计算领域,包括:步骤一,根据稀疏矩阵非零元素将行划分为长行和短行;步骤二,将目标向量x的值均设置为最大值;步骤三,将写阶段所需的数据预取到寄存器中;步骤四,在读阶段,判断依赖情况并进行累加操作;步骤五,在写阶段,从寄存器读取数据,计算对应行x的值。本发明解决了目前无同步SpTRSV算法中线程级并行写阶段的线程分歧问题,以及线程级和线程束级粗粒度的选择策略,从而导致GPU利用率不高的问题。
主权项:1.一种基于无同步SpTRSV算法的访存与并行效率优化方法,其特征在于,包括以下步骤:步骤一,根据稀疏矩阵非零元素将行划分为长行和短行;通过分析稀疏矩阵自身结构特质,以每行的非零元素数量作为标准,将行划分为长行和短行,其中连续的短行组成行组,最终长行分配给warp-level处理,行组分配给thread-level处理;其中warp-level表示线程束并行模式,32个线程组成一个线程束;thread-level表示单线程并行模式;步骤二,将目标向量x的值均设置为最大值;在SpTRSV计算开始前,通过CUDA函数cudaMemset将目标向量x的初始值均设置为最大值;步骤三,将写阶段所需的数据预取到寄存器中;从全局内存将稀疏矩阵A中每一行对角线上的非零元素Ai,i,已知向量b对应的值b[i]预取到寄存器中;从全局内存将“该行最后一个值”,“b向量对应的值”预取到寄存器中;其中,“该行最后一个值”表示稀疏下三角矩阵L中第i行对角线上的非零元素Li,i,“b向量对应的值”表示已知的矩阵向量b中第i行的值b[i];步骤四,在读阶段,判断依赖情况并进行累加操作;循环迭代对角线前所有的非零元素,求得所有元素的乘加和;所述循环迭代对角线前所有的非零元素,求得所有元素的乘加和,具体包括子步骤:S1,通过CUDA内置函数__double2hiint()将x值转化为int类型,并判断是否仍为最大值;S2,若x不为最大值,认定依赖被解决,将稀疏矩阵的非零元素与对应的x值相乘,循环进行累加操作;步骤五,在写阶段,从寄存器读取数据,计算对应行x的值;在写阶段,将读阶段求得的累加和,以及预取到寄存器的值进行计算得到对应行对应的x值,通知对应行依赖被解决。
全文数据:
权利要求:
百度查询: 中国空气动力研究与发展中心计算空气动力研究所 基于无同步SpTRSV算法的访存与并行效率优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。