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 language | English (US) |
|---|---|
| Pages (from-to) | 521-532 |
| Number of pages | 12 |
| Journal | ACM SIGPLAN Notices |
| Volume | 50 |
| Issue number | 6 |
| DOIs | |
| State | Published - Jun 2015 |
| Externally published | Yes |
Keywords
- Inspector/executor
- Loop transformations
- Non-affine
- Polyhedral model
- Sparse matrices
ASJC Scopus subject areas
- General Computer Science