Method for selecting a hardware architecture for implementing a software application

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining the most suitable hardware architecture for software applications are tedious, expensive, and require detailed knowledge of the target architecture and programming language, necessitating multiple and costly tests.

Innovation Solution

A method that determines a target hardware architecture by executing a software application with modified input data sets, calculating metrics, and using a parallelization score to select the most suitable architecture without requiring detailed knowledge of the hardware or programming language.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dynamic program analysis is used to determine hardware architecture, then accurate evaluation of application performance is achieved, but the process becomes tedious and expensive requiring detailed knowledge of target architecture and programming language

Engineering Contradiction:
Improveapplication performance evaluation accuracyVSAvoidmethod complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary metric calculation system that analyzes input-output data relationships without requiring direct knowledge of the target hardware architecture or programming language. This intermediary layer processes application data to generate metrics that indirectly characterize hardware suitability, eliminating the need for experts to manually analyze code against specific architecture requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates simplified copies or representations of the application's computational characteristics through metric calculations on input-output data. Instead of analyzing the actual complex code and its interaction with target hardware, the system generates metric copies that capture essential performance characteristics, enabling architecture selection without direct hardware knowledge

Inventive Principle:
Principle #26Copying

2Reliability

If multiple hardware architectures are tested empirically to find the most efficient implementation, then accurate hardware selection is achieved, but the process requires multiple costly tests and porting operations

Engineering Contradiction:
Improvehardware selection accuracyVSAvoidhardware evaluation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of the application's input-output data characteristics before actual hardware deployment or extensive testing. By calculating metrics from representative input-output pairs in advance, the system predicts hardware suitability without requiring multiple iterative tests on different architectures, saving time and resources

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the evaluation parameters from direct hardware performance measurements to data-driven metric calculations. Instead of measuring actual execution time and performance on multiple hardware platforms (which is time-consuming), the system transforms the problem into calculating metrics from input-output data, which can be done rapidly and then mapped to hardware recommendations

Inventive Principle:
Principle #35Parameter changes

3Productivity

If application code is analyzed in detail to evaluate parallel execution possibilities, then accurate parallelization assessment is achieved, but the process requires detailed knowledge of the application structure and target architecture

Engineering Contradiction:
Improveparallel execution capability assessmentVSAvoidmethod ease of use
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent enables the application data itself to reveal parallelization characteristics without external expert analysis. By processing input-output data through metric calculations, the system allows the data to self-reveal computational patterns and parallel execution potential, eliminating the need for experts to manually examine code structure and identify parallelization opportunities

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250251987A1Method for selecting a hardware architecture for implementing a software application
Publication Date: 2025.08.07 CENT NAT DETUD SPATIALES (CNES)
  • US20250251987A1 patent drawing
  • US20250251987A1 patent drawing

AI summary

A method for determining a target hardware architecture adapted for a software application includes: defining a first set of input data of the application; executing the application by a processor from the first input set to obtain a first set of output data; executing several iterations each including: selecting an input data; generating a second input set from the first input set, by modifying the selected input data; executing the application from the second input set to obtain a second output set; and calculating a metric relating to the first and second input and output sets of the iteration; calculating a parallelization score from the metrics calculated at each iteration; and determining the target architecture according to the parallelization score.