Litcius/Paper detail

Graph Neural Networks for High-Level Synthesis Design Space Exploration

Lorenzo Ferretti, Andrea Cini, Georgios Zacharopoulos, Cesare Alippi, Laura Pozzi

2022ACM Transactions on Design Automation of Electronic Systems35 citationsDOIOpen Access PDF

Abstract

High-level Synthesis (HLS) Design-Space Exploration (DSE) aims at identifying Pareto-optimal synthesis configurations whose exhaustive search is unfeasible due to the design-space dimensionality and the prohibitive computational cost of the synthesis process. Within this framework, we address the design automation problem by proposing graph neural networks that jointly predict acceleration performance and hardware costs of a synthesized behavioral specification given optimization directives. Learned models can be used to rapidly approach the Pareto curve by guiding the DSE, taking into account performance and cost estimates. The proposed method outperforms traditional HLS-driven DSE approaches, by accounting for the arbitrary length of computer programs and the invariant properties of the input. We propose a novel hybrid control and dataflow graph representation that enables training the graph neural network on specifications of different hardware accelerators. Our approach achieves prediction accuracy comparable with that of state-of-the-art simulators without having access to analytical models of the HLS compiler. Finally, the learned representation can be exploited for DSE in unexplored configuration spaces by fine-tuning on a small number of samples from the new target domain. The outcome of the empirical evaluation of this transfer learning shows strong results against state-of-the-art baselines in relevant benchmarks.

Topics & Concepts

Computer scienceDataflowDesign space explorationHigh-level synthesisCompilerGraphArtificial neural networkTheoretical computer scienceComputer engineeringComputer architectureArtificial intelligenceParallel computingEmbedded systemProgramming languageField-programmable gate arrayMachine Learning in Materials ScienceSoftware Engineering ResearchParallel Computing and Optimization Techniques