Declarative Loop Tactics for Domain-specific Optimization - Archive ouverte HAL Access content directly
Journal Articles ACM Transactions on Architecture and Code Optimization Year : 2019

Declarative Loop Tactics for Domain-specific Optimization

(1, 2) , (3) , (4) , (2)
1
2
3
4

Abstract

Increasingly complex hardware makes the design of effective compilers difficult. To reduce this problem,we introduceDeclarative Loop Tactics, which is a novel framework of composable program transformationsbased on an internal tree-like program representation of a polyhedral compiler. The framework is based ona declarative C++ API built around easy-to-program matchers and builders, which provide the foundation todevelop loop optimization strategies. Using our matchers and builders, we express computational patternsand core building blocks, such as loop tiling, fusion, and data-layout transformations, and compose them intoalgorithm-specific optimizations. Declarative Loop Tactics (Loop Tactics for short) can be applied to manydomains. For two of them, stencils and linear algebra, we show how developers can express sophisticateddomain-specific optimizations as a set of composable transformations or calls to optimized libraries. By al-lowing developers to add highly customized optimizations for a given computational pattern, we expect ourapproach to reduce the need for DSLs and to extend the range of optimizations that can be performed by acurrent general-purpose compiler.

Dates and versions

hal-02458680 , version 1 (28-01-2020)

Identifiers

Cite

Lorenzo Chelini, Oleksandr Zinenko, Tobias Grosser, Henk Corporaal. Declarative Loop Tactics for Domain-specific Optimization. ACM Transactions on Architecture and Code Optimization, 2019, 16 (4), pp.4:1-25. ⟨10.1145/3372266⟩. ⟨hal-02458680⟩
61 View
0 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More