Loading…

Multi-Gb/s Software Decoding of Polar Codes

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...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on signal processing 2015-01, Vol.63 (2), p.349-359
Main Authors: Le Gal, Bertrand, Leroux, Camille, Jego, Christophe
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3
cites cdi_FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3
container_end_page 359
container_issue 2
container_start_page 349
container_title IEEE transactions on signal processing
container_volume 63
creator Le Gal, Bertrand
Leroux, Camille
Jego, Christophe
description 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 ≤ 2 17 on a single core and reaches multi-Gb/s throughputs when using four cores in parallel in AVX mode.
doi_str_mv 10.1109/TSP.2014.2371781
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1109_TSP_2014_2371781</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>6960078</ieee_id><sourcerecordid>3760106071</sourcerecordid><originalsourceid>FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3</originalsourceid><addsrcrecordid>eNpdkE1LAzEQhoMoWKt3wcuCF0G2zeRjkxyl1SpULLSCt5DdTWTLtqnJLuK_N6XFg6cZmOedGR6ErgGPALAar5aLEcHARoQKEBJO0AAUgxwzUZymHnOacyk-ztFFjGucSKaKAbp_7duuyWflOGZL77pvE2w2tZWvm-1n5l228K0J2cTXNl6iM2faaK-OdYjenx5Xk-d8_jZ7mTzM84oS1uW8MLwuqUyHMbOqUk4oApSUNcXCcUuFASLBSIadNU7gqpQ1EJ6GUhIo6RDdHfbugv_qbez0pomVbVuztb6PGgoOVBVEsYTe_kPXvg_b9F2ilCKMg-KJwgeqCj7GYJ3ehWZjwo8GrPf2dLKn9_b00V6K3BwijbX2Dy9UgbGQ9Bf5y2ei</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1699245195</pqid></control><display><type>article</type><title>Multi-Gb/s Software Decoding of Polar Codes</title><source>IEEE Electronic Library (IEL) Journals</source><creator>Le Gal, Bertrand ; Leroux, Camille ; Jego, Christophe</creator><creatorcontrib>Le Gal, Bertrand ; Leroux, Camille ; Jego, Christophe</creatorcontrib><description>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 ≤ 2 17 on a single core and reaches multi-Gb/s throughputs when using four cores in parallel in AVX mode.</description><identifier>ISSN: 1053-587X</identifier><identifier>EISSN: 1941-0476</identifier><identifier>DOI: 10.1109/TSP.2014.2371781</identifier><identifier>CODEN: ITPRED</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Algorithms ; Computer programs ; Decoders ; Decoding ; Microprocessors ; Optimization ; Polar codes ; Reduction ; Signal processing algorithms ; SIMD ; Software ; software optimizations ; successive cancellation decoding ; Systematics ; Throughput ; Vectors ; x86 processor</subject><ispartof>IEEE transactions on signal processing, 2015-01, Vol.63 (2), p.349-359</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2015</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3</citedby><cites>FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3</cites><orcidid>0000-0003-2269-8756</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/6960078$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,27903,27904,54774</link.rule.ids></links><search><creatorcontrib>Le Gal, Bertrand</creatorcontrib><creatorcontrib>Leroux, Camille</creatorcontrib><creatorcontrib>Jego, Christophe</creatorcontrib><title>Multi-Gb/s Software Decoding of Polar Codes</title><title>IEEE transactions on signal processing</title><addtitle>TSP</addtitle><description>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 ≤ 2 17 on a single core and reaches multi-Gb/s throughputs when using four cores in parallel in AVX mode.</description><subject>Algorithms</subject><subject>Computer programs</subject><subject>Decoders</subject><subject>Decoding</subject><subject>Microprocessors</subject><subject>Optimization</subject><subject>Polar codes</subject><subject>Reduction</subject><subject>Signal processing algorithms</subject><subject>SIMD</subject><subject>Software</subject><subject>software optimizations</subject><subject>successive cancellation decoding</subject><subject>Systematics</subject><subject>Throughput</subject><subject>Vectors</subject><subject>x86 processor</subject><issn>1053-587X</issn><issn>1941-0476</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2015</creationdate><recordtype>article</recordtype><recordid>eNpdkE1LAzEQhoMoWKt3wcuCF0G2zeRjkxyl1SpULLSCt5DdTWTLtqnJLuK_N6XFg6cZmOedGR6ErgGPALAar5aLEcHARoQKEBJO0AAUgxwzUZymHnOacyk-ztFFjGucSKaKAbp_7duuyWflOGZL77pvE2w2tZWvm-1n5l228K0J2cTXNl6iM2faaK-OdYjenx5Xk-d8_jZ7mTzM84oS1uW8MLwuqUyHMbOqUk4oApSUNcXCcUuFASLBSIadNU7gqpQ1EJ6GUhIo6RDdHfbugv_qbez0pomVbVuztb6PGgoOVBVEsYTe_kPXvg_b9F2ilCKMg-KJwgeqCj7GYJ3ehWZjwo8GrPf2dLKn9_b00V6K3BwijbX2Dy9UgbGQ9Bf5y2ei</recordid><startdate>20150115</startdate><enddate>20150115</enddate><creator>Le Gal, Bertrand</creator><creator>Leroux, Camille</creator><creator>Jego, Christophe</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>F28</scope><scope>FR3</scope><orcidid>https://orcid.org/0000-0003-2269-8756</orcidid></search><sort><creationdate>20150115</creationdate><title>Multi-Gb/s Software Decoding of Polar Codes</title><author>Le Gal, Bertrand ; Leroux, Camille ; Jego, Christophe</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2015</creationdate><topic>Algorithms</topic><topic>Computer programs</topic><topic>Decoders</topic><topic>Decoding</topic><topic>Microprocessors</topic><topic>Optimization</topic><topic>Polar codes</topic><topic>Reduction</topic><topic>Signal processing algorithms</topic><topic>SIMD</topic><topic>Software</topic><topic>software optimizations</topic><topic>successive cancellation decoding</topic><topic>Systematics</topic><topic>Throughput</topic><topic>Vectors</topic><topic>x86 processor</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Le Gal, Bertrand</creatorcontrib><creatorcontrib>Leroux, Camille</creatorcontrib><creatorcontrib>Jego, Christophe</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE/IET Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><jtitle>IEEE transactions on signal processing</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Le Gal, Bertrand</au><au>Leroux, Camille</au><au>Jego, Christophe</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Multi-Gb/s Software Decoding of Polar Codes</atitle><jtitle>IEEE transactions on signal processing</jtitle><stitle>TSP</stitle><date>2015-01-15</date><risdate>2015</risdate><volume>63</volume><issue>2</issue><spage>349</spage><epage>359</epage><pages>349-359</pages><issn>1053-587X</issn><eissn>1941-0476</eissn><coden>ITPRED</coden><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 ≤ 2 17 on a single core and reaches multi-Gb/s throughputs when using four cores in parallel in AVX mode.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSP.2014.2371781</doi><tpages>11</tpages><orcidid>https://orcid.org/0000-0003-2269-8756</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 1053-587X
ispartof IEEE transactions on signal processing, 2015-01, Vol.63 (2), p.349-359
issn 1053-587X
1941-0476
language eng
recordid cdi_crossref_primary_10_1109_TSP_2014_2371781
source IEEE Electronic Library (IEL) Journals
subjects Algorithms
Computer programs
Decoders
Decoding
Microprocessors
Optimization
Polar codes
Reduction
Signal processing algorithms
SIMD
Software
software optimizations
successive cancellation decoding
Systematics
Throughput
Vectors
x86 processor
title Multi-Gb/s Software Decoding of Polar Codes
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-25T23%3A50%3A27IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Multi-Gb/s%20Software%20Decoding%20of%20Polar%20Codes&rft.jtitle=IEEE%20transactions%20on%20signal%20processing&rft.au=Le%20Gal,%20Bertrand&rft.date=2015-01-15&rft.volume=63&rft.issue=2&rft.spage=349&rft.epage=359&rft.pages=349-359&rft.issn=1053-587X&rft.eissn=1941-0476&rft.coden=ITPRED&rft_id=info:doi/10.1109/TSP.2014.2371781&rft_dat=%3Cproquest_cross%3E3760106071%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c324t-56a5db3847604e9c9f792132bd307f5e37a1281a840feaf70cb8d12507f8821b3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=1699245195&rft_id=info:pmid/&rft_ieee_id=6960078&rfr_iscdi=true