Floating-Point Compression via Exponent Delta Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data compression solutions fail to provide a reasonable compression ratio for floating-point data in emerging applications like Deep Neural Networks and real-time ray tracing, leading to inefficient storage and performance issues.

Innovation Solution

A hardware-friendly floating-point encoding scheme that uses delta encoding for the exponent portion of floating-point numbers, storing a base exponent and delta values, allowing for a higher compression ratio while maintaining low decompression latency and minimal performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional data compression solutions are used on floating-point data, then storage space is reduced, but compression ratio is insufficient and performance deteriorates

Engineering Contradiction:
Improvestorage spaceVSAvoidcompression ratio
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The floating-point number is segmented into three independent components: sign bit, exponent, and significand. Different compression techniques are applied to each component based on its characteristics. The exponent is compressed using delta encoding, the significand is compressed using run-length encoding or bit-packing, while the sign bit is handled separately. This segmentation allows optimized compression for each part, achieving high compression ratios without sacrificing accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different compression strategies are applied to different parts of the floating-point data based on local characteristics. For example, when consecutive exponent values have small differences, delta encoding is applied; when significand bits show repetitive patterns, run-length encoding is used; when precision can be traded for compression, bit-packing is applied. This local adaptation maximizes compression efficiency for each specific data region.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If floating-point data is compressed to reduce storage, then storage efficiency improves, but decompression latency increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddecompression latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The compression process pre-calculates and stores differential values for exponents and packed representations for significands in a format that enables rapid decompression. During decompression, simple addition operations restore exponent values from differentials, and bit-unpacking restores significands, avoiding complex computational steps. This preliminary structuring of compressed data minimizes decompression latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Complex decompression algorithms are replaced with simple arithmetic operations and bit-manipulation instructions. The compressed format is designed so that decompression can be performed using basic CPU instructions like addition, OR operations, and bit-shifting, rather than requiring complex floating-point unit operations. This substitution dramatically reduces decompression time and latency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If compression ratio is increased for floating-point data, then storage needs are reduced, but device complexity increases

Engineering Contradiction:
Improvestorage needsVSAvoidcompression algorithm complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The compression algorithm dynamically adjusts compression parameters based on the characteristics of the floating-point data being compressed. For example, it selects between different significand compression methods (run-length encoding, bit-packing, or no compression) based on the observed data patterns. It also adjusts the precision level of exponent compression based on the range and distribution of exponent values. This parameter adaptation achieves high compression ratios without requiring overly complex fixed algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11416248B2Method and system for efficient floating-point compression
Publication Date: 2022.08.16 INTEL CORP
  • US11416248B2 patent drawing
  • US11416248B2 patent drawing
  • US11416248B2 patent drawing

AI summary

An apparatus and method for compressing floating-point values. For example, one embodiment of a processor comprises: instruction fetch circuitry to fetch instructions from a memory, the instructions including floating-point instructions; execution circuitry to execute the floating-point instructions, each floating-point instruction having one or more floating-point operands, each floating-point operand comprising an exponent value and a significand value; floating-point compression circuitry to compress a plurality of the exponent values associated with a corresponding plurality of the floating-point operands, the floating-point compression circuitry comprising: base generation circuitry to evaluate the plurality of the exponent values to generate a first base value; and delta generation circuitry to determine a difference between the plurality of exponent values and the first base value and to generate a corresponding first plurality of delta values, wherein the floating-point compression circuitry is to store the first base value and the corresponding first plurality of delta values as a plurality of compressed exponent values.