Adaptive loss‐less data compression method optimized for GPU decompression

There is no doubt that data compression is very important in computer engineering. However, most lossless data compression and decompression algorithms are very hard to parallelize, because they use dictionaries updated sequentially. The main contribution of this paper is to present a new lossless data compression method that we call adaptive loss‐less (ALL) data compression. It is designed so that the data compression ratio is moderate, but decompression can be performed very efficiently on the graphics processing unit (GPU). This makes sense for applications such as training of deep learning, in which compressed archived data are decompressed many times. To show the potentiality of ALL data compression method, we have evaluated the running time using five images and five text data and compared ALL with previously published lossless data compression methods implemented in the GPU, Gompresso, CULZSS, and LZW. The data compression ratio of ALL data compression is better than the others for eight data out of these 10 data. Also, our GPU implementation on GeForce GTX 1080 GPU for ALL decompression runs 84.0 to 231 times faster than the CPU implementation on Core i7‐4790 CPU. Further, it runs 1.22 to 23.5 times faster than Gompresso, CULZSS, and LZW running on the same GPU.

[1]  Wen-mei W. Hwu,et al.  GPU Computing Gems Emerald Edition , 2011 .

[2]  G. Blelloch Introduction to Data Compression * , 2022 .

[3]  Robert W. Irving,et al.  Approximation Algorithms for the Shortest Common Supersequence , 1995, Nord. J. Comput..

[4]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[5]  Yao Zhang,et al.  Parallel lossless data compression on the GPU , 2012, 2012 Innovative Parallel Computing (InPar).

[6]  Koji Nakano,et al.  Fully Parallelized LZW Decompression for CUDA-Enabled GPUs , 2016, IEICE Trans. Inf. Syst..

[7]  Shmuel Tomi Klein,et al.  Parallel Lempel Ziv coding , 2001, Discret. Appl. Math..

[8]  Koji Nakano,et al.  Fast LZW Compression Using a GPU , 2015, 2015 Third International Symposium on Computing and Networking (CANDAR).

[9]  Koji Nakano,et al.  Implementations of a Parallel Algorithm for Computing Euclidean Distance Map in Multicore Processors and GPUs , 2011, Int. J. Netw. Comput..

[10]  Koji Nakano,et al.  Light Loss-Less Data Compression, with GPU Implementation , 2016, ICA3PP.

[11]  Kenneth A. Ross,et al.  Massively-Parallel Lossless Data Decompression , 2016, 2016 45th International Conference on Parallel Processing (ICPP).

[12]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[13]  Khalid Sayood Introduction to Data Compression, Fourth Edition , 2012 .

[14]  D. J. Wheeler,et al.  A Block-sorting Lossless Data Compression Algorithm , 1994 .

[15]  James A. Storer,et al.  Data compression via textual substitution , 1982, JACM.

[16]  D. Martin Swany,et al.  CULZSS: LZSS Lossless Data Compression on CUDA , 2011, 2011 IEEE International Conference on Cluster Computing.

[17]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[18]  Esko Ukkonen,et al.  The Shortest Common Supersequence Problem over Binary Alphabet is NP-Complete , 1981, Theor. Comput. Sci..