
@article{yzelman14a,
 author = "Yzelman, A. N. and Roose, D.",
 title = "High-level strategies for parallel shared-memory sparse matrix--vector multiplication",
 journal = "{IEEE} Transactions on Parallel and Distributed Systems",
 year = "2014",
 publisher = "{IEEE} Computer Society",
 address = "Los Alamitos, {CA}, {USA}",
 doi = "10.1109/TPDS.2013.31",
 volume = "25",
 number = "1",
 pages = "116-125",
 issn = "1045-9219",
 keywords = "Sparse matrix--vector multiplication",
 keywords = "shared-memory parallelism",
 keywords = "cache-oblivious",
 keywords = "sparse matrix partitioning",
 keywords = "matrix reordering",
 keywords = "Hilbert space-filling curve",
 keywords = "high-performance computing",
 keywords = "{NUMA} architectures",
 abstract = "The sparse matrix--vector multiplication is an important 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 categorised chiefly based on their distribution types. Based on this new parallelisation techniques are proposed. The theoretical scalability and memory usage of the various strategies are analysed, 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, in one of the experiments obtaining a parallel efficiency of 90 percent."
}

