Return to search

Parallelized QC-LDPC Decoder ona GPU : An evaluation targeting LDPC codes adhering to the 5G standard / Paralleliserad QC-LDPC-avkodare på en GPU : En utvärdering av LDPC-koder som följer 5G-standarden

Over the last ten years, there has been an incremental growth of mobile network data traffic. The evolution leading to the development of 5G stands as a testament to the increased demands for high speed networks. Channel coding plays a pivotal role in 5G networks, making it possible to recover messages from errors introduced when sent through the network. Channel decoding is however a time consuming task for a receiver, and making optimization to this process could therefore have a significant impact on receiver processing time. Low-Density Parity-Check (LDPC) codes are one of the channel coding schemes used in the 5G standard. These codes could benefit from parallel processing, making Graphics Processing Units (GPUs) with their parallel computation abilities a possible platform for effective LDPC decoding. In this thesis, our goal is to evaluate a GPU as a platform for 5G LDPC decoding. The LDPC codes adhering to the 5G standard belong to the Quasi-Cyclic LDPC (QC-LDPC) subclass. Optimizations targeting this subclass, as well as other optimization techniques, are implemented in our thesis project to promote fast execution times. A GPU-based decoder is evaluated against a Central Processing Unit (CPU)-based decoder, written with Compute Unified Device Architecture (CUDA) and C++ respectively. The functionally equivalent decoders implement the layered offset Min-Sum Algorithm (MSA) with early termination to decode messages. Execution time for the decoders were measured while varying message size, Signal-to-Noise Ratio (SNR) and maximum iterations. Additionaly, we evaluated the decoders with and without including early termination, and also evaluated the GPU-decoder when it was integrated into a MATLAB 5G channel simulator used by Tietoevry. The results from the experiments showed that the GPU-based decoder experienced up to 4.3 times faster execution than the CPU-based decoder for message sizes ranging from 3000-12000 bits. The GPU-based decoder however experienced a higher baseline execution time, making the CPU-based decoder faster for smaller message sizes. It was also concluded that the benefit of including early termination in the decoder generally outweighs the cost of additional processing time. / Under de senaste tio åren har det skett en gradvis ökning av datatrafik i mobilnät. Utvecklingen som lett till framtagandet av 5G står som ett bevis på de ökade kraven på höghastighetsnätverk. Kanalkodning spelar en avgörande roll i 5G- nätverk, vilket gör det möjligt att återställa meddelanden från fel som uppstår när de skickas genom nätverket. Kanalavkodning är dock en tidskrävande uppgift för en mottagare, och optimering av denna process kan därför ha en betydande inverkan på mottagarens exekveringstider. LDPC-koder är en av de kanalkoder som används i 5G-standarden. Dessa koder kan dra nytta av parallell bearbetning, vilket gör GPUs med deras parallella beräkningsförmåga till en möjlig plattform för effektiv LDPC- avkodning. I denna masteruppsats är vårt mål att utvärdera en GPU som en plattform för 5G LDPC- avkodning. LDPC-koder som följer 5G-standarden tillhör underklassen QC-LDPC. Optimeringar som riktar sig mot denna underklass, samt andra optimeringstekniker, implementeras i vårt avhandlingsprojekt för att främja snabba exekveringstider. En GPU-baserad avkodare utvärderas mot en CPU-baserad avkodare, skrivna med programspråken CUDA respektive C++. De funktionellt likvärdiga avkodarna implementerar den lagrade offset MSA med tidig terminering för att avkoda meddelanden. Exekveringstiden för avkodarna mättes medan meddelandestorlek, SNR och maximalt antal iterationer varierades. Vi utvärderade också avkodarna med och utan att inkludera tidig terminering, samt utvärderade GPU-avkodaren när den integrerats i en MATLAB 5G-kanalsimulator som används av Tietoevry. Resultaten från experimenten visade att den GPU-baserade avkodaren hade upp till 4.3 gånger snabbare exekvering än den CPU-baserade avkodaren för meddelandestorlekar mellan 3000 och 12000 bitar. Den GPU-baserade avkodaren hade dock en högre baslinje för exekveringstiden, vilket gjorde den CPU-baserade avkodaren snabbare för mindre meddelandestorlekar. Det konstaterades också att fördelen med att inkludera tidig terminering i avkodaren i allmänhet överväger kostnaden för ytterligare bearbetningstid.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kau-100398
Date January 2024
CreatorsHedlund, Olivia
PublisherKarlstads universitet, Institutionen för matematik och datavetenskap (from 2013)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0092 seconds