Convolution Layer Processor Pad Supervisor Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network accelerators face challenges in efficiently processing convolution operations due to high computational complexity and memory requirements, particularly with the need for additional memory to store padding pixels and sequential traversal of input feature maps.

Innovation Solution

A convolution layer processor with a memory access module and multiple convolution modules that perform parallel operations, utilizing a pad supervisor module to manage padding and reduce memory access for padding pixels, allowing for efficient convolution operations with arbitrary padding, stride, and dilation without storing physical padding in memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional memory is allocated to store padding pixels for convolution operations, then the convolution operation can be performed correctly with proper padding, but the memory requirements and device complexity increase

Engineering Contradiction:
Improvecorrectness of convolution operationVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent introduces a pad supervisor module as an intermediary component that manages padding operations. This module receives pixel data from the memory access module, determines whether padding is needed based on position information, and generates appropriate padding pixels on-the-fly without requiring physical storage of padding data in memory. The pad supervisor acts as a mediator between the memory system and convolution modules, resolving the contradiction by providing correct padding functionality while avoiding additional memory allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The pad supervisor module performs preliminary actions by pre-calculating and generating padding pixels before they are needed for convolution operations. By determining padding requirements in advance based on position information and generating padding pixels proactively, the system ensures correct convolution operations without needing to allocate additional memory space for storing padding data, thus resolving the memory requirement issue.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If padding pixels are stored physically in memory, then memory access for convolution is simplified, but the memory bandwidth and memory capacity requirements increase

Engineering Contradiction:
Improvesimplicity of memory accessVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The pad supervisor module implements self-service by autonomously generating padding pixels based on position information received from the memory access module. Instead of requiring the memory system to provide padding data, the pad supervisor serves itself by creating padding pixels on-demand using simple logic operations. This eliminates the need for additional memory bandwidth to transfer padding data, while still providing the ease of operation through automated padding management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The pad supervisor module creates copies of existing pixel values to generate padding pixels, rather than retrieving padding data from memory. By copying and reusing valid pixel data (such as replicating border pixel values for external padding), the system simplifies the padding operation while avoiding additional memory bandwidth consumption, as the copying operation is performed in-place by the pad supervisor.

Inventive Principle:
Principle #26Copying

3Device complexity

If sequential traversal is used to access input feature map pixels, then memory access is straightforward, but the processing speed and productivity decrease

Engineering Contradiction:
Improvesimplicity of memory access patternVSAvoidconvolution processing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the pixel access operation by dividing the input feature map traversal into multiple independent parallel streams. Each convolution module receives a specific segment of pixels through dedicated data paths from the memory access module. This segmentation allows simultaneous access to different regions of the input feature map, maintaining straightforward memory access patterns for each segment while achieving parallel processing that significantly improves convolution processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from sequential one-dimensional traversal to parallel multi-dimensional access by organizing pixel flow into multiple simultaneous streams corresponding to different convolution modules. The memory access module operates in another dimension by providing parallel data paths that feed multiple convolution modules concurrently, thereby maintaining access simplicity while dramatically improving productivity through parallelism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Productivity

If multiple convolution modules operate in parallel, then processing speed improves, but the complexity of managing padding and data distribution increases

Engineering Contradiction:
Improveconvolution processing speedVSAvoidcomplexity of padding management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The pad supervisor module implements a universal solution that serves all convolution modules through a single centralized interface. Rather than implementing separate padding logic in each convolution module, the pad supervisor provides multi-functional padding management that adapts to the needs of different convolution modules based on their position and configuration. This universal approach improves processing speed through parallelism while avoiding the complexity multiplication that would result from distributed padding management.

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

Solution Approach 2:

The pad supervisor acts as an intermediary layer between the memory access module and multiple convolution modules, centralizing the complexity of padding management. It receives position information from the memory access module, determines padding requirements for each convolution module's data stream, and generates appropriate padding pixels for each module. This intermediary approach enables parallel operation of multiple convolution modules while containing the complexity of padding management in a single dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240281496A1Convolution layer processor and method
Publication Date: 2024.08.22 NXP BV
  • US20240281496A1 patent drawing
  • US20240281496A1 patent drawing
  • US20240281496A1 patent drawing

AI summary

A convolution layer processor for a neural network accelerator includes a memory access module to access elements of an input feature map having a first array of pixels and a plurality of convolution modules. Each convolution module receives an element of the input feature map and performs a convolution operation on the received element of the input feature map with a convolution kernel having a second array of pixels to provide a corresponding element of an output feature map. The memory access module includes a DMA requester to request elements of the input feature map, a data buffer to provide the requested elements to each of the plurality of convolution modules, and a pad supervisor module to provide to the data buffer, for each element requested by the DMA requester, padding pixels of the input feature map when the requested element extends beyond a boundary of the input feature map.