Title
Artisan: a Meta-Programming Approach For Codifying Optimisation Strategies
Abstract
This paper provides a novel compilation approach that addresses the complexity of mapping high-level descriptions to heterogeneous platforms, improving design productivity and maintainability. Our approach is based on a co-design methodology decoupling functional concerns from optimisation concerns, allowing two separate descriptions to be independently maintained by two types of programmers: application experts focus on algorithmic behaviour, while platform experts focus on the mapping process. Our approach supports two key requirements: (1) Customisable optimisations to rapidly capture a wide range of mapping strategies, and (2) Reusable strategies to allow optimisations to be described once and applied to multiple applications. To evaluate our approach, we develop Artisan, a meta-programming tool for codifying optimisation strategies using a high-level general-purpose programming language (Python 3), offering full design-flow orchestration of key components (source-code, third-party tools, and platforms). We evaluate Artisan using three case study applications and three reusable optimisation strategies, achieving at least 24 times speedup for each application on CPU and FPGA targets with little application developer effort.
Year
DOI
Venue
2020
10.1109/FCCM48280.2020.00032
2020 IEEE 28th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)
Keywords
DocType
ISSN
Artisan,compilation,heterogeneous platforms,design productivity,maintainability,meta-programming tool,reusable optimisation,high level general purpose programming language,co-design methodology decoupling,high-level descriptions mapping,design tools
Conference
2576-2613
ISBN
Citations 
PageRank 
978-1-7281-5804-4
1
0.36
References 
Authors
6
5
Name
Order
Citations
PageRank
Jessica Vandebon121.85
J. G. F. Coutinho212517.26
Wayne Luk33752438.09
Eriko Nurvitadhi439933.08
Tim Todman56512.10