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
Link To Document