Automated FPGA Design Space Partitioning for Accelerator Synthesis

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

VSEngineering 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

Engineering Contradiction:
Improvedesign flexibilityVSAvoidprogramming time
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Manufacturing precision

If exhaustive design space exploration is performed, then optimal design solutions are improved, but compile time and computational resources increase significantly

Engineering Contradiction:
Improvedesign optimizationVSAvoidcompile time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If parallel processing is implemented, then design evaluation speed is improved, but system complexity and resource requirements increase

Engineering Contradiction:
Improveevaluation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11429767B2Accelerator automation framework for heterogeneous computing in datacenters
Publication Date: 2022.08.30 XILINX INC
  • US11429767B2 patent drawing
  • US11429767B2 patent drawing
  • US11429767B2 patent drawing

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.