Quantized Scaling on Integrated Circuits Reducing Memory Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuits face inefficiencies in scaling operations due to frequent access to external memory and repeated computations, particularly when handling real numbers stored as floating-point numbers, which require more storage space and resources.

Innovation Solution

A computer program and method for preparing and executing quantized scaling operations on integrated circuits, involving pre-computation by a host processor, conversion of floating-point numbers to quantized numbers, and storage of coordinates and coefficients as integers and fixed-point numbers, respectively, to reduce memory usage and optimize computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If floating-point numbers are used to store real numbers in the original array, then measurement precision is improved, but device complexity and memory requirements increase

Engineering Contradiction:
ImproveprecisionVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation from floating-point numbers to quantized numbers with integer coordinates and fixed-point coefficients. This transformation maintains the necessary precision for scaling operations while significantly reducing memory requirements and computational complexity, directly resolving the contradiction between precision and device complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a simplified representation (quantized numbers, integer coordinates, fixed-point coefficients) that copies the essential information needed for scaling operations while eliminating the complexity of floating-point storage. This copying approach preserves functional equivalence while reducing resource consumption.

Inventive Principle:
Principle #26Copying

2Measurement precision

If floating-point numbers are used for linear interpolation coefficients, then measurement precision is improved, but use of energy and computational resources increase

Engineering Contradiction:
ImproveprecisionVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent transforms linear interpolation coefficients from floating-point to fixed-point representation. This parameter change maintains the precision required for accurate scaling while reducing the computational resources and energy needed for processing, as fixed-point arithmetic is more efficient on integrated circuits than floating-point arithmetic.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses fixed-point numbers as a more economical alternative to floating-point numbers for storing interpolation coefficients. This approach sacrifices some flexibility in favor of computational efficiency and lower energy consumption, which is acceptable for the specific application context of scaling operations on resource-constrained devices.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Measurement precision

If repeated computations are performed during scaling operations, then measurement precision is maintained, but productivity decreases

Engineering Contradiction:
ImproveprecisionVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary computation by pre-calculating and storing quantized values, integer coordinates, and fixed-point interpolation coefficients before the actual scaling operation. This preliminary action eliminates the need for repeated computations during scaling, maintaining precision while significantly improving productivity by reducing redundant calculations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables the scaling operation to be self-sufficient by using pre-computed quantized data and coefficients that can be directly applied without repeated reference to the original floating-point array. This self-service approach allows the system to maintain precision while avoiding redundant computational steps, thereby improving efficiency.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If access to external memory is performed frequently during scaling operations, then measurement precision is maintained, but loss of time increases

Engineering Contradiction:
ImproveprecisionVSAvoidaccess time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary conversion of the original array to quantized numbers and pre-computation of coordinates and coefficients, storing these in a format optimized for the integrated circuit. This preliminary action reduces the need for frequent external memory accesses during execution, as the processed data can be directly utilized from internal memory or registers, thereby reducing time loss while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11188300B1Preparation and execution of quantized scaling on integrated circuitry
Publication Date: 2021.11.30 EDGECORTIX INC
  • US11188300B1 patent drawing
  • US11188300B1 patent drawing
  • US11188300B1 patent drawing

AI summary

Preparation and execution of quantized scaling may be performed by operations including obtaining an original array and a scaling factor representing a ratio of a size of the original array to a size of a scaled array, determining, for each column of the scaled array, a horizontal coordinate of each of two nearest elements in the horizontal dimension of the original array, and, for each row of the scaled array, a vertical coordinate of each of two nearest elements in the vertical dimension of the original array, calculating, for each row of the scaled array and each column of the scaled array, a linear interpolation coefficient, converting each value of the original array from a floating point number into a quantized number, converting each linear interpolation coefficient from a floating point number into a fixed point number, storing, in a memory, the horizontal coordinates and vertical coordinates as integers, the values as quantized numbers, and the linear interpolation coefficients as fixed point numbers.