A Graph Deep Learning Framework for High-Level Synthesis Design Space Exploration
arXiv:2111.14767
Abstract
The design of efficient hardware accelerators for high-throughput data-processing applications, e.g., deep neural networks, is a challenging task in computer architecture design. In this regard, High-Level Synthesis (HLS) emerges as a solution for fast prototyping application-specific hardware starting from a behavioural description of the application computational flow. This Design-Space Exploration (DSE) aims at identifying Pareto optimal synthesis configurations whose exhaustive search is often unfeasible due to the design-space dimensionality and the prohibitive computational cost of the synthesis process. Within this framework, we effectively and efficiently address the design problem by proposing, for the first time in the literature, graph neural networks that jointly predict acceleration performance and hardware costs of a synthesized behavioral specification given optimization directives. The learned model 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 arbitrary length of computer programs and the invariant properties of the input. We propose a novel hybrid control and data flow graph representation that enables training the graph neural network on specifications of different hardware accelerators; the methodology naturally transfers to unseen data-processing applications too. Moreover, we show that our approach achieves prediction accuracy comparable with that of commonly used simulators without having access to analytical models of the HLS compiler and the target FPGA, while being orders of magnitude faster. 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.
References in corpus (12)
- Deep Learning in Neural Networks: An Overview
- PyTorch: An Imperative Style, High-Performance Deep Learning Library
- Inductive Representation Learning on Large Graphs
- Neural Message Passing for Quantum Chemistry
- Fast Graph Representation Learning with PyTorch Geometric
- Learning Deep Generative Models of Graphs
- Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation
- Graph Matching Networks for Learning the Similarity of Graph Structured Objects
- Design Space for Graph Neural Networks
- Chip Placement with Deep Reinforcement Learning
- Neural Graph Evolution: Towards Efficient Automatic Robot Design
- Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks