基于GPU的SC-LDPC碼譯碼加速研究
發(fā)布時(shí)間:2020-06-05 20:33
【摘要】:在數(shù)字通信技術(shù)突飛猛進(jìn)的今天,如何在有噪信道中高效而可靠地傳輸信息變得日益重要。1962年Gallager提出了具有接近香農(nóng)極限的低密度奇偶校驗(yàn)(Low Density Parity-Check,LDPC)碼,但限于當(dāng)時(shí)的計(jì)算機(jī)水平,LDPC碼并沒有為人們所熟知。自上世紀(jì)90年代以來,LDPC碼被重新研究,并逐漸成為信道編碼領(lǐng)域的研究熱點(diǎn)。卷積LDPC碼(LDPC convolutional codes,LDPC-CC)是LDPC碼的一種,隨著卷積LDPC碼的引入又有了空間耦合(Space coupling,SC)的概念。卷積LDPC碼因具有流水線譯碼器和低譯碼延遲的性能被廣泛使用,其譯碼算法具有并行性,適合于硬件實(shí)現(xiàn),因此設(shè)計(jì)一個(gè)高效的卷積LDPC譯碼器對(duì)于工程實(shí)踐具有重要意義。近年來計(jì)算機(jī)處理器的性能逐日提升,科研人員開始利用硬件設(shè)施對(duì)譯碼算法進(jìn)行加速,最常見的是用現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,FPGA)設(shè)計(jì)的譯碼器,雖然取得了一定成就,但調(diào)試起來硬件平臺(tái)的靈活性和可擴(kuò)展性較差,且成本相對(duì)昂貴。而圖形處理器(Graphic Processing Unit,GPU)則剛好滿足以上幾點(diǎn),尤其是強(qiáng)大的GPU軟硬件計(jì)算結(jié)構(gòu)平臺(tái)CUDA(Compute Unified Device Architecture)的提出,使GPU編程變得更加簡(jiǎn)單方便。本文針對(duì)SC-LDPC碼,提出了一種基于GPU的高效譯碼器,使用CUDA編程平臺(tái)和kernel函數(shù)等機(jī)制,將大規(guī)模并行計(jì)算通過GPU高效合理的進(jìn)行加速,達(dá)到提高譯碼速度的目的。工作內(nèi)容主要包括以下四種粗粒度上的優(yōu)化方案:1)壓縮校驗(yàn)矩陣方案,通過將不同處理器的索引信息壓縮到全局內(nèi)存的查找表中,節(jié)省了GPU上的存儲(chǔ)空間,提升譯碼速度;2)壓縮校驗(yàn)矩陣在GPU上的線程映射和內(nèi)存映射方案;3)使用CUDA流機(jī)制,采用多個(gè)流并行的譯碼方案;4)多碼字并行方案,并采用外信息合并訪問的方式提高譯碼器吞吐量。在粗粒度優(yōu)化方案的基礎(chǔ)上,本文通過使用kernel內(nèi)部算法優(yōu)化、線程同步、頁(yè)鎖定內(nèi)存、多次拷貝簡(jiǎn)化、配置TLP等方法對(duì)譯碼器進(jìn)行進(jìn)一步的細(xì)粒度上的優(yōu)化設(shè)計(jì),減少了譯碼復(fù)雜度,保證了數(shù)據(jù)的連續(xù)訪問,有效縮短了數(shù)據(jù)的訪問時(shí)間。在論文中,對(duì)各個(gè)優(yōu)化方案下譯碼器的加速效果進(jìn)行仿真測(cè)試,并與單線程CPU版本的譯碼時(shí)間作比較和分析,研究表明本文設(shè)計(jì)的譯碼器能夠帶來顯著的速度提升。
【圖文】:
第二章 GPU 架構(gòu)與卷積 LDPC 碼Tanner 圖如圖 2.8 所示。Tanner 圖與卷積 LDPC 碼的校驗(yàn)矩陣呈一一對(duì)應(yīng)的關(guān)系,由前面討論可知卷積 LDPC 碼的校驗(yàn)矩陣是 LDPC 碼的校驗(yàn)矩陣經(jīng)過無限循環(huán)而來的,它的碼長(zhǎng)為無限長(zhǎng),與校驗(yàn)矩陣相對(duì)應(yīng)的 Tanner 圖也是如此。圖中的校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)分別與校驗(yàn)矩陣的每一行和每一列相對(duì)應(yīng),,兩類節(jié)點(diǎn)之間的連線則與校驗(yàn)矩陣相應(yīng)位置的元素 1 相對(duì)應(yīng)。T(2-11)
圖 2. 9 卷積 LDPC 碼 I 次迭代的流水線譯碼器由圖 2.9 可以看到,從左至右流水線譯碼器的長(zhǎng)度為 I ( +1)個(gè)時(shí)間單位。每刻從譯碼器右側(cè)均有兩個(gè)校驗(yàn)節(jié)點(diǎn)和相對(duì)應(yīng)的三個(gè)變量節(jié)點(diǎn)輸入,同時(shí)從左側(cè)輸碼結(jié)果。譯碼器在具體實(shí)現(xiàn)中采用 +1 個(gè)長(zhǎng)度為 的 FIFO 來存儲(chǔ)中間變信息,也就是說每個(gè)處理器內(nèi)部都有 +1 個(gè)長(zhǎng)度為 的 FIFO。具體構(gòu)造圖 2.10 和圖 2.11 所示,這 I 個(gè)處理器能夠保持高度并行處理狀態(tài)。處理器 1處理器 2處理器 I存儲(chǔ)信道信息水平更新垂直更新存儲(chǔ)信道信息水平更新垂直更新……存儲(chǔ)信道信息水平更新垂直更新
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TN911.22
本文編號(hào):2698576
【圖文】:
第二章 GPU 架構(gòu)與卷積 LDPC 碼Tanner 圖如圖 2.8 所示。Tanner 圖與卷積 LDPC 碼的校驗(yàn)矩陣呈一一對(duì)應(yīng)的關(guān)系,由前面討論可知卷積 LDPC 碼的校驗(yàn)矩陣是 LDPC 碼的校驗(yàn)矩陣經(jīng)過無限循環(huán)而來的,它的碼長(zhǎng)為無限長(zhǎng),與校驗(yàn)矩陣相對(duì)應(yīng)的 Tanner 圖也是如此。圖中的校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)分別與校驗(yàn)矩陣的每一行和每一列相對(duì)應(yīng),,兩類節(jié)點(diǎn)之間的連線則與校驗(yàn)矩陣相應(yīng)位置的元素 1 相對(duì)應(yīng)。T(2-11)
圖 2. 9 卷積 LDPC 碼 I 次迭代的流水線譯碼器由圖 2.9 可以看到,從左至右流水線譯碼器的長(zhǎng)度為 I ( +1)個(gè)時(shí)間單位。每刻從譯碼器右側(cè)均有兩個(gè)校驗(yàn)節(jié)點(diǎn)和相對(duì)應(yīng)的三個(gè)變量節(jié)點(diǎn)輸入,同時(shí)從左側(cè)輸碼結(jié)果。譯碼器在具體實(shí)現(xiàn)中采用 +1 個(gè)長(zhǎng)度為 的 FIFO 來存儲(chǔ)中間變信息,也就是說每個(gè)處理器內(nèi)部都有 +1 個(gè)長(zhǎng)度為 的 FIFO。具體構(gòu)造圖 2.10 和圖 2.11 所示,這 I 個(gè)處理器能夠保持高度并行處理狀態(tài)。處理器 1處理器 2處理器 I存儲(chǔ)信道信息水平更新垂直更新存儲(chǔ)信道信息水平更新垂直更新……存儲(chǔ)信道信息水平更新垂直更新
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TN911.22
【參考文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 俞永盛;基于CUDA平臺(tái)的LDPC碼的并行譯碼實(shí)現(xiàn)研究[D];復(fù)旦大學(xué);2009年
本文編號(hào):2698576
本文鏈接:http://sikaile.net/kejilunwen/wltx/2698576.html
最近更新
教材專著