Algorithm Execution Optimisation for Satellite Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for optimizing the execution of Deep Neural Networks (DNNs) on GPUs and HPDPs are inefficient, leading to underutilized resources and the need for manual coding, which is time-consuming and labor-intensive.

Innovation Solution

A dynamic off-line optimization method is introduced, which uses an optimiser to determine a configuration file for the computing system. This optimiser receives optimisation criteria and data on the algorithm's execution, adjusts a naive configuration file to produce an optimised configuration file, and uses mathematical algorithms like Genetic Algorithms and Convex Optimisation to achieve optimal distribution of algorithm operators across processing elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual coding is used to optimize DNN execution, then resource utilization can be improved, but the development time and labor intensity increase significantly

Engineering Contradiction:
Improveresource utilizationVSAvoiddevelopment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of the DNN architecture and execution requirements to automatically generate optimized configuration files before runtime, eliminating the need for manual coding while achieving optimal resource utilization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The optimization system automatically analyzes the DNN model, identifies optimization opportunities, and generates configuration files without human intervention, making the system self-optimizing rather than requiring manual expertise

Inventive Principle:
Principle #25Self-service

2Productivity

If a naive configuration file is used for algorithm execution, then implementation is simple, but resource utilization is suboptimal and execution time is increased

Engineering Contradiction:
Improveexecution speedVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically generates optimized configuration files by analyzing the DNN architecture and execution requirements, eliminating the need for manual optimization expertise while achieving optimal resource utilization and execution performance

Inventive Principle:
Principle #25Self-service

3Speed

If processing elements are not parallelized, then orchestration is simpler, but execution speed is reduced

Engineering Contradiction:
Improveexecution speedVSAvoidorchestration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system divides the DNN execution into multiple parallel streams that can be processed simultaneously by different processing elements, increasing execution speed while the automatic configuration management handles the orchestration complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediate optimization layer that automatically manages the complexity of parallel stream orchestration, allowing multiple processing elements to work in parallel while the system handles the coordination overhead

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4557097A1Algorithm execution optimisation
Publication Date: 2025.05.21 KLEPSYDRA TECH GMBH
  • EP4557097A1 patent drawingFigure 1~2
  • EP4557097A1 patent drawingFigure 3
  • EP4557097A1 patent drawingFigure 4a

AI summary

A method is described for accelerating execution of an algorithm in a computing system comprising a central processing unit "CPU" and a plurality of processing elements, wherein the CPU is configured to orchestrate the operation of the plurality of processing elements. The method comprising implementing an optimiser to determine a configuration file for the computing system. The optimiser: receives optimisation criteria relating to the operation of the algorithm; receives data relating to the running of the algorithm in the computing system according to a naive configuration file; and adjusts the naive configuration file to output an optimised configuration file according to the optimisation criteria. The method is particularly suited to optimisation of execution of algorithms onboard satellites, such as neural networks for analysing satellite images. The optimisation can be performed on the ground as a one-off operation for subsequent implementation onboard.