Program-to-Circuit: Exploiting GNNs for Program Representation and Circuit Translation
Not on the map. Why?
Abstract (arXiv)
Circuit design is complicated and requires extensive domain-specific expertise. One major obstacle stuck on the way to hardware agile development is the considerably time-consuming process of accurate circuit quality evaluation. To significantly expedite the circuit evaluation during the translation from behavioral languages to circuit designs, we formulate it as a Program-to-Circuit problem, aiming to exploit the representation power of graph neural networks (GNNs) by representing C/C++ programs as graphs. The goal of this work is four-fold. First, we build a standard benchmark containing 40k C/C++ programs, each of which is translated to a circuit design with actual hardware quality metrics, aiming to facilitate the development of effective GNNs targeting this high-demand circuit design area. Second, 14 state-of-the-art GNN models are analyzed on the Program-to-Circuit problem. We identify key design challenges of this problem, which should be carefully handled but not yet solved by existing GNNs. The goal is to provide domain-specific knowledge for designing GNNs with suitable inductive biases. Third, we discuss three sets of real-world benchmarks for GNN generalization evaluation, and analyze the performance gap between standard programs and the real-case ones. The goal is to enable transfer learning from limited training data to real-world large-scale circuit design problems. Fourth, the Program-to-Circuit problem is a representative within the Program-to-X framework, a set of program-based analysis problems with various downstream tasks. The in-depth understanding of strength and weaknesses in applying GNNs on Program-to-Circuit could largely benefit the entire family of Program-to-X. Pioneering in this direction, we expect more GNN endeavors to revolutionize this high-demand Program-to-Circuit problem and to enrich the expressiveness of GNNs on programs.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 23 of its 50 references that are in the map. First posted on arXiv 13 Sep 2021.
Builds on
23 of 50 references.
References · 23
- 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,282
- 2017Graph Attention Networkscited by 8,854
- 2017Inductive Representation Learning on Large Graphscited by 6,284
- 2018How Powerful are Graph Neural Networks?cited by 4,355
- 2017Neural Message Passing for Quantum Chemistrycited by 3,460
- 2019Fast Graph Representation Learning with PyTorch Geometriccited by 2,414
- 2020Open Graph Benchmark: Datasets for Machine Learning on Graphscited by 2,148
- 2017Modeling Relational Data with Graph Convolutional Networkscited by 1,684
- 2019Simplifying Graph Convolutional Networkscited by 1,470
- 2015Gated Graph Sequence Neural Networkscited by 792
- 2019Graph Neural Networks for Social Recommendationcited by 711
- 2019Graph U-Netscited by 489
11 more
- 2020Principal Neighbourhood Aggregation for Graph Netscited by 477
- 2019Provably Powerful Graph Networkscited by 385
- 2019Graph Neural Networks with convolutional ARMA filterscited by 185
- 2020GCN-RL Circuit Designer: Transferable Transistor Sizing with Graph Neural Networks and Reinforcement Learningcited by 89
- 2020Chip Placement with Deep Reinforcement Learningcited by 83
- 2019GNN-FiLM: Graph Neural Networks with Feature-wise Linear Modulationcited by 75
- 2018Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networkscited by 43
- 2020Path Integral Based Convolution and Pooling for Graph Neural Networkscited by 35
- 2021IronMan: GNN-assisted Design Space Exploration in High-Level Synthesis via Reinforcement Learningcited by 26
- 2019Learning Execution through Neural Code Fusioncited by 13
- 2017Liveness-Driven Random Program Generationcited by 4
Built on by
Citing papers per year: 2022: 1.
1 paper.