A Unified Framework for Automated Code Transformation and Pragma Insertion
St\'ephane Pouget, Louis-No\"el Pouchet, Jason Cong

TL;DR
This paper introduces a unified framework that automates code transformation, pragma insertion, and tile size selection for high-level synthesis, improving design quality and reducing manual effort using a novel NLP approach.
Contribution
It presents a comprehensive NLP-based system that simultaneously determines code transformations, pragmas, and tile sizes within a unified optimization framework for loop-based kernels.
Findings
Effectively identifies necessary code transformations and pragmas.
Enhances parallelization for computation-bound kernels.
Reduces manual intervention in code optimization processes.
Abstract
High-level synthesis, source-to-source compilers, and various Design Space Exploration techniques for pragma insertion have significantly improved the Quality of Results of generated designs. These tools offer benefits such as reduced development time and enhanced performance. However, achieving high-quality results often requires additional manual code transformations and tiling selections, which are typically performed separately or as pre-processing steps. Although DSE techniques enable code transformation upfront, the vastness of the search space often limits the exploration of all possible code transformations, making it challenging to determine which transformations are necessary. Additionally, ensuring correctness remains challenging, especially for complex transformations and optimizations. To tackle this obstacle, we first propose a comprehensive framework leveraging HLS…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies
