Segmented CNN Hardware Accelerator Kernel Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CNN hardware accelerators face challenges in configurability, flexibility, and computational efficiency due to mismatches in computation throughput and memory bandwidth, which hinder their deployment in embedded environments and limit their ability to process various CNN configurations efficiently.

Innovation Solution

A modular, segmented, and reconfigurable hardware accelerator is designed with modified kernel structures, allowing multiple smaller kernels to be run concurrently and utilizing pixel and weight loading units to mitigate latency and enhance convolution processing speed, along with a controller to manage these units efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional CNN hardware accelerators use fixed kernel structures and processing elements, then computation throughput is improved, but configurability and flexibility deteriorate

Engineering Contradiction:
Improvecomputation throughputVSAvoidconfigurability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The kernel structure is segmented into multiple smaller sub-kernels that can be independently configured and executed. Instead of using a single fixed kernel size, the system divides the convolution operation into multiple smaller kernel applications, allowing flexible adaptation to different CNN configurations while maintaining high throughput through parallel execution of these segmented operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware accelerator employs dynamic reconfiguration capabilities where the kernel structure and processing elements can be adaptively adjusted based on the specific CNN configuration requirements. This dynamic nature allows the system to optimize for different kernel sizes, strides, and padding values without being locked into a fixed architecture, thereby maintaining both high throughput and configurability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If hardware accelerators increase processing elements and computation units, then computational efficiency is improved, but power consumption and resource requirements worsen

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

Instead of deploying a large number of processing elements simultaneously, the system uses a smaller set of processing elements that are dynamically reused across multiple kernel operations. By partially utilizing the computational resources across time through the segmented kernel approach, the system achieves high computational efficiency without the excessive power consumption that would result from having all processing elements active at once.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The segmented kernel structure enables continuous utilization of the processing elements by pipelineing the execution of multiple sub-kernels. While one sub-kernel is being processed, the system prepares the next sub-kernel, ensuring that the processing elements remain continuously engaged in useful computation without idle cycles, thereby maintaining high efficiency with reduced resource requirements.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If CNN hardware accelerators use larger kernel sizes, then processing capability is improved, but memory bandwidth requirements and latency worsen

Engineering Contradiction:
Improveprocessing capabilityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Large kernel operations are segmented into multiple smaller sub-kernel applications. Instead of loading and processing a single large kernel that would require extensive memory bandwidth and time, the system divides the large kernel operation into multiple smaller sub-kernels that can be processed in sequence or parallel, reducing the memory bandwidth requirement for each operation and decreasing overall latency through efficient resource utilization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11797345B2Hardware accelerator for efficient convolution processing
Publication Date: 2023.10.24 NAIDU PRAKASH C R J
  • US11797345B2 patent drawing
  • US11797345B2 patent drawing
  • US11797345B2 patent drawing

AI summary

An accelerator with a modified kernel design for convolution processing in a Convolutional Neural Network (CNN) model is disclosed wherein the convolution execution time is reduced. A kernel structure is disclosed in the embodiment for the convolution operations that improves the overall performance of a CNN. Further, two loading units for weight and pixel loading reduce the latency involved in loading the network parameters into the processing elements. Moreover, a controller has been designed and included in the system architecture to aid the functioning of loading units efficiently.