Kernel Decomposition for NPU Convolution Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural processing units (NPUs) are often optimized for specific kernel sizes, such as 3×3, limiting their flexibility and efficiency in handling larger kernels, which are needed to capture more expressive features but incur higher computational costs.

Innovation Solution

The method decomposes larger kernels into sub-kernels with dimensions less than or equal to a target kernel dimension, allowing for efficient convolution operations by performing convolutions with each sub-kernel and summing the results to generate the output data array, thereby optimizing hardware capabilities for a range of kernel sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If larger kernels are used to capture more expressive features, then feature extraction capability is improved, but computational cost increases

Engineering Contradiction:
Improvefeature extraction capabilityVSAvoidcomputational cost
Core Design Contradiction:
Adaptability or versatilityVSPower

Solution Approach 1:

The patent divides a large kernel into multiple smaller sub-kernels, each of which can be processed independently by the NPU's MAC units. This segmentation allows the system to maintain the expressive power of large kernels while breaking down the computational workload into manageable smaller operations that fit within the hardware constraints.

Inventive Principle:
Principle #1Segmentation

2Productivity

If NPUs are optimized for specific kernel sizes, then processing efficiency for those kernels is improved, but flexibility to handle various kernel sizes deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidflexibility to handle kernel sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent enables the NPU to handle multiple kernel sizes by decomposing any kernel into sub-kernels that can be processed by the existing MAC unit architecture. This makes the NPU universally applicable to different kernel dimensions without requiring separate hardware optimizations for each kernel size.

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

Data Source

PatentUS11164032B2Method of performing data processing operation
Publication Date: 2021.11.02 ARM LTD
  • US11164032B2 patent drawing
  • US11164032B2 patent drawing
  • US11164032B2 patent drawing

AI summary

A computer-implemented method of performing a convolution between an input data array and a kernel to generate an output data array includes decomposing the kernel into a plurality of sub-kernels each having a respective position relative to the kernel and respective in-plane dimensions less than or equal to a target kernel dimension, and for each of the plurality sub-kernels: determining a respective portion of the input data array on the basis of the respective in-plane dimensions of the sub-kernel and the respective position of the sub-kernel relative to the kernel; retrieving the respective portion of the input data array; and performing a convolution between the retrieved respective portion of the input data array and the sub-kernel to generate a respective intermediate data array. The method further includes summing the generated intermediate data arrays to generate at least a portion of the output data array.