3D Feature Map Segmentation With Line Buffers for FPGA CNNs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (CNNs) face challenges in efficiently processing three-dimensional input feature maps due to memory limitations in Field Programmable Gate Arrays (FPGAs), leading to latency and bandwidth imbalances, especially when the entire 3-D IFM does not fit in the available local storage, making it difficult to perform convolution operations efficiently.

Innovation Solution

A circuit arrangement that divides a three-dimensional input feature map into multiple sub-volumes based on the available local storage dimensions, using a request generator circuit and line buffers to manage data access, allowing for scalable and adaptable processing across various CNN layers, regardless of the size of the IFM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the entire 3-D IFM is stored in local memory for processing, then convolution operations can be performed efficiently, but this is not feasible when the IFM size exceeds available local storage capacity

Engineering Contradiction:
Improveconvolution operation efficiencyVSAvoidlocal storage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the large 3-D input feature map into multiple smaller sub-volumes that can be stored in local memory simultaneously. The request generator circuit segments the IFM based on available local storage capacity, allowing processing to proceed in manageable chunks while maintaining efficient convolution operations on each segment.

Inventive Principle:
Principle #1Segmentation

2Productivity

If static expansion of the IFM volume is performed in FPGA accelerators, then matrix multiplication can be executed, but latency and bandwidth limitations prevent high efficiency operation

Engineering Contradiction:
Improvematrix multiplication efficiencyVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The request generator circuit preliminarily organizes and segments the input feature map into appropriate sub-volumes before processing begins. By pre-dividing the IFM into manageable sections that fit local storage, the system avoids latency associated with dynamic memory management during processing, enabling continuous efficient operation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the IFM is divided into sub-volumes to fit local storage, then processing can proceed, but the system must manage complex data access patterns across multiple memory regions

Engineering Contradiction:
Improveadaptability to different IFM sizesVSAvoiddata access management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The request generator circuit automatically determines the optimal segmentation of the input feature map based on available local storage capacity. The system self-adjusts the sub-volume dimensions and quantities without external intervention, simplifying the interface while managing the complexity of data access patterns internally through automated memory address generation and sub-volume assignment.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10411709B1Circuit arrangements and methods for dividing a three-dimensional input feature map
Publication Date: 2019.09.10 XILINX INC
  • US10411709B1 patent drawing
  • US10411709B1 patent drawing
  • US10411709B1 patent drawing

AI summary

Disclosed circuits and methods include N line buffers. Each line buffer is configured for storage of M data elements of a three-dimensional (3-D) input feature map (IFM). A request generator circuit is coupled to the N line buffers and to a memory configured for storage of the 3-D IFM. The request generator circuit is divides the 3-D IFM into a plurality of IFM sub-volumes based on values of N, M, and dimensions of the 3-D IFM. The request generator circuit reads from the memory, data elements at addresses of an unprocessed one of the IFM sub-volumes and stores the data elements of the unprocessed one of the IFM sub-volumes in the N line buffers. In response to a completion signal, the request generator circuit repeats the reading of an unprocessed one of the IFM sub-volumes and storing the data elements in the N line buffers.