Neural Network Code Generation With Memory Planning Proposals

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing neural networks on devices with limited RAM requires efficient memory planning, which is NP-hard and not solvable by polynomial-time algorithms, leading to high memory consumption and installation times.

Innovation Solution

A method that decouples memory planning from code generation, creating an intermediate representation to optimize memory usage, allowing multiple algorithms to be applied and compared for selecting the most suitable plan, ensuring efficient memory usage on target devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory planning is performed using exact algorithms, then memory usage is optimized, but installation time increases significantly

Engineering Contradiction:
Improvememory usageVSAvoidinstallation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs memory planning in advance during the installation process by generating multiple plan proposals and selecting the optimal one before the neural network is deployed. This preliminary action allows the system to prepare efficient memory allocation strategies ahead of time, reducing runtime delays and optimizing memory usage without significantly increasing the overall installation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic memory planning approach where multiple plan proposals are generated and evaluated, and the selection can be adjusted based on device characteristics and neural network requirements. This dynamic process allows the system to adapt memory allocation strategies to specific scenarios, balancing memory efficiency with installation time constraints through flexible plan selection.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If multiple memory planning algorithms are applied, then memory usage is optimized, but computational complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the memory planning process into distinct steps: generating multiple plan proposals using different algorithms, evaluating their quality levels, and selecting the optimal plan. This segmentation allows the system to apply multiple algorithms in a structured manner, managing computational complexity through modular processing while still achieving optimized memory usage through the evaluation and selection of the best plans.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260030005A1Method for transforming an abstract representation of a trained neural network into program code in a target language
Publication Date: 2026.01.29 ROBERT BOSCH GMBH
  • US20260030005A1 patent drawing
  • US20260030005A1 patent drawing
  • US20260030005A1 patent drawing

AI summary

A method for transforming an abstract representation of a trained neural network into program code in a target language. The program code is convertible into executable program code using a compiler for the target language. The method includes: reading an abstract representation of a neural network which has already been trained; calculating an intermediate representation of the neural network from the abstract representation, the intermediate representation specifying a computation graph; ascertaining a plurality of plan proposals for planning the memory usage during the execution of the computation graph; ascertaining a quality level for each plan proposal; selecting a plan proposal based on the ascertained quality level; and generating the sought program code in the target language from the intermediate representation and the selected plan proposal.