Loop and data transformations for sparse matrix code

Anand Venkat, Mary Hall, Michelle Strout

Research output: Contribution to journalArticlepeer-review

48 Scopus citations

Abstract

This paper introduces three new compiler transformations for representing and transforming sparse matrix computations and their data representations. In cooperation with run-time inspection, our compiler derives transformed matrix representations and associated transformed code to implement a variety of representations targeting different architecture platforms. This systematic approach to combining code and data transformations on sparse computations, which extends a polyhedral transformation and code generation framework, permits the compiler to compose these transformations with other transformations to generate code that is on average within 5% and often exceeds manually-tuned, highperformance sparse matrix libraries CUSP and OSKI. Additionally, the compiler-generated inspector codes are on average 1.5× faster than OSKI and perform comparably to CUSP, respectively.

Original languageEnglish (US)
Pages (from-to)521-532
Number of pages12
JournalACM SIGPLAN Notices
Volume50
Issue number6
DOIs
StatePublished - Jun 2015
Externally publishedYes

Keywords

  • Inspector/executor
  • Loop transformations
  • Non-affine
  • Polyhedral model
  • Sparse matrices

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Loop and data transformations for sparse matrix code'. Together they form a unique fingerprint.

Cite this