2017
DOI: 10.1145/3156695.3122971
|View full text |Cite
|
Sign up to set email alerts
|

Streaming irregular arrays

Abstract: Previous work has demonstrated that it is possible to generate efficient and highly parallel code for multicore CPUs and GPUs from combinator-based array languages for a range of applications. That work, however, has been limited to operating on flat, rectangular structures without any facilities for irregularity or nesting. In this paper, we show that even a limited form of nesting provides substantial benefits both in terms of the expressiveness of the language (increasing modularity and providing … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 55 publications
0
3
0
Order By: Relevance
“…We implemented embedded pattern matching in Accelerate [Chakravarty et al 2011;Clifton-Everest et al 2017;McDonell et al 2015McDonell et al , 2013van den Haak et al 2020], an open source language embedded in Haskell for data-parallel array computations. Accelerate code embedded in Haskell is not compiled by the Haskell compiler: instead, the Accelerate library includes a runtime compiler which generates and compiles parallel SIMD or GPU code at application runtime.…”
Section: Case Studymentioning
confidence: 99%

Embedded Pattern Matching

McDonell,
Meredith,
Keller
2021
Preprint
Self Cite
“…We implemented embedded pattern matching in Accelerate [Chakravarty et al 2011;Clifton-Everest et al 2017;McDonell et al 2015McDonell et al , 2013van den Haak et al 2020], an open source language embedded in Haskell for data-parallel array computations. Accelerate code embedded in Haskell is not compiled by the Haskell compiler: instead, the Accelerate library includes a runtime compiler which generates and compiles parallel SIMD or GPU code at application runtime.…”
Section: Case Studymentioning
confidence: 99%

Embedded Pattern Matching

McDonell,
Meredith,
Keller
2021
Preprint
Self Cite
“…Generic high-level code generators have to stick to generic data representations. In some high performance code generators, such as Accelerate [15], runtime information is injected in the data structure directly to model irregularity [7]. While this approach is very flexible, it introduces runtime computation that could be avoided, and it limits somewhat the range of possible sparse formats expressed.…”
Section: Representing Sparse Datamentioning
confidence: 99%
“…Streaming irregular arrays [7] represent a solution for expressing sparse data structure in the high-level code generator Accelerate [15]. Similarly to our approach, it use typing information to model the shape of the sparse data structure, but is more reliant on runtime support.…”
Section: Streaming Irregular Arraysmentioning
confidence: 99%