Hardware Engine Optimization Framework for Task Graph Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing hardware engines for software applications is cumbersome and restrictive, as it relies on analyzing the current state of the software and mapping it to specific hardware, making it difficult to assess performance for new applications or implementations, and limiting optimization to later stages of system development.

Innovation Solution

A framework for application-driven exploration and optimization of hardware acceleration engines, which involves simulating task graphs with different hardware resource configurations to generate interfaces for performance analysis and data visualization, enabling early optimization and evaluation of hardware and software tradeoffs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware engines are designed for specific software applications, then execution speed and efficiency are improved, but design complexity and development time increase

Engineering Contradiction:
Improveexecution speedVSAvoiddesign complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the software application into discrete task graphs that can be independently mapped to hardware resources. Each task graph represents a specific computational workflow that can be analyzed and implemented separately, reducing overall design complexity while maintaining execution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis and simulation of task graphs before final hardware implementation. By evaluating different hardware resource configurations through simulation in the design phase, the system identifies optimal mappings without requiring complex iterative hardware redesigns, thus reducing design complexity while ensuring speed optimization.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If hardware resource configurations are optimized for specific applications, then performance is improved, but adaptability to new applications decreases

Engineering Contradiction:
ImproveperformanceVSAvoidadaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal task graph representation that can model different software applications and their computational workflows. This abstract representation serves as an intermediary that enables the same hardware resource configuration framework to be applied across multiple applications, maintaining adaptability while allowing for application-specific optimizations through the task graph mapping process.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent utilizes configurable hardware resource parameters that can be adjusted based on the specific application requirements. By changing parameters such as resource allocation, task graph structure, and mapping configurations, the system can optimize performance for different applications without redesigning the entire hardware architecture, thus maintaining both performance and adaptability.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If software code is optimized, then development speed and portability are improved, but execution efficiency compared to hardware acceleration decreases

Engineering Contradiction:
Improvedevelopment speedVSAvoidexecution efficiency
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent implements a dynamic optimization approach where the system can adaptively determine the optimal balance between software and hardware implementation based on the specific computational tasks. Task graphs allow for flexible mapping decisions that can be made during design or even runtime, enabling the system to achieve high execution efficiency for computationally intensive operations while maintaining the ease of software development and portability for other operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12112202B2Framework for application driven exploration and optimization of hardware engines
Publication Date: 2024.10.08 SYNOPSYS INC
  • US12112202B2 patent drawing
  • US12112202B2 patent drawing
  • US12112202B2 patent drawing

AI summary

A system and method for evaluating optimization of a hardware engine are described herein. In an example embodiment, a first operation of a desired application is performed using one or more hardware resources each associated with one or more task graphs of a plurality of task graphs. A first result is recorded from a first simulation based on a first task graph of the plurality of task graphs implemented using a first configuration of a first hardware resource associated with the first task graph. A second result is recorded from a second simulation based on a second task graph of the plurality of task graphs implemented using a second configuration of a second hardware resource associated with the second task graph. An interface is generated based on the first result and the second result for rendering by a display device.