Hardware Accelerator On-Chip Padding for Convolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional convolution operations in artificial neural networks require significant data movement, consuming power and resources and introducing delays due to the need for padding data across the memory hierarchy.
Innovation Solution
The system notifies a hardware accelerator of the input matrix boundaries, allowing it to generate padding data locally, thereby eliminating the need to transfer padding data across the memory hierarchy, and performs convolution operations by processing the activation data set and padding data when the filter kernel slides across the boundaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If padding data is transferred across the memory hierarchy to support convolution operations, then the convolution operation can be performed correctly, but data movement increases, consuming more power and introducing delays
Solution Approach 1:
The system pre-loads only the necessary activation data into the on-chip buffer before the convolution operation begins, rather than transferring all padding data in advance. The buffer is then configured with boundary information to generate padding data on-demand during the convolution process, eliminating the need to pre-transfer unnecessary padding data across the memory hierarchy.
Solution Approach 2:
The invention extracts and separates the padding data generation function from the main data transfer process. By implementing a dedicated padding generation mechanism within the buffer that uses boundary information to create padding data locally, the system removes the need to transfer padding data through the memory hierarchy, keeping only the essential activation data in the transfer path.
2Reliability
If padding data is transferred across the memory hierarchy to support convolution operations, then the convolution operation can be performed correctly, but power consumption increases
Solution Approach 1:
The system pre-loads only the necessary activation data into the on-chip buffer before the convolution operation begins, rather than transferring all padding data in advance. The buffer is then configured with boundary information to generate padding data on-demand during the convolution process, eliminating the need to pre-transfer unnecessary padding data across the memory hierarchy.
Solution Approach 2:
The invention extracts and separates the padding data generation function from the main data transfer process. By implementing a dedicated padding generation mechanism within the buffer that uses boundary information to create padding data locally, the system removes the need to transfer padding data through the memory hierarchy, keeping only the essential activation data in the transfer path.
3Measurement precision
If traditional convolution operations are performed with full data transfer, then computational accuracy is maintained, but data movement and resource consumption increase
Solution Approach 1:
The system pre-loads only the necessary activation data into the on-chip buffer before the convolution operation begins, rather than transferring all padding data in advance. The buffer is then configured with boundary information to generate padding data on-demand during the convolution process, eliminating the need to pre-transfer unnecessary padding data across the memory hierarchy.
Solution Approach 2:
The buffer performs self-service by generating its own padding data locally using boundary information and a padding generation mechanism. This self-contained approach allows the buffer to maintain computational accuracy without relying on external data transfers, reducing the overall data movement volume while preserving the integrity of the convolution operation.
Data Source
AI summary
The disclosed computer-implemented method may include (1) receiving, at a hardware accelerator that supports an ANN, an activation data set that is to undergo a convolution operation via a filter kernel of the ANN, (2) receiving, at the hardware accelerator, an argument indicating that the filter kernel exceeds at least one boundary of the activation data set when slid across a certain position during the convolution operation, (3) determining, based at least in part on the argument, that the hardware accelerator is to generate padding data at the boundary of the activation data set in connection with the certain position of the filter kernel, and then (4) performing, at the hardware accelerator, the convolution operation by processing a portion of the activation data set and the padding data when the filter kernel slides across the certain position. Various other systems and methods are also disclosed.


