Optimizing Target Functions via Candidate Program Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for calculating functions, such as transcendental functions, on computer processors do not adequately consider modern computation issues like floating-point rounding, compiler effects, and hardware pipelining, leading to inefficiencies in speed and precision.
Innovation Solution
A system that searches a space of possible computer programs to find optimized functions for execution on a target processor, directly accounting for floating-point computation and compiler effects to achieve high precision and speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional mathematical approximation methods are used to compute functions, then the computation can be performed with reasonable precision, but the execution speed is significantly slower and does not account for modern hardware optimization opportunities
Solution Approach 1:
The patent changes the fundamental parameter of function representation from traditional mathematical approximations to compiled computer programs. By searching through a space of candidate programs and compiling them to native machine code, the system achieves both high execution speed (exploiting hardware pipelining and compiler optimizations) and high floating-point precision (accounting for rounding effects), resolving the contradiction between speed and precision
Solution Approach 2:
The patent replaces the mechanical/mathematical approximation system with a computational system that uses actual compiled code. Instead of relying on mathematical formulas that are evaluated through interpretation or software computation, the system compiles optimized instruction sequences that directly execute on hardware, substituting mathematical abstraction with concrete machine-level computation that leverages hardware features
2Productivity
If traditional function approximation methods are used, then the implementation is simpler and more general, but the execution does not efficiently exploit hardware pipelining and compiler optimizations
Solution Approach 1:
The patent applies preliminary action by pre-compiling optimized function implementations before execution. The system searches through candidate programs, compiles them to native code, and selects the best-performing version. This pre-compilation step captures hardware-specific optimizations (pipelining, instruction caching, register allocation) that would otherwise be lost during runtime, thereby increasing throughput without adding complexity to the execution phase
Solution Approach 2:
The patent uses copying by generating multiple candidate program versions and selecting the best one. Instead of attempting to create a single universal optimized function, the system compiles and evaluates multiple candidate implementations, then copies the best-performing version for use. This approach allows the system to exploit hardware features effectively while keeping the actual execution path simple and efficient
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a target function for execution on a target processor. In particular, the target function is optimized by searching through candidate computer programs that each represent an approximation of the target function.


