AI Processing Circuit Tensor Splitting for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Artificial intelligence (AI) models in system-on-chip (SoC) systems face performance degradation due to high memory bandwidth requirements, which limit other modules' access to memory, necessitating a reduction in bandwidth usage.

Innovation Solution

A processing circuit and computation scheduling method that splits tensors and operators into sub-tensors and sub-operators, determines dependency relationships, and sorts them to optimize memory usage and bandwidth by managing the retention of target data in memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the AI model processes a large amount of data using high memory bandwidth, then the computation speed and processing capability are improved, but the memory bandwidth consumption increases, preventing other modules from accessing memory and decreasing overall system performance

Engineering Contradiction:
Improvecomputation speedVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the computation process into multiple stages (first type operations and second type operations) and processes different sub-tensors in sequence. The memory management circuit reads tensors from external memory in segments, stores them in internal memory, and performs operations on sub-tensors separately. This segmentation allows the system to process data in manageable chunks, reducing the peak memory bandwidth requirement while maintaining computation throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory management circuit performs preliminary actions by reading tensors from external memory and storing them in internal memory before the main computation begins. This pre-loading strategy prepares data in advance, allowing the computation unit to process sub-tensors without continuously accessing external memory, thereby reducing the overall memory bandwidth consumption during the computation phase.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all intermediate data are retained in memory during computation, then the computation accuracy and completeness are maintained, but the memory usage increases, leading to higher memory costs and bandwidth requirements

Engineering Contradiction:
Improvecomputation accuracyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements a strategy of discarding intermediate data from internal memory after it has been used for computation. The memory management circuit deletes intermediate data from the memory based on the operation order and dependency relationships. This allows the system to reuse memory space for new data, significantly reducing peak memory usage while maintaining computation accuracy through proper data management.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system dynamically manages memory resources by adjusting which data are retained and which are deleted based on the current computation stage and dependency relationships. The memory management circuit determines the operation order and selectively retains only the necessary intermediate data required for subsequent operations, optimizing the balance between memory usage and computation accuracy.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If the computation process is divided into multiple stages with intermediate data retention, then the system can optimize memory bandwidth usage, but the device complexity increases due to the need for memory management circuits and operation scheduling

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidprocessing circuit complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The memory management circuit performs multiple functions: it manages data transfer between external and internal memory, tracks intermediate data, determines operation order based on dependency relationships, and deletes intermediate data when no longer needed. By consolidating these diverse functions into a single multi-functional circuit, the patent reduces the overall device complexity compared to having separate dedicated circuits for each function.

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

Solution Approach 2:

The patent combines the computation unit and memory management circuit into an integrated processing system. The memory management circuit is directly coupled to both the external memory and the computation unit, allowing it to coordinate data flow and memory operations efficiently. This merging of functions into a unified architecture reduces the number of separate components and interconnections, thereby reducing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240281366A1Processing circuit and computation scheduling method of artificial intelligence model
Publication Date: 2024.08.22 SIGMASTAR TECH LTD
  • US20240281366A1 patent drawing
  • US20240281366A1 patent drawing
  • US20240281366A1 patent drawing

AI summary

A processing circuit of an artificial intelligence (AI) model includes a memory, a memory management circuit, and an operation circuit. The memory management circuit reads a tensor from an external memory and stores the tensor in the memory. The operation circuit is configured to perform the following operations: performing an operation of a first type on a first and second sub-tensors of the tensor to generate a first and second intermediate data, respectively; performing an operation of a second type on the first intermediate data and the second intermediate data to generate a third intermediate data; performing an operation of the first type on a third sub-tensor of the tensor to generate a fourth intermediate data; and performing an operation of the second type on the first intermediate data, the second intermediate data, and the fourth intermediate data to generate a fifth intermediate data.