Automated FPGA Design Space Partitioning for Accelerator Synthesis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing FPGA programming tools require significant manual effort from users to develop accelerator designs, and existing high-level synthesis tools face challenges with long compile times and complex factor dependencies, making it impractical to exhaustively explore vast design spaces for high-performance computing applications.
Innovation Solution
An automated framework that partitions the design space into independent partitions, assigns unique processing cores to each partition, and uses machine learning algorithms to generate starting points and determine feasible designs, addressing the inefficiencies in existing tools by implementing parallel design space exploration and early stopping criteria.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual FPGA programming tools are used, then design flexibility and control are improved, but programming time and effort increase significantly
Solution Approach 1:
The system performs automated design space exploration and accelerator generation without requiring manual programming intervention. The framework automatically partitions design spaces, evaluates design points using machine learning algorithms, and generates synthesis-ready code, allowing the system to serve itself rather than requiring continuous human input.
Solution Approach 2:
The patent replaces manual mechanical programming processes with automated computational systems. Machine learning algorithms and automated evaluation frameworks substitute for the manual trial-and-error process, transforming the mechanical act of programming into an automated computational workflow that generates accelerator designs without human intervention.
2Manufacturing precision
If exhaustive design space exploration is performed, then optimal design solutions are improved, but compile time and computational resources increase significantly
Solution Approach 1:
The system performs preliminary partitioning of the design space into independent regions before evaluation. By pre-identifying promising design regions and generating starting points for machine learning algorithms, the system prepares the exploration process in advance, avoiding exhaustive search while maintaining the ability to find optimal solutions.
Solution Approach 2:
The framework performs partial exploration of the design space by focusing on independently partitioned regions rather than exhaustively evaluating all possible design points. Machine learning algorithms evaluate a representative subset of design points, providing sufficient optimization without the computational burden of complete exhaustion.
3Productivity
If parallel processing is implemented, then design evaluation speed is improved, but system complexity and resource requirements increase
Solution Approach 1:
The design space is segmented into independent partitions that can be evaluated in parallel. Each partition represents a distinct region of the design space with its own starting points and evaluation criteria, allowing multiple processing units to work simultaneously on different segments without requiring complex coordination or communication between them.
Data Source
AI summary
Systems and methods for designing an information processing system are described. In one embodiment, a design space is partitioned into a plurality of independent partitions based on a defined set of rules. A unique processing core is assigned to each partition. A plurality of starting points is generated for each partition, where each starting point is associated with a machine learning algorithm. The starting points for each partition may include a performance driven seed and an area-driven seed. A set of feasible designs associated with the information processing system are determined.


