Show simple item record

dc.contributor.authorSenanayake, Ryan
dc.contributor.authorHong, Changwan
dc.contributor.authorWang, Ziheng
dc.contributor.authorWilson, Amalee
dc.contributor.authorChou, Stephen
dc.contributor.authorKamil, Shoaib
dc.contributor.authorAmarasinghe, Saman
dc.contributor.authorKjolstad, Fredrik
dc.date.accessioned2021-10-27T20:04:00Z
dc.date.available2021-10-27T20:04:00Z
dc.date.issued2020
dc.identifier.urihttps://hdl.handle.net/1721.1/134211
dc.description.abstract© 2020 Owner/Author. We address the problem of optimizing sparse tensor algebra in a compiler and show how to define standard loop transformations - -split, collapse, and reorder - -on sparse iteration spaces. The key idea is to track the transformation functions that map the original iteration space to derived iteration spaces. These functions are needed by the code generator to emit code that maps coordinates between iteration spaces at runtime, since the coordinates in the sparse data structures remain in the original iteration space. We further demonstrate that derived iteration spaces can tile both the universe of coordinates and the subset of nonzero coordinates: the former is analogous to tiling dense iteration spaces, while the latter tiles sparse iteration spaces into statically load-balanced blocks of nonzeros. Tiling the space of nonzeros lets the generated code efficiently exploit heterogeneous compute resources such as threads, vector units, and GPUs. We implement these concepts by extending the sparse iteration theory implementation in the TACO system. The associated scheduling API can be used by performance engineers or it can be the target of an automatic scheduling system. We outline one heuristic autoscheduling system, but other systems are possible. Using the scheduling API, we show how to optimize mixed sparse-dense tensor algebra expressions on CPUs and GPUs. Our results show that the sparse transformations are sufficient to generate code with competitive performance to hand-optimized implementations from the literature, while generalizing to all of the tensor algebra.en_US
dc.language.isoen
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionof10.1145/3428226en_US
dc.rightsCreative Commons Attribution 4.0 International licenseen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceACMen_US
dc.titleA sparse iteration space transformation framework for sparse tensor algebraen_US
dc.typeArticleen_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2021-09-27T14:41:22Z
dspace.orderedauthorsSenanayake, R; Hong, C; Wang, Z; Wilson, A; Chou, S; Kamil, S; Amarasinghe, S; Kjolstad, Fen_US
dspace.date.submission2021-09-27T14:41:23Z
mit.journal.volume4en_US
mit.journal.issueOOPSLAen_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record