Abstract
Despite years of research, the optimization strategy of loop-level optimization frameworks remains fragile when addressing modern and heterogeneous architectures. Furthermore, optimizers act as an opaque operation, a black-box, to the users, forcing them to tedious an error-prone manual optimization if imprecise cost models are used. Current solutions, to drive loop-level optimizers rely on pragmas or bake the transformations recipes in the source code using imperative embedded scripting. But, the optimization of programs via a sequence of imperative directives is unlikely to solve this problem fully as expressing optimization is still an error-prone and time-consuming task for the users. The ideal solution would be a declarative approach that allows the users to opt-in if the optimizer has made a poor optimization decision but avoid baking the transformation script within a given application or bind it to a particular loop nest. Based on such an idea, we propose LoopOpt, an interactive tool that enables users to design optimizations in partnership with the compiler in a declarative way. Thus, our approach opens the polyhedral black-box allowing users to design complex optimizations sequences in a declarative way.
Author supplied keywords
Cite
CITATION STYLE
Chelini, L., Kong, M., Grosser, T., & Corporaal, H. (2021). LoopOpt: Declarative Transformations Made Easy. In Proceedings of the 24th International Workshop on Software and Compilers for Embedded Systems, SCOPES 2021 (pp. 11–16). Association for Computing Machinery, Inc. https://doi.org/10.1145/3493229.3493301
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.