Algorithm Precision Scaling for Execution Time Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If the algorithm is executed repeatedly to find optimal precision, then precision optimization can be achieved, but execution time increases significantly
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.
3Productivity
If precision scaling is applied, then performance may improve on some devices, but results vary across different systems and inputs
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.
Data Source
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.


