SIMD Instructions for Numerical Data Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems face bottlenecks due to limited data transfer rates between processor cores and memory, necessitating efficient compression methods for numerical data to reduce storage and transfer demands, while maintaining computational efficiency.

Innovation Solution

The implementation of novel SIMD constructs and instructions for encoding and decoding numerical data, including determining maximum exponent values, interleaving bits, and generating exponent tokens, to facilitate computationally efficient compression and decompression of data samples.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compression of numerical data is applied to reduce storage and transfer demands, then data transfer efficiency and memory utilization are improved, but computational complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments numerical data into fixed-point representations and processes them in parallel using SIMD (Single Instruction Multiple Data) operations. By dividing the data into manageable chunks that can be processed simultaneously, the computational complexity is distributed across multiple parallel operations rather than sequential processing, thus improving data transfer efficiency without proportionally increasing overall computational burden.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial compression actions by selectively compressing data based on fixed-point representations rather than attempting full precision compression. This partial action approach achieves sufficient compression for reducing transfer demands while avoiding the excessive computational complexity that would result from attempting to preserve all original data precision and detail.

Inventive Principle:
Principle #16Partial or excessive action

2Speed

If SIMD instructions are used to accelerate compression operations, then processing speed is improved, but instruction complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges multiple compression operations into unified SIMD instructions that can process multiple data elements simultaneously. By combining what would traditionally require multiple sequential instructions into single SIMD operations, the processing speed increases while the actual instruction complexity (number of instructions) decreases, as the merged operations execute in parallel rather than requiring separate instruction sequences.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent develops universal SIMD instructions capable of performing multiple compression-related operations (such as different fixed-point conversions and packing operations) through a single instruction type that can operate on various data formats. This multi-functionality approach improves processing speed across different compression scenarios while avoiding the need for numerous specialized instructions, thereby reducing overall instruction complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9298457B2SIMD instructions for data compression and decompression
Publication Date: 2016.03.29 ALTERA CORP
  • US9298457B2 patent drawing
  • US9298457B2 patent drawing
  • US9298457B2 patent drawing

AI summary

An execution unit configured for compression and decompression of numerical data utilizing single instruction, multiple data (SIMD) instructions is described. The numerical data includes integer and floating-point samples. Compression supports three encoding modes: lossless, fixed-rate, and fixed-quality. SIMD instructions for compression operations may include attenuation, derivative calculations, bit packing to form compressed packets, header generation for the packets, and packed array output operations. SIMD instructions for decompression may include packed array input operations, header recovery, decoder control, bit unpacking, integration, and amplification. Compression and decompression may be implemented in a microprocessor, digital signal processor, field-programmable gate array, application-specific integrated circuit, system-on-chip, or graphics processor, using SIMD instructions. Compression and decompression of numerical data can reduce memory, networking, and storage bottlenecks. This abstract does not limit the scope of the invention as described in the claims.