Parallel design for error-resilient entropy coding algorithm on GPU

  • Authors:
  • Yuan Dai;Yong Fang;Dongjian He;Bormin Huang

  • Affiliations:
  • College of Mechanical and Electronic Engineering, Northwest A&F University, China and Lab. Agri- and Bio-Information Processing, College of Information Engineering, Northwest A&F University, China;Lab. Agri- and Bio-Information Processing, College of Information Engineering, Northwest A&F University, China;College of Mechanical and Electronic Engineering, Northwest A&F University, China;Space Science and Engineering Center, University of Wisconsin-Madison, USA

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The error-resilient entropy coding (EREC) algorithm is an effective method for combating error propagation at low cost in many compression methods using variable-length coding (VLC). However, the main drawback of the EREC is its high complexity. In order to overcome this disadvantage, a parallel EREC is implemented on a graphics processing unit (GPU) using the NVIDIA CUDA technology. The original EREC is a finer-grained parallel at each stage which brings additional communication overhead. To achieve high efficiency of parallel EREC, we propose partitioning the EREC (P-EREC) algorithm, which splits variable-length blocks into groups and then every group is coded using the EREC separately. Each GPU thread processes one group so as to make the EREC coarse-grained parallel. In addition, some optimization strategies are discussed in order to obtain higher performance using the GPU. In the case that the variable-length data blocks are divided into 128 groups (256 groups, resp.), experimental results show that the parallel P-EREC achieves 32x to 123x (54x to 350x, resp.) speedup over the original C code of EREC compiled with the O"2 optimization option. Higher speedup can even be obtained with more groups. Compared to the EREC, the P-EREC not only achieves a good speedup performance, but it also slightly improves the resilience of the VLC bit-stream against burst or random errors.