Accelerating Lossless Data Compression with GPUs

06/21/2011
by   R. L. Cloud, et al.
0

Huffman compression is a statistical, lossless, data compression algorithm that compresses data by assigning variable length codes to symbols, with the more frequently appearing symbols given shorter codes than the less. This work is a modification of the Huffman algorithm which permits uncompressed data to be decomposed into indepen- dently compressible and decompressible blocks, allowing for concurrent compression and decompression on multiple processors. We create implementations of this modified algorithm on a current NVIDIA GPU using the CUDA API as well as on a current Intel chip and the performance results are compared, showing favorable GPU performance for nearly all tests. Lastly, we discuss the necessity for high performance data compression in today's supercomputing ecosystem.

READ FULL TEXT
research
11/11/2019

Dv2v: A Dynamic Variable-to-Variable Compressor

We present Dv2v, a new dynamic (one-pass) variable-to-variable compresso...
research
09/12/2021

Accelerating GPU-Based Out-of-Core Stencil Computation with On-the-Fly Compression

Stencil computation is an important class of scientific applications tha...
research
04/14/2023

GPULZ: Optimizing LZSS Lossless Compression for Multi-byte Data on Modern GPUs

Today's graphics processing unit (GPU) applications produce vast volumes...
research
10/20/2020

Revisiting Huffman Coding: Toward Extreme Performance on Modern GPU Architectures

Today's high-performance computing (HPC) applications are producing vast...
research
04/03/2017

Optimizing Communication by Compression for Multi-GPU Scalable Breadth-First Searches

The Breadth First Search (BFS) algorithm is the foundation and building ...
research
07/23/2020

Recursive Variable-Length State Compression for Multi-Core Software Model Checking

High-performance multi-core software typically uses concurrent data stru...
research
03/05/2023

Acceleration of a production Solar MHD code with Fortran standard parallelism: From OpenACC to `do concurrent'

There is growing interest in using standard language constructs for acce...

Please sign up or login with your details

Forgot password? Click here to reset