Massively Parallel Huffman Decoding on GPUs

被引:21
|
作者
Weissenberger, Andre [1 ]
Schmidt, Bertil [2 ]
机构
[1] Goethe Univ Frankfurt, D-60323 Frankfurt, Germany
[2] Johannes Gutenberg Univ Mainz, Inst Comp Sci, D-55128 Mainz, Germany
关键词
Data compression; GPUs; CUDA; Huffman Decoding;
D O I
10.1145/3225058.3225076
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Data compression is a fundamental building block in a wide range of applications. Besides its intended purpose to save valuable storage on hard disks, compression can be utilized to increase the effective bandwidth to attached storage as realized by state-of-the-art file systems. In the foreseeing future, on-the-fly compression and decompression will gain utmost importance for the processing of data-intensive applications such as streamed Deep Learning tasks or Next Generation Sequencing pipelines, which establishes the need for fast parallel implementations. Huffman coding is an integral part of a number of compression methods. However, efficient parallel implementation of Huffman decompression is difficult due to inherent data dependencies (i.e. the location of a decoded symbol depends on its predecessors). In this paper, we present the first massively parallel decoder implementation that is compatible with Huffman's original method by taking advantage of the self-synchronization property of Huffman codes. Our performance evaluation on three different CUDA-enabled GPUs (TITAN V TITAN XP, GTX 1080) demonstrates speedups of over one order-of-magnitude compared to the state-of-art CPU-based Zstandard Huffman decoder. Our implementation is available at https://github.com/weissenberger/gpuhd.
引用
收藏
页数:10
相关论文
共 50 条
  • [41] Huffman Coding and Decoding using Android
    Radhakrishnan, Janaki
    Sarayu, S.
    Kurian, K. George
    Alluri, Deepak
    Gandhiraj, R.
    2016 INTERNATIONAL CONFERENCE ON COMMUNICATION AND SIGNAL PROCESSING (ICCSP), VOL. 1, 2016, : 361 - 365
  • [42] Level-compressed Huffman decoding
    Chung, KL
    Wu, JG
    IEEE TRANSACTIONS ON COMMUNICATIONS, 1999, 47 (10) : 1455 - 1457
  • [43] Implementation of fast Huffman decoding algorithm
    He, Ya-Jun
    Zhang, Duo-Li
    Shen, Bin
    Geng, Luo-Feng
    ASICON 2007: 2007 7TH INTERNATIONAL CONFERENCE ON ASIC, VOLS 1 AND 2, PROCEEDINGS, 2007, : 770 - 773
  • [44] Efficient Huffman decoding with table lookup
    Mansour, Mohamed F.
    2007 IEEE International Conference on Acoustics, Speech, and Signal Processing, Vol II, Pts 1-3, 2007, : 53 - 56
  • [45] POWER ANALYSIS OF THE HUFFMAN DECODING TREE
    McNeely, Jason
    Ismail, Yasser
    Bayoumi, Magdy A.
    Zhao, Peiyi
    2008 15TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, VOLS 1-5, 2008, : 1416 - 1419
  • [46] An efficient decoding technique for Huffman codes
    Chowdhury, RA
    Kaykobad, M
    King, I
    INFORMATION PROCESSING LETTERS, 2002, 81 (06) : 305 - 308
  • [47] Massive Parallel Implementation of JPEG2000 decoding algorithm with multi-GPUs
    Wu, Xianyun
    Li, Yunsong
    Liu, Kai
    Wang, Keyan
    Wang, Li
    SATELLITE DATA COMPRESSION, COMMUNICATIONS, AND PROCESSING X, 2014, 9124
  • [48] MASSIVELY PARALLEL OPTIMIZATION OF TARGET SEQUENCES FOR MULTIPLE-RENDEZVOUS LOW-THRUST MISSIONS ON GPUS
    Massari, Mauro
    Wittig, Alexander
    SPACEFLIGHT MECHANICS 2015, PTS I-III, 2015, 155 : 1841 - 1853
  • [49] Data-parallel intra decoding for block-based image and video coding on massively parallel architectures
    Pieters, Bart
    Hollemeersch, Charles-Frederik
    De Cock, Jan
    Lambert, Peter
    Van de Walle, Rik
    SIGNAL PROCESSING-IMAGE COMMUNICATION, 2012, 27 (03) : 220 - 237
  • [50] CONSTRUCTING HUFFMAN TREES IN PARALLEL
    LARMORE, LL
    PRZYTYCKA, TM
    SIAM JOURNAL ON COMPUTING, 1995, 24 (06) : 1163 - 1169