GPU Data Compression via Variable Block Concatenation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The primary bottleneck in GPU-to-GPU communication is the connection bandwidth of the network interface circuit (NIC) on GPUs, and existing data compression methods introduce additional latency and require extra compute power.
Innovation Solution
A graphics processing system where graphics processors connected by a network transfer compressed data, with a first graphics processor storing data blocks as compressed data in its local memory and concatenating variable-sized blocks into fixed-size packets for transfer to a second graphics processor, which can store or use the compressed data without decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data compression is performed for GPU-to-GPU communication, then connection bandwidth utilization is improved, but latency and power consumption increase due to compression and decompression operations
Solution Approach 1:
Data is compressed in advance during rendering operations and stored in local memory before transfer. This preliminary compression eliminates the need for real-time compression during data transfer, thereby reducing communication latency while maintaining high bandwidth utilization.
Solution Approach 2:
The compression operation is extracted from the data transfer path and performed separately during rendering. This separates the compression function from the communication path, allowing data to be transferred directly without in-path compression delays.
2Productivity
If data compression is performed for GPU-to-GPU communication, then connection bandwidth utilization is improved, but additional compute power is required for compression and decompression
Solution Approach 1:
The GPU's existing rendering pipeline performs compression as part of its normal operation when storing data in local memory. This self-service approach reuses already allocated compute resources for rendering, eliminating the need for separate dedicated compression hardware or additional compute power.
Solution Approach 2:
The GPU's rendering pipeline is made multi-functional by enabling it to perform both rendering and compression operations. This universal approach allows the same hardware resources to serve dual purposes, reducing overall power consumption without compromising compression capabilities.
3Productivity
If variable-sized compressed data blocks are transferred over network, then data efficiency is improved, but packet transmission complexity increases
Solution Approach 1:
Compressed data is divided into variable-sized blocks that are independently transferable. Each block can be packaged into fixed-size packets with appropriate headers, allowing efficient network transmission while maintaining the benefits of variable-sized compressed data units through systematic segmentation.
Data Source
AI summary
A graphics processing apparatus includes graphics processors connected by a network connection, where the graphics processors pass compressed data. A first graphics processor stores data blocks as compressed data in a memory. The compressed data has data blocks of variable size, where a size of a block of compressed data depends on a compression ratio of the block of compressed data. A second graphics processor also stores data blocks as compressed data. The first graphics processor concatenates a variable number of blocks of compressed data into a packet of fixed size to send to the second graphics processor. The packet has a variable number of blocks of compressed data depending on the compression ratios of the multiple blocks of compressed data.


