Adaptive Execution Engine for Convolution Computing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Productivity
If the system analyzes and adapts to different problem characteristics, then resource utilization improves, but the control and configuration overhead increases
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.
Data Source
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.


