Skip to main content
QUICK REVIEW

[论文解读] Adaptive SpMV/SpMSpV on GPUs for Input Vectors of Varied Sparsity

Min Li, Yulong Ao|arXiv (Cornell University)|Jun 30, 2020
Parallel Computing and Optimization Techniques参考文献 38被引用 5
一句话总结

本文提出了一种用于GPU的自适应SpMV/SpMSpV框架,该框架根据输入向量的稀疏度和硬件特性,在运行时动态选择八个优化过的核函数。通过使用轻量级集成机器学习核选择器,该框架在NVIDIA K40m、P100和V100 GPU上的BFS和PageRank工作负载中,显著优于先前的最先进方法。

ABSTRACT

Despite numerous efforts for optimizing the performance of Sparse Matrix and Vector Multiplication (SpMV) on modern hardware architectures, few works are done to its sparse counterpart, Sparse Matrix and Sparse Vector Multiplication (SpMSpV), not to mention dealing with input vectors of varied sparsity. The key challenge is that depending on the sparsity levels, distribution of data, and compute platform, the optimal choice of SpMV/SpMSpV kernel can vary, and a static choice does not suffice. In this paper, we propose an adaptive SpMV/SpMSpV framework, which can automatically select the appropriate SpMV/SpMSpV kernel on GPUs for any sparse matrix and vector at the runtime. Based on systematic analysis on key factors such as computing pattern, workload distribution and write-back strategy, eight candidate SpMV/SpMSpV kernels are encapsulated into the framework to achieve high performance in a seamless manner. A comprehensive study on machine learning based kernel selector is performed to choose the kernel and adapt with the varieties of both the input and hardware from both accuracy and overhead perspectives. Experiments demonstrate that the adaptive framework can substantially outperform the previous state-of-the-art in real-world applications on NVIDIA Tesla K40m, P100 and V100 GPUs.

研究动机与目标

  • 解决GPU上稀疏矩阵与稀疏向量乘法(SpMSpV)缺乏高效优化的问题,特别是在执行过程中输入向量稀疏度变化时。
  • 克服静态核选择的局限性,后者无法适应多样的输入稀疏度水平、数据分布以及不断演进的GPU架构。
  • 设计一种灵活且高性能的框架,能够根据输入和硬件特性,在运行时自动选择最优的SpMV/SpMSpV核函数。
  • 开发一种低开销、高精度的核选择器,利用机器学习技术在不同应用场景和硬件环境下平衡预测准确率与计算成本。

提出的方法

  • 系统分析关键性能因素——计算模式、工作负载分布和写回策略——以识别八个候选SpMV/SpMSpV核函数。
  • 设计一种混合核空间,结合基于矩阵的行主序和基于向量的列主序SpMSpV模式,同时在负载均衡和内存访问模式上进行变体设计。
  • 实现一个三模型集成(例如,决策树)用于核选择,基于2,010个真实世界的稀疏矩阵和多样化输入向量进行训练,以预测最优核函数。
  • 将核选择器集成到运行时框架中,评估输入特性并以最小开销选择性能最佳的核函数。
  • 通过根据稀疏度和矩阵结构定制写回策略与工作负载分布,优化内存访问和线程发散。
  • 通过将核选择与底层硬件细节解耦,确保在不同GPU平台(K40m、P100、V100)上的可移植性和适应性。

实验结果

研究问题

  • RQ1当输入向量稀疏度变化时,影响GPU上SpMV/SpMSpV效率的关键性能因素是什么?
  • RQ2是否可以通过引入多于两个的核变体集合,显著提升在多样化输入和硬件配置下的性能?
  • RQ3如何设计一种基于机器学习的核选择器,以实现实时动态SpMV/SpMSpV工作负载下的高准确率与低运行时开销?
  • RQ4所提出的自适应框架在真实世界图计算和机器学习工作负载中,相较于静态或启发式核选择方法,性能提升程度如何?
  • RQ5该框架在无需重新调优的情况下,跨不同GPU架构的泛化能力如何?

主要发现

  • 所提出的自适应框架在NVIDIA K40m、P100和V100 GPU上的BFS和PageRank工作负载中,相较于先前最先进方法实现了显著的性能提升。
  • 该框架的基于机器学习的核选择器在保持高准确率的同时显著降低了预测开销,实现了近乎零性能损耗的实时核选择。
  • 包含八个多样化核变体(涵盖不同的计算模式、工作负载分布和写回策略)的设计,使框架能够更好地适应不同的输入稀疏度和矩阵结构。
  • 该框架在不同GPU平台间表现出强大的泛化能力,无需针对每种架构手动调优即可实现一致的性能增益。
  • 自适应方法显著优于来自push-pull库的启发式方法,后者依赖固定的稀疏度阈值进行核切换。
  • 集成机器学习模型在未见过的矩阵和输入向量上均实现了高预测准确率,验证了其鲁棒性与可扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。