GPU implementations of deflate encoding and decoding

  • Daisuke Takafuji
    Graduate School of Advanced Science and Engineering Hiroshima University Higashi Hiroshima Japan
  • Koji Nakano
    Graduate School of Advanced Science and Engineering Hiroshima University Higashi Hiroshima Japan
  • Yasuaki Ito
    Graduate School of Advanced Science and Engineering Hiroshima University Higashi Hiroshima Japan
  • Akihiko Kasagi
    Fujitsu Ltd. Kawasaki Kanagawa Japan

抄録

<jats:title>Summary</jats:title><jats:p>Deflate coding is a very popular lossless data compression method used in zlib, gzip (GNU zip), and zip, which performs the LZSS compression algorithm with Huffman coding. Deflate encoding and decoding involve sequential operations and their parallel acceleration using a GPU is quite hard. The main purpose of this paper is to present GPU implementations for encoding and decoding of Deflate coding. For efficient GPU implementations of Deflate coding, we have used multiple small hash tables for finding matching subsequences in the dictionary by multiple threads in parallel and applied the Single Kernel Soft Synchronization (SKSS) technique to fully utilize GPU computing resources. We have also adopted Huffman coding with gap arrays to accelerate parallel Huffman decoding. We have evaluated the performance of our GPU implementations using an NVIDIA A100 GPU and compared them with parallel/sequential Deflate encoding and decoding on the Intel X86 multicore CPUs using multiple threads/a single thread. Our GPU implementation of Deflate decoding is 1.66x–8.33x faster than the multiple thread implementation and 4.13x–36.56x faster than the single thread implementation.</jats:p>

収録刊行物

参考文献 (22)*注記

もっと見る

関連プロジェクト

もっと見る

詳細情報 詳細情報について

問題の指摘

ページトップへ