GPU上的PELLR:优化SpMV的置换ELLPACK-R格式

5 下载量 87 浏览量 更新于2024-07-16 收藏 1.27MB PDF 举报
"PELLR:用于GPU上SpMV的置换ELLPACK-R格式" 在当前的高性能计算领域,稀疏矩阵矢量乘法(SpMV)是一个核心操作,广泛应用于科学计算的各个领域,包括线性系统求解和特征值问题的迭代算法。随着图形处理单元(GPU)的广泛应用,优化在GPU上的SpMV性能变得至关重要。传统的存储格式如压缩行存储(CSR)、紧密型稀疏矩阵(ELL)和双紧密型稀疏矩阵(BiELL)等,尽管在某些场景下表现出色,但并不总是能充分利用GPU的并行计算能力。 本文提出的PELLR(Permutated ELLPACK-R格式)是对ELLPACK-R格式的一种改进,它借鉴了JAD(Just Another Diagonal)格式的思想。ELLPACK-R格式是一种针对稀疏矩阵优化的存储方式,通过存储矩阵的主对角线元素以及相关的列索引,以减少访问内存的次数。然而,原版的ELLPACK-R格式在GPU环境中可能面临线程间等待时间过长的问题,这限制了其并行效率。 PELLR格式通过置换策略解决了这一问题,减少了不同线程间的等待时间,从而提高了GPU的计算效率。在实验中,PELLR实现了大约1.5倍的速度提升,显示了其在提高SpMV性能方面的潜力。此外,作者还提出了一种基于参数的方法来分析不同存储格式对性能的影响,这有助于开发者根据具体应用选择最合适的格式。 为了进一步量化PELLR的优势,作者构建了一个公式来计算计算次数和迭代次数,这为理解和评估各种格式的效率提供了理论基础。在测试的矩阵集合中,PELLR在超过70%的情况下表现最优,证明了其在实际应用中的广泛适用性。 "PELLR:用于GPU上SpMV的置换ELLPACK-R格式"这篇研究论文提供了一种新的、高效的稀疏矩阵存储格式,对于在GPU上进行大规模科学计算的优化具有重要意义。通过改进现有的矩阵存储结构,PELLR不仅提升了计算速度,还为未来GPU计算的优化提供了新的思路和工具。