Parallel LDPC decoding on GPUs using a stream-based computing approach

  • Authors:
  • Gabriel Falcão;Shinichi Yamagiwa;Vitor Silva;Leonel Sousa

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Coimbra, Instituto de Telecomunicações, Polo II-Universidade de Coimbra, Coimbra, Portugal;INESC-ID, Technical University of Lisbon, Rua Alves Redol, Lisboa, Portugal;Department of Electrical and Computer Engineering, University of Coimbra, Instituto de Telecomunicações, Polo II-Universidade de Coimbra, Coimbra, Portugal;INESC-ID, Technical University of Lisbon, Rua Alves Redol, Lisboa, Portugal and Department of Electrical and Computer Engineering, IST, Technical University of Lisbon, Rua Alves Redol, Lisboa, Por ...

  • Venue:
  • Journal of Computer Science and Technology - Special section on trust and reputation management in future computing systmes and applications
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Low-Density Parity-Check (LDPC) codes are powerful error correcting codes adopted by recent communication standards. LDPC decoders are based on belief propagation algorithms, which make use of a Tanner graph and very intensive message-passing computation, and usually require hardware-based dedicated solutions. With the exponential increase of the computational power of commodity graphics processing units (GPUs), new opportunities have arisen to develop general purpose processing on GPUs. This paper proposes the use of GPUs for implementing flexible and programmable LDPC decoders. A new stream-based approach is proposed, based on compact data structures to represent the Tanner graph. It is shown that such a challenging application for stream-based computing, because of irregular memory access patterns, memory bandwidth and recursive flow control constraints, can be efficiently implemented on GPUs. The proposal was experimentally evaluated by programming LDPC decoders on GPUs using the Caravela platform, a generic interface tool for managing the kernels' execution regardless of the GPU manufacturer and operating system. Moreover, to relatively assess the obtained results, we have also implemented LDPC decoders on general purpose processors with Streaming Single Instruction Multiple Data (SIMlD) Extensions. Experimental results show that the solution proposed here efficiently decodes several codewords simultaneously, reducing the processing time by one order of magnitude.