2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) 2017
DOI: 10.1109/cgo.2017.7863746
|View full text |Cite
|
Sign up to set email alerts
|

Discovery and exploitation of general reductions: A constraint based approach

Abstract: Discovering and exploiting scalar reductions in programs has been studied for many years. The discovery of more complex reduction operations has, however, received less attention. Such reductions contain compile-time unknown parameters, indirect memory accesses and dynamic control flow, which are challenging for existing approaches.In this paper we develop a new compiler based approach that automatically detects a wide class of reductions. This is based on a constraint formulation of the reduction idiom and ha… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
6

Relationship

1
5

Authors

Journals

citations
Cited by 11 publications
(13 citation statements)
references
References 33 publications
0
13
0
Order By: Relevance
“…Halide [26] is another parallelization tool based on SMT solver. Ginsbach et al presented techniques to discover reductions including simple scalar reductions and complex histogram reductions [14]. As shown in our evaluation, the state-of-the-art tool in this line of research, Parsynt from Farzan et al [11] cannot parallelize certain loops that our approach can work on.…”
Section: Related Workmentioning
confidence: 84%
“…Halide [26] is another parallelization tool based on SMT solver. Ginsbach et al presented techniques to discover reductions including simple scalar reductions and complex histogram reductions [14]. As shown in our evaluation, the state-of-the-art tool in this line of research, Parsynt from Farzan et al [11] cannot parallelize certain loops that our approach can work on.…”
Section: Related Workmentioning
confidence: 84%
“…The C++ representation of the constraints and the user program LLVM IR code are then passed as inputs to a backtracking solver [16], which detects all cases where the idioms can be found in the LLVR IR.…”
Section: Compiler Flowmentioning
confidence: 99%
“…The compiler then emits C++ code which is passed to a generic solver based on [16] to search for idiom instances. This solver is based on standard backtracking.…”
Section: Compilation Process and Implementationmentioning
confidence: 99%
See 2 more Smart Citations