SIMD Target Function Mapping with Range-Based Approximation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices face a trade-off between accuracy and speed when implementing continuous mathematical functions due to binary representation, with simplistic digitization offering reduced complexity and speed but poor accuracy, and complex digitization being slower.
Innovation Solution
Implementing a target function on SIMD computing devices using a method that partitions the function into non-overlapping ranges and applies a set of operational functions, including primitive functions like constants, linear, and quadratic, to achieve greater accuracy and performance by minimizing error and processing load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a simplistic digitization of a function is used, then the complexity is reduced and execution speed is improved, but the accuracy deteriorates
Solution Approach 1:
The patent divides the continuous function into multiple discrete segments or ranges, each represented by a simplified operational function. This segmentation allows each segment to be computed quickly while collectively covering the full function domain with acceptable accuracy. The function domain is partitioned into intervals, and for each interval, a simplified model (e.g., linear approximation, constant value) is used instead of the full complex function.
Solution Approach 2:
The patent changes the parameters of the operational functions based on the input range. Different ranges of the input domain are mapped to different operational functions with optimized parameters. For example, different linear approximations with different slopes and intercepts are used for different input intervals, allowing each to be optimized for its specific range while maintaining overall accuracy.
2Measurement precision
If a complex digitization of a function is used, then the accuracy is improved, but the execution speed deteriorates
Solution Approach 1:
The patent segments the complex function into multiple simpler operational functions defined over different ranges. Each segment uses a simplified model (constant, linear, quadratic) that is computationally efficient, while the collection of segments collectively represents the full complex function with high accuracy. This avoids the need to evaluate the full complex function everywhere.
Solution Approach 2:
The patent applies different levels of computational complexity to different regions of the function domain. In regions where the function is relatively simple or flat, constant or linear approximations are used. In regions where the function has higher curvature or importance, more complex operational functions (quadratic or higher) are applied. This local adaptation optimizes the balance between accuracy and speed for each region.
3Measurement precision
If the function modeling complexity is increased, then the accuracy is improved, but the processing load increases
Solution Approach 1:
The patent divides the complex continuous function into multiple discrete operational functions, each with reduced complexity. Instead of implementing one highly complex function everywhere, the system uses multiple simpler functions (constants, linear, quadratic) defined over different input ranges. Each operational function has minimal complexity, but together they accurately represent the original function.
Solution Approach 2:
The patent applies operational functions with complexity matched to the local requirements of each function segment. Not all segments require high complexity - many can be accurately represented by simple constants or linear functions. The system applies just enough complexity to each segment to achieve the desired accuracy, avoiding excessive complexity in regions where it is not needed.
Data Source
AI summary
A processor is configured to partition a target mapping of a target function into ranges. Candidate functions are fit to the ranges, such that a candidate function is fit to each range. The candidate functions and the ranges are adjusted based on a cost function. The cost function computes a processing load to execute the candidate functions with the ranges using an array of single instruction, multiple data (SIMD) processing elements. The processor selects the candidate functions and the ranges that minimize the cost function as operational functions and operational ranges that implement the target mapping.


