2021
DOI: 10.1145/3485505
|View full text |Cite
|
Sign up to set email alerts
|

Compilation of sparse array programming models

Abstract: This paper shows how to compile sparse array programming languages. A sparse array programming language is an array programming language that supports element-wise application, reduction, and broadcasting of arbitrary functions over dense and sparse arrays with any fill value. Such a language has great expressive power and can express sparse and dense linear and tensor algebra, functions over images, exclusion and inclusion filters, and even graph algorithms. Our compiler strategy generalizes prior w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2021
2021
2022
2022

Publication Types

Select...
6
2

Relationship

3
5

Authors

Journals

citations
Cited by 21 publications
(10 citation statements)
references
References 21 publications
0
10
0
Order By: Relevance
“…Henry et al [35] generalized the sparse tensor algebra compilation theory from TACO [43] to support compilation of general dense and sparse array expressions, laying the foundation for a sparse NumPy-style system. In this system, arrays (tensors) can have any implicit fill value and any function can be computed across sparse and dense arrays.…”
Section: Sparse Compilersmentioning
confidence: 99%
“…Henry et al [35] generalized the sparse tensor algebra compilation theory from TACO [43] to support compilation of general dense and sparse array expressions, laying the foundation for a sparse NumPy-style system. In this system, arrays (tensors) can have any implicit fill value and any function can be computed across sparse and dense arrays.…”
Section: Sparse Compilersmentioning
confidence: 99%
“…Our algorithm is summarized in Figure 4. A benefit of our algorithm to analyze complexity is that it will extend to alternate fill values and operators which are not + or •, extensions to the TACO compiler explored in [16]. Nothing in our algorithm is specific to the choice of 0 or the operators we have chosen in our examples.…”
Section: Automatic Asymptotic Analysismentioning
confidence: 99%
“…Kotlyar et al proposed implementing sparse tensor algebra using relational algebra and database techniques [21][22][23][24], but did not give any techniques to optimize the generated code. It is unclear if these techniques would extend to the additional formats and operations proposed in [11,16] operations into relational queries, and proposed a few techniques to optimize the resulting join structures. However, this technique was not generalized beyond matrices, nor does it apply directly to tensor compilers and the kinds of programs they generate [40].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…To support such computations, our technique emits code that uses a set of loops to iterate over intersections or unions of the operands' nonzeros and compute with those nonzeros, as Figure 2c demonstrates for instance. Kjolstad et al [22] and Henry et al [17] describe how such loops can be generated assuming it is possible to enumerate the stored nonzeros of each operand. However, while Chou et al [11] show how code to perform such enumeration can be emitted for operands that are stored in static, array-based formats, their technique does not support dynamic, pointer-based sparse tensor formats.…”
Section: Generating Iteratorsmentioning
confidence: 99%