Runtime Software Performance Optimization for Mobile Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited computation resources and strict power constraints of mobile computing devices hinder the deployment of advanced deep learning-based computer vision algorithms.

Innovation Solution

The system automatically chooses a set of parameters or methods at run-time from a design space with pre-selected optimization methods and parameters (algorithms, software libraries, hardware accelerators) for a specific task, optimizing the performance of software applications based on the particular platform they run on.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If advanced deep learning-based computer vision algorithms are deployed on mobile devices, then computational capability and algorithm performance are improved, but power consumption and computation resource usage increase beyond device constraints

Engineering Contradiction:
Improvealgorithm performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically selects from multiple pre-processed implementations of the same algorithm based on runtime conditions. Different implementations are optimized for different scenarios (e.g., CPU vs. GPU vs. neural network accelerator, different precision levels), and the system adapts its choice based on available computation resources and power constraints, resolving the contradiction between algorithm performance and power consumption

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters such as computational precision (e.g., floating-point vs. integer arithmetic), data representation formats, and algorithmic approximations to balance performance and power consumption. By offering multiple implementations with different parameter configurations, the system can select appropriate trade-offs between computational capability and energy usage

Inventive Principle:
Principle #35Parameter changes

2Productivity

If advanced deep learning-based computer vision algorithms are deployed on mobile devices, then computational capability is improved, but computation resources are exceeded

Engineering Contradiction:
Improvecomputational capabilityVSAvoidcomputation resource usage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adapts its computational approach based on available resources. It monitors device state and selects implementations that match current computation resource availability, enabling advanced algorithms to run on resource-constrained devices by switching to lighter implementations when necessary

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the algorithm implementation into multiple versions with different computational complexities. Each version is optimized for specific resource levels, allowing the device to select appropriate segments based on available computation resources rather than attempting to run a single resource-intensive implementation

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If a fixed optimization solution is used, then implementation simplicity is maintained, but performance adaptability across different platforms is limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidperformance adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

Multiple implementations are pre-processed and prepared in advance during the software build process. This preliminary action creates a library of optimized versions that can be selected at runtime based on platform characteristics, maintaining implementation simplicity while achieving cross-platform adaptability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates universal software that can function across multiple platforms by providing multiple implementations of the same algorithm. Each implementation is tailored for specific platform characteristics (CPU, GPU, neural network accelerators, different operating systems), enabling the software to adapt to diverse environments without requiring platform-specific development

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

Data Source

PatentUS12340193B2Automatic software performance optimization
Publication Date: 2025.06.24 SNAP INC
  • US12340193B2 patent drawing
  • US12340193B2 patent drawing
  • US12340193B2 patent drawing

AI summary

Among other things, embodiments of the present disclosure improve the functionality of computer software and systems by facilitating the automatic performance optimization of a software application based on the particular platform upon which the application runs. In some embodiments, the system can automatically choose a set of parameters or methods at run-time from a design space with pre-selected optimization methods and parameters (e.g., algorithms, software libraries, and/or hardware accelerators) for a specific task.