Elastic Floating-Point Encoding for Dynamic Precision Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions for intensive computation within a stringent power budget, such as deep learning, face limitations with reduced-precision arithmetic operands like FP16, which have a limited numerical range and require cumbersome data scaling, especially during training and inference tasks.
Innovation Solution
The introduction of elastic floating-point (EFP) encoding, which allows for a larger numerical range by varying bit allocations for the exponent and mantissa fields, enabling dynamic precision adjustment and eliminating the need for explicit data scaling, while maintaining the same memory footprint as IEEE 754-based instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If reduced-precision arithmetic operands like FP16 are used, then power consumption is reduced and computation speed is increased, but the numerical range is limited and data scaling becomes cumbersome
Solution Approach 1:
The patent implements dynamic precision adjustment by introducing a precision field in the EFP encoding format that allows the number of mantissa bits to vary based on the exponent value. This dynamic allocation enables the format to adapt between high-precision low-range mode and low-precision high-range mode, resolving the contradiction between numerical range and precision by making precision a variable parameter rather than a fixed property
Solution Approach 2:
The EFP encoding format changes the parameter allocation dynamically by using the exponent field to determine the number of mantissa bits. When the exponent indicates a larger magnitude range is needed, the format automatically reduces mantissa bits accordingly, and vice versa. This parameter transformation resolves the contradiction by allowing the system to operate at different precision levels without requiring explicit data scaling operations
2Quantity of substance
If reduced-precision arithmetic operands like FP16 are used, then memory footprint is reduced, but numerical range remains limited
Solution Approach 1:
The EFP format uses dynamic bit allocation where the number of mantissa bits is determined by the exponent value encoded in the format. This allows the same fixed-bit representation to effectively provide variable precision and range, enabling larger numerical range within the same memory footprint by dynamically adjusting how many bits are dedicated to precision versus range
Solution Approach 2:
The patent transforms the fixed parameter allocation of traditional floating-point formats into a dynamic allocation scheme where the precision field and exponent field work together to determine the actual number of mantissa bits. This parameter change allows the format to expand its numerical range without increasing memory footprint by efficiently reusing the same bits for different precision-range combinations
3Reliability
If explicit data scaling is performed to extend numerical range, then computation complexity increases, but this approach is cumbersome and inefficient
Solution Approach 1:
The EFP encoding format provides self-service by automatically adjusting its precision and range characteristics based on the encoded exponent value. The format inherently handles the scaling that would otherwise require explicit computational operations, as the bit allocation is determined by the exponent field itself. This eliminates the need for separate data scaling operations and reduces computation complexity
Solution Approach 2:
The patent performs the precision-range adjustment in advance during the encoding phase rather than requiring runtime scaling operations. By pre-configuring the bit allocation based on the exponent value in the EFP format, the system eliminates the need for cumbersome explicit data scaling during computation, as the appropriate precision and range are already established by the encoding structure
Data Source
Figure 1(A)
Figure 1(B)
Figure 2(A)
AI summary
Systems, apparatuses, and methods utilizing an elastic floating-point encoding format are described. In particular, at least one operand of an instruction is to store, or stores, data in the elastic floating-point encoding format. In some implementations, the floating-point encoding format includes a sign bit, a self-identifying field, a mantissa, and a nonoverlapping exponent range.