Line Buffer Shift Strides for Contiguous Neural Network Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current artificial neural networks (NNs) and deep neural networks (DNNs) face performance issues due to inefficient data processing and memory management, leading to latency and unnecessary computations, particularly in managing data across neural processing components.

Innovation Solution

The implementation of virtualized hardware iterators and a cooperating line buffer component that allows for optimized memory management by shifting memory blocks in a single processing cycle, enabling the extraction of data from multiple overlapping sliding windows as contiguous memory blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is processed from discontiguous memory blocks using conventional methods, then memory management is straightforward, but processing time increases and performance decreases

Engineering Contradiction:
Improvedata processing speedVSAvoidcomputational latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a line buffer as an intermediary component between discontiguous memory blocks and the neural processing units. The line buffer receives data from multiple discontiguous memory locations, reorganizes it into contiguous format through shift operations, and provides it to processing units. This mediator eliminates the need for processors to handle discontiguous data directly, thereby reducing processing time and improving throughput without changing the underlying memory architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-fetching data from discontiguous memory blocks into the line buffer before actual neural network processing begins. The line buffer proactively reorganizes this data into contiguous format and makes it ready for processing. This preliminary reorganization eliminates wait times during computation, as processing units receive continuously available data without needing to pause for memory access operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If conventional memory access methods are used, then hardware complexity remains low, but processing efficiency deteriorates due to multiple memory reads

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple discontiguous memory reads into a single unified operation by using the line buffer to collect data from various memory locations and present it as a single contiguous block to processing units. This combining approach reduces the total number of read operations required, decreases memory management complexity, and improves processing throughput by eliminating redundant access overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data is not pre-organized in contiguous blocks, then memory usage is optimized for storage, but computational performance suffers due to inefficient data extraction

Engineering Contradiction:
Improveneural network processing speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The line buffer serves as an energy-efficient intermediary that performs shift operations in a dedicated buffer region rather than requiring repeated high-energy memory access operations. By keeping the intermediary buffer on-chip or in fast memory close to processing units, the system minimizes energy-consuming data transfers while maintaining optimized storage layouts in main memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary data reorganization into contiguous format in the line buffer before computational processing begins. This preliminary action ensures that when neural network operations execute, data is already in the optimal contiguous format required for efficient processing, eliminating the need for energy-intensive data movement operations during computation and reducing overall power consumption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10963403B2Processing discontiguous memory as contiguous memory to improve performance of a neural network environment
Publication Date: 2021.03.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10963403B2 patent drawing
  • US10963403B2 patent drawing
  • US10963403B2 patent drawing

AI summary

The performance of a neural network (NN) can be limited by the number of operations being performed. Using a line buffer that is directed to shift a memory block by a selected shift stride for cooperating neurons, data that is operatively residing memory and which would require multiple write cycles into a cooperating line buffer can be processed as in a single line buffer write cycle thereby enhancing the performance of a NN/DNN. A controller and/or iterator can generate one or more instructions having the memory block shifting values for communication to the line buffer. The shifting values can be calculated using various characteristics of the input data as well as the NN/DNN inclusive of the data dimensions. The line buffer can read data for processing, shift the data of the memory block and write the data in the line buffer for subsequent processing.