文档详情

基于GPU的SpMV并行算法优化方法研究.pdf

发布:2025-04-30约11万字共69页下载文档
文本预览下载声明

基于GPU的SpMV并行算法优化方法研究

摘要

随着高性能处理器的不断发展和普及,并行技术的重要性在各个领域逐步显现。稀

疏矩阵向量乘法(SpMV)作为科学与工程领域中至关重要的核心操作之一,在图形处

理、科学计算、机器学习等领域都有着广泛的应用,如何高效优化稀疏矩阵向量乘法成

为当前的研究热点。由于稀疏矩阵结构的特殊性,主流的SpMV方法在一定程度上提高

了计算效率,但仍然存在以下问题:(1)部分子块间不平衡的计算量导致线程块的负载

不均衡;(2)不合理的数据存储方式导致并行阶段数据访问不连续;(3)对计算资源的

利用率较低,难以充分发挥GPU应有的性能。因此,本文设计了基于GPU的SpMV并行

优化方法,具体包括:

(1)针对并行阶段部分线程间的工作负载不均衡问题,提出了一种基于可变阈值

的行归并SpMV优化方法TEB。设计了一种启发式阈值选择算法,为稀疏矩阵提供合理

的子块划分依据,然后结合基于重排序的行归并算法将稀疏矩阵进行有效划分,保证子

块间的非零元素数量具有最大相似性。进一步提出了并行SpMV内核,采用线程块与子

块、线程与行的映射方式并行处理计算数据,使得线程具有相近的计算任务量,实现负

载均衡。实验结果表明,在佛罗里达大学公开的稀疏矩阵数据集上,TEB相比于CSR-

Scalar、CSR5、AMF-CSR和PBC方法的时间性能分别提升2.30、2.21、3.23和5.83倍,

浮点运算性能分别提升2.29、2.12、3.36和5.95倍。

(2)对于传统方法在访存连续性和资源利用率方面的局限性,在TEB方法基础上,

提出了基于动态划分合并的异构SpMV优化方法。结合稀疏矩阵结构特征和异构处理器

计算能力,设计了CPU-GPU动态异构并行框架,能够有效分配不同处理器工作量,充分

合理利用计算资源。同时,提出了适用于异构框架的数据划分和存储方法,采用以列为

基本单位的矩阵合并策略,能够有效满足向量X的数据局部性和访问连续性。进一步提

出了CPU-GPU动态异构并行内核,充分发挥CPU和GPU异构计算的优势,提高了SpMV

的计算效率。实验结果表明,CPU-GPU动态异构并行方法相较于单独使用CPU和GPU平

台,分别获得199和1.44倍的时间性能加速,相比于MKL和cuSPARSE库,分别获得1.65

和1.15倍的浮点运算性能加速。

关键词:稀疏矩阵;SpMV;负载均衡;访存连续;异构体系

基于GPU的SpMV并行算法优化方法研究

Abstract

Withthecontinuousdevelopmentandpopularizationofhigh-performanceprocessors,the

importanceofparalleltechnologyisgraduallyemerginginvariousfields.SparseMatrixVector

Multiplication(SpMV)isoneofthecrucialcoreoperationsinthefieldsofscienceand

engineering.Ithasextensiveapplicationsinfieldssuchasgraphicsprocessing,scientific

computing,andmachinelearning.Howtoefficientlyoptimizesparsematrixvector

multiplicationhasbecomeacurrentresearchhotspot.Duetotheparticularityofsparsematrix

structures,mainstreamSpMVmethodshaveimprovedcomputationalefficiencytoacertain

extent,buttherearestillthefollowingpro

显示全部
相似文档