• DocumentCode
    1783244
  • Title

    An Efficient GPU General Sparse Matrix-Matrix Multiplication for Irregular Data

  • Author

    Weifeng Liu ; Vinter, Brian

  • Author_Institution
    Niels Bohr Inst., Univ. of Copenhagen, Copenhagen, Denmark
  • fYear
    2014
  • fDate
    19-23 May 2014
  • Firstpage
    370
  • Lastpage
    381
  • Abstract
    General sparse matrix-matrix multiplication (SpGEMM) is a fundamental building block for numerous applications such as algebraic multigrid method, breadth first search and shortest path problem. Compared to other sparse BLAS routines, an efficient parallel SpGEMM algorithm has to handle extra irregularity from three aspects: (1) the number of the nonzero entries in the result sparse matrix is unknown in advance, (2) very expensive parallel insert operations at random positions in the result sparse matrix dominate the execution time, and (3) load balancing must account for sparse data in both input matrices. Recent work on GPU SpGEMM has demonstrated rather good both time and space complexity, but works best for fairly regular matrices. In this work we present a GPU SpGEMM algorithm that particularly focuses on the above three problems. Memory pre-allocation for the result matrix is organized by a hybrid method that saves a large amount of global memory space and efficiently utilizes the very limited on-chip scratchpad memory. Parallel insert operations of the nonzero entries are implemented through the GPU merge path algorithm that is experimentally found to be the fastest GPU merge approach. Load balancing builds on the number of the necessary arithmetic operations on the nonzero entries and is guaranteed in all stages. Compared with the state-of-the-art GPU SpGEMM methods in the CUSPARSE library and the CUSP library and the latest CPU SpGEMM method in the Intel Math Kernel Library, our approach delivers excellent absolute performance and relative speedups on a benchmark suite composed of 23 matrices with diverse sparsity structures.
  • Keywords
    arithmetic; computational complexity; graphics processing units; matrix multiplication; parallel processing; resource allocation; GPU general sparse matrix-matrix multiplication; algebraic multigrid method; arithmetic operations; execution time; fairly regular matrices; global memory space; graphics processing units; irregular data; load balancing; nonzero entries; on-chip scratchpad memory; parallel SpGEMM algorithm; parallel insert operations; space complexity; time complexity; Artificial neural networks; Graphics processing units; Instruction sets; Libraries; Load management; Sparse matrices; Upper bound; GPU; linear algebra; matrix multiplication; merging; parallel algorithms; sparse matrices;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2014 IEEE 28th International
  • Conference_Location
    Phoenix, AZ
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4799-3799-8
  • Type

    conf

  • DOI
    10.1109/IPDPS.2014.47
  • Filename
    6877271