Zero-Value Vector Decoding With Sparsity Bitmap Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in efficiently processing and storing large multi-dimensional data structures like tensors due to memory and energy constraints, particularly in mobile devices, where significant amounts of zero-value elements in data vectors lead to inefficient use of resources.

Innovation Solution

An in-line sparsity-aware tensor data distribution system that decodes zero-value-compression data vectors, allowing for flexible tensor data processing without storing uncompressed data, by reconstructing sparsity bitmaps on the fly and utilizing programmable schedules to optimize memory usage and energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If zero-value-compression is applied to data vectors, then memory usage and energy efficiency are improved, but decoding complexity increases

Engineering Contradiction:
Improvememory usageVSAvoiddecoding complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The data vector is segmented into two separate components: a sparsity bitmap indicating zero-value positions and a compressed data vector containing only non-zero elements. This segmentation allows the system to store and process only necessary information, reducing memory usage while enabling efficient decoding through dedicated bitmap processing logic

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A sparsity bitmap is introduced as an intermediary data structure that mediates between the compressed data vector and the processing elements. The bitmap acts as a mapping mechanism that guides data distribution and reconstruction, simplifying the decoding process by providing explicit position information without requiring complex decompression algorithms

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If uncompressed data is stored for flexible processing, then processing flexibility is improved, but memory consumption increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system implements dynamic data distribution schedules that can be programmed at runtime, allowing flexible processing of compressed data without requiring full uncompressed storage. The sparsity-aware distribution controller dynamically adjusts data routing based on the bitmap information, providing adaptability equivalent to uncompressed data while maintaining compression benefits

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The sparsity bitmap is prepared in advance alongside the compressed data vector, encoding all necessary information about zero-value positions before processing begins. This preliminary encoding enables flexible data distribution and reconstruction during processing without requiring memory-intensive uncompressed storage

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3886000A1Methods, systems, articles of manufacture, and apparatus to decode zero-value-compression data vectors
Publication Date: 2021.09.29 INTEL CORP
  • EP3886000A1 patent drawingFigure 1
  • EP3886000A1 patent drawingFigure 2
  • EP3886000A1 patent drawingFigure 3

AI summary

Methods, systems, articles of manufacture, and apparatus are disclosed to decode zero-value-compression data vectors. An example apparatus includes: a buffer monitor to monitor a buffer for a header including a value indicative of compressed data; a data controller to, when the buffer includes compressed data, determine a first value of a sparse select signal based on (1) a select signal and (2) a first position in a sparsity bitmap, the first value of the sparse select signal corresponding to a processing element that is to process a portion of the compressed data; and a write controller to, when the buffer includes compressed data, determine a second value of a write enable signal based on (1) the select signal and (2) a second position in the sparsity bitmap, the second value of the write enable signal corresponding to the processing element that is to process the portion of the compressed data.