Affiliation:
1. Eindhoven University of Technology and IBM Research Zurich
2. Inria
3. ETH Zurich
4. Eindhoven University of Technology
Abstract
Increasingly complex hardware makes the design of effective compilers difficult. To reduce this problem, we introduce
Declarative Loop Tactics
, which is a novel framework of composable program transformations based on an internal tree-like program representation of a polyhedral compiler. The framework is based on a declarative C++ API built around easy-to-program matchers and builders, which provide the foundation to develop loop optimization strategies. Using our matchers and builders, we express computational patterns and core building blocks, such as loop tiling, fusion, and data-layout transformations, and compose them into algorithm-specific optimizations. Declarative Loop Tactics (Loop Tactics for short) can be applied to many domains. For two of them, stencils and linear algebra, we show how developers can express sophisticated domain-specific optimizations as a set of composable transformations or calls to optimized libraries. By allowing developers to add highly customized optimizations for a given computational pattern, we expect our approach to reduce the need for DSLs and to extend the range of optimizations that can be performed by a current general-purpose compiler.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Substitution of kernel functions based on pattern matching on schedule trees;The 53rd International Conference on Parallel Processing Workshops;2024-08-12
2. Source Matching and Rewriting for MLIR Using String-Based Automata;ACM Transactions on Architecture and Code Optimization;2023-03
3. Polyhedral-Based Compilation Framework for In-Memory Neural Network Accelerators;ACM Journal on Emerging Technologies in Computing Systems;2022-01-31
4. KernelFaRer;ACM Transactions on Architecture and Code Optimization;2021-09-30
5. Polygeist: Raising C to Polyhedral MLIR;2021 30th International Conference on Parallel Architectures and Compilation Techniques (PACT);2021-09