Notice

This is not the latest version of this item. The latest version can be found at:https://dspace.mit.edu/handle/1721.1/132254.2

Show simple item record

dc.contributor.authorChou, Stephen
dc.contributor.authorKjolstad, Fredrik
dc.contributor.authorAmarasinghe, Saman
dc.date.accessioned2021-09-20T18:21:30Z
dc.date.available2021-09-20T18:21:30Z
dc.identifier.urihttps://hdl.handle.net/1721.1/132254
dc.description.abstract© 2020 Owner/Author. This paper shows how to generate code that efficiently converts sparse tensors between disparate storage formats (data layouts) such as CSR, DIA, ELL, and many others. We decompose sparse tensor conversion into three logical phases: coordinate remapping, analysis, and assembly. We then develop a language that precisely describes how different formats group together and order a tensor's nonzeros in memory. This lets a compiler emit code that performs complex remappings of nonzeros when converting between formats. We also develop a query language that can extract statistics about sparse tensors, and we show how to emit efficient analysis code that computes such queries. Finally, we define an abstract interface that captures how data structures for storing a tensor can be efficiently assembled given specific statistics about the tensor. Disparate formats can implement this common interface, thus letting a compiler emit optimized sparse tensor conversion code for arbitrary combinations of many formats without hard-coding for any specific combination. Our evaluation shows that the technique generates sparse tensor conversion routines with performance between 1.00 and 2.01× that of hand-optimized versions in SPARSKIT and Intel MKL, two popular sparse linear algebra libraries. And by emitting code that avoids materializing temporaries, which both libraries need for many combinations of source and target formats, our technique outperforms those libraries by 1.78 to 4.01× for CSC/COO to DIA/ELL conversion.en_US
dc.language.isoen
dc.publisherACMen_US
dc.relation.isversionof10.1145/3385412.3385963en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourcearXiven_US
dc.titleAutomatic generation of efficient sparse tensor format conversion routinesen_US
dc.typeArticleen_US
dc.relation.journalProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2020-11-24T17:25:38Z
dspace.orderedauthorsChou, S; Kjolstad, F; Amarasinghe, Sen_US
dspace.date.submission2020-11-24T17:25:41Z
mit.licenseOPEN_ACCESS_POLICY
mit.metadata.statusAuthority Work and Publication Information Needed


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

VersionItemDateSummary

*Selected version