Algorithm Precision Scaling for Execution Time Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing precision scaling methods for algorithms require repeated execution of the algorithm at multiple precisions, leading to increased execution time and variability in performance across different systems and inputs, resulting in inconsistent results.

Innovation Solution

A method that determines the optimal precision by inspecting available device precisions and calculating expected execution times for different precision levels, allowing the algorithm to be executed with the optimal precision for minimum time without sacrificing accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If precision scaling is applied to reduce operation precision, then operation performance may improve, but the number of iterations increases and total execution time increases

Engineering Contradiction:
Improveoperation performanceVSAvoidtotal execution time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent performs preliminary testing by executing the algorithm multiple times with different precision levels to collect iteration data and operation time data before actual execution. This preliminary action enables the system to predict total execution time for each precision level and select the optimal precision in advance, avoiding the trade-off during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the system measures actual iteration counts and operation times for each precision level, uses this feedback to calculate predicted total execution times, and selects the precision level with the minimum predicted time. This feedback loop resolves the contradiction by making an informed decision rather than a simple precision reduction.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If the algorithm is executed repeatedly to find optimal precision, then precision optimization can be achieved, but execution time increases significantly

Engineering Contradiction:
Improveprecision optimization accuracyVSAvoidexecution time for finding optimal precision
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs a limited number of preliminary executions (not exhaustive testing) to gather sufficient data for prediction. Instead of repeatedly executing the entire algorithm extensively, it performs just enough preliminary tests to establish the relationship between precision levels and execution characteristics, then uses this partial data to make optimal precision selection.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If precision scaling is applied, then performance may improve on some devices, but results vary across different systems and inputs

Engineering Contradiction:
Improveperformance improvementVSAvoidconsistency across systems
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically changes the precision parameter based on the specific device characteristics and input data characteristics. By measuring actual performance metrics (iteration count and operation time) for each precision level on the specific device, the system adapts the precision parameter to achieve consistent optimal performance across different systems rather than using a fixed precision scaling rule.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11537395B2Method for optimizing performance of algorithm using precision scaling
Publication Date: 2022.12.27 INDUSTRY UNIVERSITY COOPERATION FOUNDATION HANYANG UNIVERSITY
  • US11537395B2 patent drawing
  • US11537395B2 patent drawing
  • US11537395B2 patent drawing

AI summary

This application relates to a method for optimizing algorithm performance using precision scaling, wherein the method according to an embodiment of present invention comprises obtaining a number of iterations of a unit operation according to precisions of the algorithm including the unit operation that is repeatedly performed, wherein the precisions include a first precision and a second precision, and the number of iterations include a first number of iterations corresponding to the first precision and a second number of iterations corresponding to the second precision; inspecting available precisions of a device on which the algorithm is to be executed, wherein the available precisions include a first available precision corresponding to the first precision and a second available precision corresponding to the second precision; determining an optimal precision by repeatedly performing the unit operation corresponding to an initial operation of the algorithm using the inspected available precision; and repeatedly performing the unit operation corresponding to a remaining operation of the algorithm with the optimal precision.