MLA Compiler Scheduling Partial Networks for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning networks face challenges in efficient memory usage and data transfer due to the large volume of data and computations required, particularly when implemented on semiconductor dies with limited memory capacity and reduced power consumption, necessitating innovative methods to minimize temporary data storage and data transfers.

Innovation Solution

A machine learning accelerator (MLA) system with a compiler that intelligently orders computations to limit memory usage and data transfers by statically scheduling instructions, allocating computations to Tiles, and optimizing data transfer paths, allowing for efficient implementation of machine learning networks on edge devices with limited resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If machine learning networks are implemented on cloud-based compute facilities with significant resources, then computation performance is improved, but data transfer time and energy consumption increase

Engineering Contradiction:
Improvecomputation performanceVSAvoiddata transfer time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent segments the machine learning network computations into multiple independent stages that can be executed in different orders. By dividing the computation graph into separable operations, the system can optimize data flow and reduce the need to transfer entire datasets between cloud and edge, thereby reducing data transfer time while maintaining computation performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary actions by pre-processing and reordering computations before execution. The system analyzes the computation graph in advance to identify optimal execution sequences that minimize data transfer requirements, allowing edge devices to execute computations with locally available data rather than requiring continuous cloud communication.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If machine learning networks are implemented on edge devices with limited memory, then data transfer is reduced, but memory capacity constraints increase

Engineering Contradiction:
Improvedata transferVSAvoidmemory capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the computation execution order flexible and adaptive. Instead of following a fixed sequential order, the system dynamically reorders operations based on data availability and memory constraints at runtime, allowing edge devices to efficiently utilize limited memory by loading only necessary data subsets when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by modifying the execution sequence and data flow patterns. By altering the order in which computational operations are performed, the system can ensure that data remains in local memory longer and reduces the frequency and volume of data transfers, effectively working around limited memory capacity constraints.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If computations are reordered to limit memory usage, then memory efficiency is improved, but computation complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidcomputation ordering complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the system continuously monitors memory usage and data availability during computation execution. Based on this feedback, the computation order is adjusted dynamically to maintain optimal memory efficiency. This feedback loop allows the system to manage computation complexity by making localized adjustments rather than requiring complete reordering of all operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11803740B2Ordering computations of a machine learning network in a machine learning accelerator for efficient memory usage
Publication Date: 2023.10.31 SIMA TECHNOLOGIES INC
  • US11803740B2 patent drawing
  • US11803740B2 patent drawing
  • US11803740B2 patent drawing

AI summary

A compiler manages memory usage in the machine learning accelerator by intelligently ordering computations of a machine learning network. The compiler identifies partial networks of the machine learning network representing portions of the machine learning network across multiple layers on which an output or set of outputs are dependent. Because any given output may depend on only a limited subset of intermediate outputs from the prior layers, each partial network may include only a small fraction of the intermediate outputs from each layer. Instead of implementing the MLN by computing one layer at a time, the compiler schedules instructions to sequentially implement partial networks. As each layer of a partial network is completed, the intermediate outputs can be released from memory. The described technique enables intermediate outputs to be directly streamed between processing elements of the machine learning accelerator without requiring large transfers to and from external memory.