Chimera: A Hybrid Machine Learning Driven Multi-Objective Design Space Exploration Tool for FPGA High-Level Synthesis

Mang Yu,Sitao Huang,Deming Chen
DOI: https://doi.org/10.48550/arXiv.2207.07917
2022-07-04
Abstract:In recent years, hardware accelerators based on field-programmable gate arrays (FPGAs) have been widely adopted, thanks to FPGAs' extraordinary flexibility. However, with the high flexibility comes the difficulty in design and optimization. Conventionally, these accelerators are designed with low-level hardware descriptive languages, which means creating large designs with complex behavior is extremely difficult. Therefore, high-level synthesis (HLS) tools were created to simplify hardware designs for FPGAs. They enable the user to create hardware designs using high-level languages and provide various optimization directives to help to improve the performance of the synthesized hardware. However, applying these optimizations to achieve high performance is time-consuming and usually requires expert knowledge. To address this difficulty, we present an automated design space exploration tool for applying HLS optimization directives, called Chimera, which significantly reduces the human effort and expertise needed for creating high-performance HLS designs. It utilizes a novel multi-objective exploration method that seamlessly integrates active learning, evolutionary algorithm, and Thompson sampling, making it capable of finding a set of optimized designs on a Pareto curve with only a small number of design points evaluated during the exploration. In the experiments, in less than 24 hours, this hybrid method explored design points that have the same or superior performance compared to highly optimized hand-tuned designs created by expert HLS users from the Rosetta benchmark suite. In addition to discovering the extreme points, it also explores a Pareto frontier, where the elbow point can potentially save up to 26\% of Flip-Flop resource with negligibly higher latency.
Hardware Architecture,Machine Learning,Neural and Evolutionary Computing
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is how to efficiently apply high - level synthesis (HLS) optimization instructions in the design of highly flexible FPGA (Field - Programmable Gate Array) hardware accelerators to reduce the need for manual effort and expertise. Specifically, the paper proposes an automated design - space exploration tool named Chimera, which aims to address these challenges in the following ways: 1. **Multi - objective optimization**: Traditional HLS optimization is usually aimed at a single objective (such as low latency or low resource consumption), while Chimera can optimize multiple objectives simultaneously, such as latency, resource usage, and power consumption, and find the optimal balance among these objectives. 2. **Reducing the number of HLS invocations**: Since each HLS synthesis process may take several minutes, evaluating a large number of design points can be very time - consuming. Chimera significantly reduces the number of design points that need to be evaluated by combining techniques such as active learning, evolutionary algorithms, and Thompson sampling, thus speeding up the exploration process. 3. **Avoiding local optima**: The highly nonlinear and multimodal nature of the HLS design space makes optimization methods prone to getting stuck in local optima. Chimera adopts a hybrid strategy and dynamically adjusts the balance between exploration and exploitation during the exploration process, effectively avoiding this problem. 4. **Handling complex interactions**: There are complex interactions among different optimization instructions in HLS. Modifying a single instruction alone may not lead to performance improvement or may even cause performance degradation. Chimera can better handle these complex interaction relationships by integrating multiple optimization techniques. In summary, Chimera aims to help designers explore the FPGA HLS design space more efficiently and find high - performance design configurations through intelligent and automated means, without requiring a great deal of expertise and manual tuning.