fgSpMSpV: A Fine-grained Parallel SpMSpV Framework on HPC Platforms

被引:10
作者
Chen, Yuedan [1 ,2 ]
Xiao, Guoqing [1 ,2 ]
Li, Kenli [1 ,2 ]
Piccialli, Francesco [3 ]
Zomaya, Albert Y. [4 ]
机构
[1] Hunan Univ, Coll Comp Sci & Elect Engn, Changsha 410082, Hunan, Peoples R China
[2] Natl Supercomp Ctr Changsha, Changsha 410082, Hunan, Peoples R China
[3] Univ Naples Federico II, Dept Elect Engn & Informat Technol, I-80100 Naples, Italy
[4] Univ Sydney, Sch Informat Technol, Sidney, BC 2006, Canada
基金
中国国家自然科学基金;
关键词
Heterogeneous; HPC; manycore; optimization; parallelism; SpMSpV; MATRIX-MATRIX MULTIPLICATION; PERFORMANCE;
D O I
10.1145/3512770
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Sparse matrix-sparse vector (SpMSpV) multiplication is one of the fundamental and important operations in many high-performance scientific and engineering applications. The inherent irregularity and poor data locality lead to two main challenges to scaling SpMSpV over high-performance computing (HPC) systems: (i) a large amount of redundant data limits the utilization of bandwidth and parallel resources; (ii) the irregular access pattern limits the exploitation of computing resources. This paper proposes a fine-grained parallel SpMSpV (fgSpMSpV) framework on Sunway TaihuLight supercomputer to alleviate the challenges for large-scale real-world applications. First, fgSpMSpV adopts an MPI+OpenMP+X parallelization model to exploit the multi-stage and hybrid parallelism of heterogeneous HPC architectures and accelerate both pre-/post-processing and main SpMSpV computation. Second, fgSpMSpV utilizes an adaptive parallel execution to reduce the pre-processing, adapt to the parallelism and memory hierarchy of the Sunway system, while still tame redundant and random memory accesses in SpMSpV, including a set of techniques like the fine-grained partitioner, re-collection method, and Compressed Sparse Column Vector (CSCV) matrix format. Third, fgSpMSpV uses several optimization techniques to further utilize the computing resources. fgSpMSpV on the Sunway TaihuLight gains a noticeable performance improvement from the key optimization techniques with various sparsity of the input. Additionally, fgSpMSpV is implemented on an NVIDIA Tesal P100 GPU and applied to the breath-first-search (BFS) application. fgSpMSpV on a P100 GPU obtains the speedup of up to 134.38x over the state-of-the-art SpMSpV algorithms, and the BFS application using fgSpMSpV achieves the speedup of up to 21.68x over the state-of-the-arts.
引用
收藏
页数:29
相关论文
共 44 条
[1]   Data-driven Mixed Precision Sparse Matrix Vector Multiplication for GPUs [J].
Ahmad, Khalid ;
Sundar, Hari ;
Hall, Mary .
ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2019, 16 (04)
[2]   Partitioning Models for Scaling Parallel Sparse Matrix-Matrix Multiplication [J].
Akbudak, Kadir ;
Selvitopi, Oguz ;
Aykanat, Cevdet .
ACM TRANSACTIONS ON PARALLEL COMPUTING, 2018, 4 (03)
[3]   Exploiting Locality in Sparse Matrix-Matrix Multiplication on Many-Core Architectures [J].
Akbudak, Kadir ;
Aykanat, Cevdet .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (08) :2258-2271
[4]   GraphPad: Optimized Graph Primitives for Parallel and Distributed Platforms [J].
Anderson, Michael J. ;
Sundaram, Narayanan ;
Satish, Nadathur ;
Patwary, Md Mostofa Ali ;
Willke, Theodore L. ;
Dubey, Pradeep .
2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2016), 2016, :313-322
[5]   A DISTRIBUTED-MEMORY ALGORITHM FOR COMPUTING A HEAVY-WEIGHT PERFECT MATCHING ON BIPARTITE GRAPHS [J].
Azad, Ariful ;
Buluc, Aydin ;
Li, Xiaoye S. ;
Wang, Xinliang ;
Langguth, Johannes .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2020, 42 (04) :C143-C168
[6]   LACC: A Linear-Algebraic Algorithm for Finding Connected Components in Distributed Memory [J].
Azad, Ariful ;
Buluc, Aydin .
2019 IEEE 33RD INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2019), 2019, :2-12
[7]   A work-efficient parallel sparse matrix-sparse vector multiplication algorithm [J].
Azad, Ariful ;
Buluc, Aydin .
2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2017, :688-697
[8]   Distributed-Memory Algorithms for Maximum Cardinality Matching in Bipartite Graphs [J].
Azad, Ariful ;
Buluc, Aydin .
2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2016), 2016, :32-42
[9]  
Ballard Grey, 2016, ACM Trans. Parallel Comput., V3, P1
[10]   BestSF A Sparse Meta-Format for Optimizing SpMV on GPU [J].
Benatia, Akrem ;
Ji, Weixing ;
Wang, Yizhuo ;
Shi, Feng .
ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2018, 15 (03)