Title
Absinthe: Learning an Analytical Performance Model to Fuse and Tile Stencil Codes in One Shot
Abstract
Expensive data movement makes the optimal target-specific selection of data-locality transformations essential. Loop fusion and tiling are the most important data-locality transformations. Their optimal selection is hard since good tile size choices inherently depend on the fusion choices and vice versa. Existing approaches avoid this difficulty by optimizing independent analytical models or by reverting to heuristics. Absinthe formulates the first unified linear optimization problem to derive single shot fusion and tile size decisions for stencil codes. At the core of our optimization problem, we place a learned analytic performance model that captures the characteristics of the target system. The tuned application kernels demonstrate excellent performance within 10% of exhaustively auto-tuned versions and up to 74% faster than the results of independent optimization with max fusion heuristic and Absinthe tile size selection. While the full search space is non-linear, bounding it to relevant solutions enables the efficient exploration of the exponential search space using linear solvers. As a result, the tuning of our application kernels takes less than one minute. Our approach thus establishes the foundations for next-generation compilers, which exploit empirical information to guide target-specific code transformations.
Year
DOI
Venue
2019
10.1109/PACT.2019.00036
2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT)
Keywords
Field
DocType
stencils, performance model, data-locality
Kernel (linear algebra),Loop fusion,Heuristic,Exponential search,Computer science,Parallel computing,Algorithm,Stencil code,Heuristics,Optimization problem,Bounding overwatch
Conference
ISSN
ISBN
Citations 
1089-795X
978-1-7281-3614-1
0
PageRank 
References 
Authors
0.34
20
3
Name
Order
Citations
PageRank
Tobias Gysi131.11
Tobias Grosser227116.04
Torsten Hoefler32197163.64