• DocumentCode
    45286
  • Title

    Multi-Gb/s Software Decoding of Polar Codes

  • Author

    Le Gal, Bertrand ; Leroux, Camille ; Jego, Christophe

  • Author_Institution
    IMS Lab., Univ. of Bordeaux, Talence, France
  • Volume
    63
  • Issue
    2
  • fYear
    2015
  • fDate
    Jan.15, 2015
  • Firstpage
    349
  • Lastpage
    359
  • Abstract
    This paper presents an optimized software implementation of a Successive Cancellation (SC) decoder for polar codes. Despite the strong data dependencies in SC decoding, a highly parallel software polar decoder is devised for x86 processor target. A high level of performance is achieved by exploiting the parallelism inherent in today´s processor architectures (SIMD, multicore, etc.). Some optimizations that were originally thought for hardware implementation (memory reduction techniques and algorithmic simplifications) were also applied to enhance the throughput of the software implementation. Finally, some low level optimizations such as explicit assembly description or data packing are used to improve the throughput even more. The resulting decoder description is implemented on different x86 processor targets. An analysis of the decoder in terms of latency and throughput is proposed. The influence of several parameters on the throughput and the latency is investigated: the selected target, the code rate, the code length, the SIMD mode (SSE/AVX), the multithreading mode, etc. The energy per decoded bit is also estimated. The proposed software decoder compares favorably with state of the art software polar decoders. Extensive experimentations demonstrate that the proposed software polar decoder exceeds 1 Gb/s for code lengths N ≤ 217 on a single core and reaches multi-Gb/s throughputs when using four cores in parallel in AVX mode.
  • Keywords
    decoding; optimisation; AVX mode; SC decoder; SIMD mode; algorithmic simplifications; code length; code rate; data packing; energy per decoded bit; explicit assembly description; low level optimizations; memory reduction techniques; multiGb/s software decoding; multithreading mode; parallel software polar decoder; polar codes; processor architectures; selected target; software polar decoders; successive cancellation decoder; x86 processor target; Decoding; Optimization; Signal processing algorithms; Software; Systematics; Throughput; Vectors; Polar codes; SIMD; software optimizations; successive cancellation decoding; x86 processor;
  • fLanguage
    English
  • Journal_Title
    Signal Processing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1053-587X
  • Type

    jour

  • DOI
    10.1109/TSP.2014.2371781
  • Filename
    6960078