Variable-Precision Floating-Point Storage for Memory Footprint Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing variable precision computing methods face challenges with memory footprint inefficiencies and computational inaccuracies due to discrete bit lengths in IEEE 754-2008 FP representation, leading to issues like rounding, cancellation, and absorption errors.
Innovation Solution
A method and device for storing variable precision floating-point values by reducing their bit length to a size limit, using a load and store circuit to truncate or convert values, and storing them in memory zones with equal or greater size, allowing dynamic bit length adjustment and efficient memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If variable precision computing is used to improve computational precision, then computational accuracy is improved, but memory footprint increases
Solution Approach 1:
The patent implements dynamic precision adjustment by allowing the precision of floating-point numbers to be modified during computation based on the specific needs of different calculation stages. The system can switch between different precision levels (e.g., single precision, double precision, quadruple precision) dynamically, optimizing the balance between computational accuracy and memory consumption throughout the computation process.
Solution Approach 2:
The patent applies different precision levels to different parts of the computation rather than using uniform high precision throughout. Critical calculations that require high accuracy use higher precision representations, while less critical operations use lower precision, thereby reducing overall memory footprint while maintaining necessary computational accuracy where required.
2Quantity of substance
If fixed bit length FP representation is used, then memory storage is efficient, but computational accuracy deteriorates due to rounding, cancellation, and absorption errors
Solution Approach 1:
The patent changes the precision parameter of floating-point numbers dynamically during computation. The system can adjust the number of significant bits used to represent mantissas and exponents based on the specific computational requirements, allowing transitions between different precision modes (single, double, quadruple precision) to maintain accuracy while managing memory usage effectively.
Solution Approach 2:
The patent implements dynamic precision adjustment by allowing the precision of floating-point numbers to be modified during computation based on the specific needs of different calculation stages. The system can switch between different precision levels (e.g., single precision, double precision, quadruple precision) dynamically, optimizing the balance between computational accuracy and memory consumption throughout the computation process.
3Measurement precision
If arbitrary precision is used for all FP numbers, then computational accuracy is maximized, but device complexity and processing overhead increase
Solution Approach 1:
The patent applies different precision levels to different parts of the computation rather than using uniform high precision throughout. Critical calculations that require high accuracy use higher precision representations, while less critical operations use lower precision, thereby reducing overall memory footprint while maintaining necessary computational accuracy where required.
Solution Approach 2:
The patent uses high precision representations only when necessary for specific calculations rather than applying arbitrary precision uniformly to all floating-point numbers. The system selectively applies higher precision to critical operations where accuracy is paramount, while using standard precision for routine operations, thus avoiding unnecessary processing overhead and device complexity.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
The present disclosure relates to a method of storing, by a load and store circuit or other processing means, a variable precision floating point value to a memory address of a memory, the method comprising: reducing the bit length of the variable precision floating point value to no more than a size limit; and storing the variable precision floating point value to one of a plurality of storage zones in the memory, each of the plurality of storage zones having a storage space equal to or greater than the size limit (MBB).