Database-Driven Place and Route for CGRA Compilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecompile timeVSAvoidplacement and routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedataflow execution efficiencyVSAvoidplacement and routing difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240220766A1Iterative database driven place and route for coarse-grain reconfigurable architectures
Publication Date: 2024.07.04 SAMBANOVA SYSTEMS INC
  • US20240220766A1 patent drawing
  • US20240220766A1 patent drawing
  • US20240220766A1 patent drawing

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.