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

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.38\times \) over the state-of-the-art SpMSpV algorithms, and the BFS application using fgSpMSpV achieves the speedup of up to \( 21.68\times \) over the state-of-the-arts.

[1]  Tao Li,et al.  CASpMV: A Customized and Accelerative SpMV Framework for the Sunway TaihuLight , 2021, IEEE Transactions on Parallel and Distributed Systems.

[2]  Jung Ho Ahn,et al.  MViD: Sparse Matrix-Vector Multiplication in Mobile DRAM for Accelerating Recurrent Neural Networks , 2020, IEEE Transactions on Computers.

[3]  Yulong Ao,et al.  Adaptive SpMV/SpMSpV on GPUs for Input Vectors of Varied Sparsity , 2020, IEEE Transactions on Parallel and Distributed Systems.

[4]  MengChu Zhou,et al.  Non-Negativity Constrained Missing Data Estimation for High-Dimensional and Sparse Matrices from Industrial Applications , 2020, IEEE Transactions on Cybernetics.

[5]  Albert Y. Zomaya,et al.  aeSpTV: An Adaptive and Efficient Framework for Sparse Tensor-Vector Product Kernel on a High-Performance Computing Platform , 2020, IEEE Transactions on Parallel and Distributed Systems.

[6]  Chubo Liu,et al.  ahSpMV: An Autotuning Hybrid Computing Scheme for SpMV on the Sunway Architecture , 2020, IEEE Internet of Things Journal.

[7]  Ariful Azad,et al.  A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs , 2020, SIAM J. Sci. Comput..

[8]  Wang Chen,et al.  Enabling Runtime SpMV Format Selection through an Overhead Conscious Method , 2020, IEEE Transactions on Parallel and Distributed Systems.

[9]  Khalid Ahmad,et al.  Data-driven Mixed Precision Sparse Matrix Vector Multiplication for GPUs , 2019, ACM Trans. Archit. Code Optim..

[10]  Zhenjiang Hu,et al.  FastSV: A Distributed-Memory Connected Component Algorithm with Fast Convergence , 2019, PPSC.

[11]  Muhammet Mustafa Ozdal Improving Efficiency of Parallel Vertex-Centric Algorithms for Irregular Graphs , 2019, IEEE Transactions on Parallel and Distributed Systems.

[12]  Fan Wu,et al.  Towards Large-Scale Sparse Matrix-Vector Multiplication on the SW26010 Manycore Architecture , 2019, 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[13]  Siqiang Luo,et al.  Distributed PageRank Computation: An Improved Theoretical Study , 2019, AAAI.

[14]  Ariful Azad,et al.  LACC: A Linear-Algebraic Algorithm for Finding Connected Components in Distributed Memory , 2019, 2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[15]  Kenli Li,et al.  Performance-Aware Model for Sparse Matrix-Matrix Multiplication on the Sunway TaihuLight Supercomputer , 2019, IEEE Transactions on Parallel and Distributed Systems.

[16]  Robert Wille,et al.  Matrix-Vector vs. Matrix-Matrix Multiplication: Potential in DD-based Simulation of Quantum Computations , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[17]  Feng Shi,et al.  BestSF: A Sparse Meta-Format for Optimizing SpMV on GPU , 2018, ACM Trans. Archit. Code Optim..

[18]  Chao Yang,et al.  PEPS++: Towards Extreme-Scale Simulations of Strongly Correlated Quantum Many-Particle Models on Sunway TaihuLight , 2018, IEEE Transactions on Parallel and Distributed Systems.

[19]  Kadir Akbudak,et al.  Partitioning Models for Scaling Parallel Sparse Matrix-Matrix Multiplication , 2018, ACM Trans. Parallel Comput..

[20]  Kadir Akbudak,et al.  Exploiting Locality in Sparse Matrix-Matrix Multiplication on Many-Core Architectures , 2017, IEEE Transactions on Parallel and Distributed Systems.

[21]  A. Buluç,et al.  A Work-Efficient Parallel Sparse Matrix-Sparse Vector Multiplication Algorithm , 2016, 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[22]  Shengen Yan,et al.  A Cross-Platform SpMV Framework on Many-Core Architectures , 2016, ACM Trans. Archit. Code Optim..

[23]  Thierry P. Berger,et al.  Extended Generalized Feistel Networks Using Matrix Representation to Propose a New Lightweight Block Cipher: Lilliput , 2016, IEEE Transactions on Computers.

[24]  Pradeep Dubey,et al.  GraphPad: Optimized Graph Primitives for Parallel and Distributed Platforms , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[25]  Ariful Azad,et al.  Distributed-Memory Algorithms for Maximum Cardinality Matching in Bipartite Graphs , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[26]  Hani Hagras,et al.  A Linear General Type-2 Fuzzy-Logic-Based Computing With Words Approach for Realizing an Ambient Intelligent Platform for Cooking Recipe Recommendation , 2016, IEEE Transactions on Fuzzy Systems.

[27]  Oded Schwartz,et al.  Hypergraph Partitioning for Sparse Matrix-Matrix Multiplication , 2016, TOPC.

[28]  MengChu Zhou,et al.  A Nonnegative Latent Factor Model for Large-Scale Sparse Matrices in Recommender Systems via Alternating Direction Method , 2016, IEEE Transactions on Neural Networks and Learning Systems.

[29]  Dietmar Bauer,et al.  Personalized and Situation-Aware Multimodal Route Recommendations: The FAVOUR Algorithm , 2016, IEEE Transactions on Intelligent Transportation Systems.

[30]  Pavel Tvrdík,et al.  Evaluation Criteria for Sparse Matrix Storage Formats , 2016, IEEE Transactions on Parallel and Distributed Systems.

[31]  Luke N. Olson,et al.  Optimizing Sparse Matrix—Matrix Multiplication for the GPU , 2015, ACM Trans. Math. Softw..

[32]  Sang-Wook Kim,et al.  Efficient Sparse Matrix Multiplication on GPU for Large Social Network Analysis , 2015, CIKM.

[33]  John D. Owens,et al.  Fast Sparse Matrix and Sparse Vector Multiplication Algorithm on the GPU , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[34]  Pradeep Dubey,et al.  GraphMat: High performance graph analytics made productive , 2015, Proc. VLDB Endow..

[35]  Ryan A. Rossi,et al.  The Network Data Repository with Interactive Graph Analytics and Visualization , 2015, AAAI.

[36]  Samuel Williams,et al.  High-Productivity and High-Performance Analysis of Filtered Semantic Graphs , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[37]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[38]  Kamesh Madduri,et al.  Parallel breadth-first search on distributed memory systems , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[39]  Jieping Ye,et al.  A least squares formulation for a class of generalized eigenvalue problems in machine learning , 2009, ICML '09.

[40]  Fred G. Gustavson,et al.  Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition , 1978, TOMS.

[41]  Ran Ginosar,et al.  Accelerator for Sparse Machine Learning , 2018, IEEE Computer Architecture Letters.

[42]  Eriko Nurvitadhi,et al.  Fine-grained accelerators for sparse machine learning workloads , 2017, 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC).