GPU Data Compression Architecture for Memory Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing unit (GPU) architectures inefficiently utilize memory bandwidth due to limited compression capabilities, leading to bottlenecks in data transfer operations between on-chip and external memory, which hinders processing efficiency as data density and speed increase.

Innovation Solution

Implementing a data compression method within GPUs that stores a first data word, determines the best stride for subsequent data words, and compresses data based on differences to generate compressed data for transmission, thereby increasing the percentage of compressible data transfers between L2 cache and DRAM and conserving bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If compression techniques are applied to only ROP traffic (forty percent of data accesses), then implementation complexity is reduced, but memory bandwidth utilization is not sufficiently conserved

Engineering Contradiction:
Improvecompression implementation complexityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent segments compression functionality into discrete compressor units that can be selectively placed at strategic locations within GPU elements. This allows compression to be applied to specific data transfer paths (such as texture unit outputs to L2 cache) without requiring system-wide compression, thus reducing overall implementation complexity while still capturing significant bandwidth savings from compressing the most critical data flows.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs a universal compression architecture where compressor units can serve multiple functions and multiple data sources. The same compression hardware can handle different types of data traffic (texture data, render output, intermediate results) from different GPU units, maximizing bandwidth conservation across all compressible transfers without requiring separate compression systems for each data path.

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

2Quantity of substance

If more memory circuits are added to improve memory capacity, then memory capacity increases, but cost and board area usage increase

Engineering Contradiction:
Improvememory capacityVSAvoidcost and board area
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the fundamental parameter of data representation by applying compression algorithms that encode data using fewer bits. By transforming full-precision data into compressed formats (such as run-length encoding, differential encoding, or other lossy/lossless schemes), the system effectively increases memory capacity without adding physical memory circuits, as the same memory space can hold more logical data through compression.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If processor density and speed increase, then processing capability improves, but memory bandwidth bottleneck worsens

Engineering Contradiction:
Improveprocessing capabilityVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent applies compression techniques in advance of memory transfers to prevent bandwidth bottlenecks before they occur. By compressing data at the source (within GPU elements before data leaves the chip), the system proactively reduces the volume of data that would otherwise overwhelm memory bandwidth, thus maintaining processing capability without being constrained by memory speed limitations.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS10338820B2Architecture and algorithms for data compression
Publication Date: 2019.07.02 NVIDIA CORP
  • US10338820B2 patent drawing
  • US10338820B2 patent drawing
  • US10338820B2 patent drawing

AI summary

A system architecture conserves memory bandwidth by including compression utility to process data transfers from the cache into external memory. The cache decompresses transfers from external memory and transfers full format data to naive clients that lack decompression capability and directly transfers compressed data to savvy clients that include decompression capability. An improved compression algorithm includes software that computes the difference between the current data word and each of a number of prior data words. Software selects the prior data word with the smallest difference as the nearest match and encodes the bit width of the difference to this data word. Software then encodes the difference between the current stride and the closest previous stride. Software combines the stride, bit width, and difference to yield final encoded data word. Software may encode the stride of one data word as a value relative to the stride of a previous data word.