Sparse matrix-vector and matrix-matrix multiplication (SpMV and SpMM) are fundamental in both conventional (graph analytics, scientific computing) and emerging (sparse DNN, GNN) domains. Workload-balancing and parallel-reduction are widely-used design principles for efficient SpMV. However, prior work fails to resolve how to implement and adaptively use the two principles for SpMV/MM. To overcome this obstacle, we first complete the implementation space with optimizations by filling three missing pieces in prior work, including: (1) We show that workload-balancing and parallel-reduction can be combined through a segment-reduction algorithm implemented with SIMD-shuffle primitives. (2) We show that parallel-reduction can be implemented in SpMM through loading the dense-matrix rows with vector memory operations. (3) We show that vectorized loading of sparse rows, being a part of the benefit of parallel-reduction, can co-exist with sequential-reduction in SpMM through temporally caching sparse-matrix elements in the shared memory. In terms of adaptive use, we analyze how the benefit of two principles change with two characteristics from the input data space: the diverse sparsity pattern and dense-matrix width. We find the benefit of the two principles fades along with the increased total workload, i.e. the increased dense-matrix width. We also identify, for SpMV and SpMM, different sparse-matrix features that impact workload-balancing effectiveness. Our design consistently exceeds cuSPARSE by 1.07-1.57x on different GPUs and dense matrix width, and the kernel selection rules involve 5-12% performance loss compared with optimal choices. Our kernel is being integrated into popular graph learning frameworks to accelerate GNN training.


翻译:在常规领域(分析、科学计算)和新兴领域(Smarse DNN、GNN),工作平衡和平行减少是高效 SmMV广泛采用的设计原则。然而,先前的工作未能解决如何实施和适应SpMV/MM的两种原则。为了克服这一障碍,我们首先通过填补先前工作中的三个缺失部分来优化执行空间,包括:(1) 我们表明,工作量平衡和平行减少可以通过与SIMD-Scream-Sweal Sheldle Friminal执行的减少段数算法相结合。(2) 我们表明,通过将密度匹配行与矢量存储操作加载,可以实现平行减少。(3) 我们表明,稀释行的矢量加载是平行减少的一个好处,通过在共享记忆中时间缓缓缓缓流的普通部分,通过适应性使用,我们分析两项原则的效益是如何通过SMMD-S-real-real-realal-loral-loral-lvacal-lvical sal-lview lax mess dreal lax dal lax dal lax dal lax dal lax dal dal lax lax lax lax lax lax lax lax lax laut lax lax lax laut lax lax laut laut le le le lex lex lex lex lex lex lex legal lex lex legal lex legal lex lax lax lax lax lax lax lax lax le lax lax lax le le le le le le le le le le le le ladal lex labalal le) labal ladal lax lax lax lax lax lax lax lax lax lax lax lacal lacal lax lax lax lax le le

0
下载
关闭预览

相关内容

迄今为止,产品设计师最友好的交互动画软件。

【Cell】神经算法推理,Neural algorithmic reasoning
专知会员服务
28+阅读 · 2021年7月16日
【图与几何深度学习】Graph and geometric deep learning,49页ppt
专知会员服务
41+阅读 · 2021年4月2日
专知会员服务
76+阅读 · 2021年3月16日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
176+阅读 · 2019年10月11日
已删除
将门创投
4+阅读 · 2020年1月6日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Arxiv
45+阅读 · 2019年12月20日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Arxiv
4+阅读 · 2017年10月30日
VIP会员
相关VIP内容
【Cell】神经算法推理,Neural algorithmic reasoning
专知会员服务
28+阅读 · 2021年7月16日
【图与几何深度学习】Graph and geometric deep learning,49页ppt
专知会员服务
41+阅读 · 2021年4月2日
专知会员服务
76+阅读 · 2021年3月16日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
176+阅读 · 2019年10月11日
相关资讯
已删除
将门创投
4+阅读 · 2020年1月6日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Top
微信扫码咨询专知VIP会员