Database-Driven Place and Route for CGRA Compilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current CGRA compilers face challenges in reducing compile time and achieving efficient dataflow execution due to the complexity of placing and routing operations on configurable units, particularly in coarse-grain reconfigurable architectures.
Innovation Solution
An iterative database-driven place and route system that utilizes a graph neural network to classify unplaced unit graphs against a database of previously placed reference graphs, identifying matching subgraphs and assigning placement positions to reduce the placement time and overall compile time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional compiler techniques are used for placing and routing operations on configurable units, then the system can handle various functions, but the compile time becomes excessively long
Solution Approach 1:
The system performs preliminary actions by pre-computing and storing placement and routing solutions for common computation graphs in a database. When a new computation graph needs to be placed, the system queries the database for pre-computed solutions rather than performing exhaustive search from scratch, significantly reducing compile time while maintaining quality through empirical validation of stored solutions.
Solution Approach 2:
The system copies successful placement and routing solutions from the database for similar computation graphs. By identifying computation graphs with similar characteristics and copying their pre-optimized placements, the system avoids redundant computational effort and achieves fast compile times while preserving the quality of traditional exhaustive methods.
2Productivity
If coarse-grain reconfigurable architecture is used with complex configurable units, then dataflow execution efficiency improves, but the placement and routing problem becomes more difficult
Solution Approach 1:
The system pre-computes and stores optimized placement and routing solutions for common computation graphs in the database. This preliminary action captures the complexity of coarse-grain architecture constraints in advance, allowing rapid retrieval of pre-optimized solutions without repeatedly solving the complex placement and routing problem during actual compilation.
Solution Approach 2:
The system incorporates feedback from empirical validation of placed graphs to refine the database and improve future placements. By analyzing which pre-computed solutions perform well in actual execution and using this feedback to update the database, the system continuously improves its placement quality while maintaining fast compile times.
Data Source
AI summary
This application provides an example method, an example system, and an example non-transitory computer-readable medium for iterative database driven place and route. One example method includes adding an unplaced unit graph to a priority list, selecting a current subgraph of the unplaced unit graph from priority list, classifying the current subgraph of the unplaced unit graph against a database of previously placed reference unit graphs using a graph neural network to identify a nearest matching previously placed reference unit graph of the database, and determining a placed matching subgraph of the current subgraph of the unplaced unit graph from a placed matching subgraph of the nearest matching previously placed reference unit graph. The method also includes iteratively selecting, classifying, and determining, until the priority list is empty, and identifying a placement layout of configurable units of each placed matching subgraph of the unplaced unit graph onto a configurable units array.


