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 条
  • [21] A massively parallel algorithm for Bordered Almost Block Diagonal Systems on GPUs
    Dessole, M.
    Marcuzzi, F.
    NUMERICAL ALGORITHMS, 2021, 86 (03) : 1243 - 1263
  • [22] Efficient Huffman decoding
    Aggarwal, M
    Narayan, A
    2000 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, VOL I, PROCEEDINGS, 2000, : 936 - 939
  • [23] Efficient Huffman decoding
    Chung, KL
    INFORMATION PROCESSING LETTERS, 1997, 61 (02) : 97 - 99
  • [24] Decoding biology with massively parallel reporter assays and machine learning
    La Fleur, Alyssa
    Shi, Yongsheng
    Seelig, Georg
    GENES & DEVELOPMENT, 2024, 38 (17-20) : 843 - 865
  • [25] Massively parallel read mapping on GPUs with the q-group index and PEANUT
    Koester, Johannes
    Rahmann, Sven
    PEERJ, 2014, 2
  • [26] Parallel Huffman Decoding: Presenting a Fast and Scalable Algorithm for Increasingly Multicore Devices
    Johnston, Beau
    McCreath, Eric C.
    2017 15TH IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS AND 2017 16TH IEEE INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING AND COMMUNICATIONS (ISPA/IUCC 2017), 2017, : 949 - 958
  • [27] Massively Parallel Rule-Based Interpreter Execution on GPUs Using Thread Compaction
    M. Köster
    J. Groß
    A. Krüger
    International Journal of Parallel Programming, 2020, 48 : 675 - 691
  • [28] Massively Parallel Rule-Based Interpreter Execution on GPUs Using Thread Compaction
    Koester, M.
    Gross, J.
    Krueger, A.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (04) : 675 - 691
  • [29] Massively Parallel Method of Characteristics Neutron Transport Calculation with Anisotropic Scattering Treatment on GPUs
    Choi, Namjae
    Kang, Junsu
    Joo, Han-gyu
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING IN ASIA-PACIFIC REGION (HPC ASIA 2018), 2018, : 148 - 158
  • [30] Massively parallel regularized 3D inversion of potential fields on CPUs and GPUs
    Cuma, Martin
    Zhdanov, Michael S.
    COMPUTERS & GEOSCIENCES, 2014, 62 : 80 - 87