CNN Image Block Caching for Lower DRAM Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing size of input images in convolutional neural network (CNN) processing requires a significant increase in dynamic random-access memory (DRAM) bandwidth, which is inefficient and costly.
Innovation Solution
The proposed solution involves storing image groups and parts of images in the processing device during CNN modeling, allowing subsequent processing of input images with stored data to reduce the required DRAM bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the size of input images is increased to improve processing capability, then the CNN modeling accuracy is improved, but the required DRAM bandwidth is increased
Solution Approach 1:
The patent divides input images into multiple image blocks and processes them in a segmented manner. The CNN modeling process is split into multiple stages where different image blocks are processed using shared kernel weights, reducing the need to load entire large images into DRAM simultaneously. This segmentation allows accurate processing of large images while minimizing DRAM bandwidth requirements.
Solution Approach 2:
The patent performs preliminary actions by pre-loading and caching kernel weights and intermediate processing results into on-chip memory buffers before actual image processing begins. This preliminary preparation reduces the need for repeated DRAM accesses during the modeling process, thereby reducing overall DRAM bandwidth requirements while maintaining accuracy for larger input images.
2Measurement precision
If the size of input images is increased to improve processing capability, then the CNN modeling accuracy is improved, but the system cost is increased
Solution Approach 1:
The patent implements a universal kernel weight storage mechanism where the same kernel weights are reused across multiple image blocks and processing stages. This multi-functionality allows a single set of weights to serve multiple purposes, reducing the total memory capacity required and thereby lowering system cost while maintaining the ability to process large images for high accuracy.
Solution Approach 2:
The patent employs a nested memory hierarchy where on-chip buffers are nested within the processing unit, which is nested within the broader system architecture. This nested structure allows efficient use of limited on-chip memory resources to handle large image data, reducing the need for expensive high-bandwidth DRAM and associated system costs while maintaining CNN modeling accuracy.
Data Source
AI summary
A method includes: generating, by a processing device, at least one first output image block based on a first image block group; storing stored image blocks corresponding to a first part of the first image block group in the processing device; and after the at least one first output image block is generated, generating, by the processing device, at least one second output image block based on a first image block and the stored image blocks, wherein the first image block group and the first image block are arranged in order along a first direction, and the at least one first output image block and the at least one second output image block are arranged in order along the first direction. A system is also disclosed herein.


