Function Approximation via Curvature-Adaptive Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex functions behave differently across various input ranges, leading to varying accuracy in approximations when implemented in processors with limited internal precision, resulting in inaccurate results in some parts of the input range.

Innovation Solution

An execution unit utilizing look up tables and a correction table to determine the range of the input value, selecting the appropriate table, and applying interpolation to calculate the output, with the spacing between table entries inversely correlated with the function's curvature to maintain accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single look up table is used to approximate a complex function, then memory usage is reduced, but approximation accuracy deteriorates in certain input ranges due to varying function curvature

Engineering Contradiction:
Improvememory usageVSAvoidapproximation accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent divides the input range of the complex function into multiple segments or ranges. For each range, a separate look up table is constructed with entries spaced according to the local curvature characteristics of the function in that range. This segmentation allows each table to be optimized for its specific range, maintaining accuracy without requiring a single large table covering all ranges.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making the spacing between look up table entries inversely correlated with the function's curvature in each specific range. In regions where the function has high curvature, entries are spaced more closely together to capture the rapid changes. In regions with low curvature, entries can be spaced farther apart. This local adaptation of table density optimizes accuracy for each region's specific characteristics.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If table entries are densely spaced to maintain accuracy across all ranges, then approximation precision is improved, but memory usage and device complexity increase

Engineering Contradiction:
Improveapproximation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of table entry spacing based on the local curvature parameter of the function. Instead of using a fixed uniform spacing, the spacing between entries is dynamically adjusted (inversely correlated) with the curvature of the function in each range. This parameter change allows dense spacing only where necessary (high curvature regions) and sparse spacing where not needed (low curvature regions), optimizing the trade-off between accuracy and memory usage.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If multiple look up tables with range-specific spacing are used, then approximation accuracy is maintained across all input ranges, but device complexity and table selection overhead increase

Engineering Contradiction:
Improveapproximation accuracyVSAvoidtable selection mechanism
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the input domain into distinct ranges, with each range having its own optimized look up table. The table selector determines which range the input falls into and selects the corresponding table. This segmentation approach manages complexity by organizing multiple tables into structured ranges rather than having a single unmanageably large table or multiple unorganized tables.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-calculating and storing the function values in multiple range-specific look up tables during system initialization or manufacturing. The tables are prepared in advance with entries spaced according to the curvature characteristics of each range. This preliminary preparation eliminates the need for complex real-time calculations during function evaluation, reducing runtime complexity despite the presence of multiple tables.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11886505B2Function approximation
Publication Date: 2024.01.30 GRAPHCORE LTD
  • US11886505B2 patent drawing
  • US11886505B2 patent drawing
  • US11886505B2 patent drawing

AI summary

A function approximation system is disclosed for determining output floating point values of functions calculated using floating point numbers. Complex functions have different shapes in different subsets of their input domain, making them difficult to predict for different values of the input variable. The function approximation system comprises an execution unit configured to determine corresponding values of a given function given a floating point input to the function; a plurality of look up tables for each function type; a correction table of values which determines if corrections to the output value are required; and a table selector for finding an appropriate table for a given function.