Adaptive Execution Engine for Convolution Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolution computations in convolutional neural networks (CNNs) are resource-demanding and inefficient due to mismatched problem sizes and hardware utilization, leading to suboptimal performance in both matrix and filter modes.

Innovation Solution

A system and method that adaptively select between matrix mode and filter mode for convolution computations based on analyzed resource utilization, utilizing a convolution module with processing elements that perform matrix multiplications or direct convolutions, depending on the characteristics of the CNN problem, to optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If convolution computations are performed using traditional fixed architecture, then hardware implementation is simple, but resource utilization is low and performance is suboptimal

Engineering Contradiction:
Improveconvolution computation performanceVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic architecture that can switch between matrix mode and filter mode based on the characteristics of the convolution problem. The system uses an analysis module to evaluate problem characteristics and generate mode select signals that dynamically reconfigure the processing elements, allowing the hardware to adapt its structure to match the computational requirements of different CNN layers and operations.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the system uses a fixed mode (either matrix or filter), then the architecture is simpler, but resource utilization is mismatched for different problem sizes

Engineering Contradiction:
Improveadaptation to different CNN problem characteristicsVSAvoidconfiguration and control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal processing element that can perform both matrix multiplications and convolution operations by reconfiguring its internal connections and data flow paths. The same physical hardware resources can be dynamically assigned to different computational modes depending on the problem characteristics, eliminating the need for separate dedicated hardware for each operation type.

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

Solution Approach 2:

The system employs dynamic reconfiguration through mode select signals that change the operational state of processing elements based on real-time analysis of problem characteristics. This allows the hardware to transition between different functional states (matrix mode, filter mode, or hybrid modes) to optimally match the computational requirements of different CNN layers.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the system analyzes and adapts to different problem characteristics, then resource utilization improves, but the control and configuration overhead increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidanalysis and control module complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The analysis module performs preliminary evaluation of problem characteristics (such as input/output dimensions, filter sizes, and computational patterns) before the actual convolution computations begin. This allows the system to pre-determine the optimal operational mode and configure the processing elements accordingly, avoiding runtime reconfiguration overhead and enabling efficient execution from the start.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10394929B2Adaptive execution engine for convolution computing systems
Publication Date: 2019.08.27 MEDIATEK INC
  • US10394929B2 patent drawing
  • US10394929B2 patent drawing
  • US10394929B2 patent drawing

AI summary

A system performs convolution computing in either a matrix mode or a filter mode. An analysis module generates a mode select signal to select the matrix mode or the filter mode based on results of analyzing convolution characteristics. The results include at least a comparison of resource utilization between the matrix mode and the filter mode. A convolution module includes processing elements, each of which further includes arithmetic computing circuitry. The convolution module is configured according to the matrix mode for performing matrix multiplications converted from convolution computations, and is configured according to the filter mode for performing the convolution computations.