• DocumentCode
    58927
  • Title

    High-Level Strategies for Parallel Shared-Memory Sparse Matrix-Vector Multiplication

  • Author

    Yzelman, Albert-Jan Nicholas ; Roose, Dirk

  • Author_Institution
    Flanders ExaScience Lab. (Intel Labs. Eur.), Leuven, Belgium
  • Volume
    25
  • Issue
    1
  • fYear
    2014
  • fDate
    Jan. 2014
  • Firstpage
    116
  • Lastpage
    125
  • Abstract
    The sparse matrix-vector multiplication is an important computational kernel, but is hard to efficiently execute even in the sequential case. The problems--namely low arithmetic intensity, inefficient cache use, and limited memory bandwidth--are magnified as the core count on shared-memory parallel architectures increases. Existing techniques are discussed in detail, and categorized chiefly based on their distribution types. Based on this, new parallelization techniques are proposed. The theoretical scalability and memory usage of the various strategies are analyzed, and experiments on multiple NUMA architectures confirm the validity of the results. One of the newly proposed methods attains the best average result in experiments on a large set of matrices. In one of the experiments it obtains a parallel efficiency of 90 percent, while on average it performs close to 60 percent.
  • Keywords
    cache storage; matrix multiplication; parallel architectures; parallel memories; shared memory systems; sparse matrices; NUMA architectures; arithmetic intensity; cache use; computational kernel; high-level strategies; memory bandwidth; memory usage; parallel efficiency; parallel shared memory; parallelization techniques; shared-memory parallel architectures; sparse matrix-vector multiplication; Bandwidth; Computer architecture; Indexes; Kernel; Particle separators; Sparse matrices; Vectors; Hilbert space-filling curve; NUMA architectures; Sparse matrix-vector multiplication; cache-oblivious; high-performance computing; matrix reordering; shared-memory parallelism; sparse matrix partitioning;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2013.31
  • Filename
    6463397