CN102932003B - 基于gpu架构的qc-ldpc码的加速译码方法 - Google Patents
基于gpu架构的qc-ldpc码的加速译码方法 Download PDFInfo
- Publication number
- CN102932003B CN102932003B CN201210330765.2A CN201210330765A CN102932003B CN 102932003 B CN102932003 B CN 102932003B CN 201210330765 A CN201210330765 A CN 201210330765A CN 102932003 B CN102932003 B CN 102932003B
- Authority
- CN
- China
- Prior art keywords
- gpu
- decoding
- thread
- code
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供基于GPU架构的QC-LDPC码的加速译码方法,包括:CPU作为控制器,利用输入码的母矩阵,计算输入码的码字信息,并将码字信息放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令;合理地配置GPU的各项参数,在每一个GPU并行线程块中实现整个译码系统,通过线程间合作完成基于分层修正最小和算法的LDPC译码。本发明针对QC结构LDPC码字的特点,实现了不同码率的QC-LDPC码在不同的GPU平台下通用的加速译码;并提供了LDPC译码器在GPU上的并行化实现和优化,能在GPU上独立并行地运行很多个LDPC译码器。译码效率大幅度提高,能非常有效的应用在仿真和实时译码系统中。<!-- 2 -->
Description
技术领域
本发明涉及一种数字信号处理技术领域的译码系统,具体是一种准循环低密度奇偶校验码(QCLDPC)的加速译码方法。
背景技术
低密度奇偶校验码(LowDensityParityCheckCodes,LDPCCodes)是1963年Gallager首先提出的一种纠错编码,具有接近香农极限的性能,广泛地应用到各种无线通信领域的标准中,包括中国的数字电视地面传输标准、欧洲第二代卫星数字视频广播标准、IEEE802.11n、IEEE802.16e等,该技术还被广泛应用于磁存储系统及光纤通信。
准循环低密度奇偶校验码(Quasi-CyclicLDPC,QCLDPC)是一类由小的零方阵和小的循环矩阵构成校验矩阵的LDPC码,是LDPC的一个重要分支,也是目前LDPC码构造中的一种最具实用性的结构。其结构使得其编码可以通过简单的移位寄存器实现,具有实现复杂度低的特点。除此之外,QC结构非常适合分层的译码算法,扩展因子Z_f的存在对“层”的概念产生自然的分割。进一步地,QC结构还非常适合实现部分并行的译码器结构,从而获得吞吐率和硬件复杂度方面的折中。最后,同一层内的Z_f个校验方程涉及到的比特节点是完全不同的,这是并行计算的底层基础。在此之上,编码器和译码器的层内并行运算得以实现,编译码的吞吐率都得以提高。
而针对市场迫切需要实时、高清晰度的3D图形,可编程的GPU已发展成为一种高度并行化、多线程、多核心的处理器,并具有杰出的计算功率和极高的存储器带宽。更具体地说,GPU可以专用于解决数据的并行计算问题,并能够极高效率地执行在许多数据元素上并行执行的程序,数据的并行处理会将数据元素映射到并行处理的线程中。许多处理大型数据集的应用程序都可以使用数据并行编程模型来加速计算。
经对现有技术的文献检索发现,专利申请号为201210045900.9的中国专利,专利名称为“基于FPGA的准循环低密度校验码译码器及译码方法”,公开了一种基于FPGA的低存储量高速QC-LDPC码译码器和译码方法,主要解决现有技术中译码器的节点更新处理单元和RAM存储资源利用效率不高的问题。这也代表了现今LDPC码译码的主要加速手段。由于该方法用到了FPGA硬件实现,需要考虑较多的时序问题以及资源分配等问题,具有较高的复杂度和成本并需要较长的开发周期;而且通用性以及可配置性不高。
发明内容
本发明针对现有技术的不足,提出了一种基于GPU架构的QC-LDPC码加速译码方法,针对QCLDPC码字的特点,实现在不同的GPU平台下不同码率通用的加速译码方法。此方法可以极大地提高QCLDPC译码效率。QCLDPC码具有以下特点:其一,由于在每个块中每一列都是左边一列循环下一移位的结果。所以,对于每个块实现时需要保存的仅仅是其中的一列(行)的信息,其他的列(行)都可以由这一行(列)经过循环移位来得到,这样就节省了大量的ROM资源。其二,QC结构非常适合分层的译码算法,扩展因子Z_f的存在对“层”的概念产生自然的分割。进一步地,QC结构还非常适合实现部分并行的译码器结构,从而获得吞吐率和硬件复杂度方面的折中。其三,同一层内的Z_f个校验方程涉及到的比特节点是完全不同的,这是并行计算的底层基础。本发明利用这些特点,在GPU上独立并行地运行很多个LDPC译码器,实现加速译码。
本发明提供了一种在不同的GPU平台下不同码率的QCLDPC码加速译码方法,包括如下步骤:
步骤A:CPU作为控制器,利用输入码的母矩阵,计算输入码的码字信息,并将码字信息放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令;
步骤B:合理地配置GPU的各项参数,在每一个线程块中实现整个译码系统,通过线程间合作完成基于分层修正最小和算法(LMMSA)的LDPC译码实现。
优选地,所述步骤A包括如下步骤:
-读取码字母矩阵信息,计算码字参数,包括校验矩阵最大行重max_row_wt、最大列重max_col_wt、码长code_length、QC扩展因子Z_f;
-初始化各项译码参数,包括GPU计算能力、线程块数目、每个线程块上线程数目、译码过程中的寄存器分配及存储信息;
-将信息比特放入GPU的全局存储器;
-将上述译码参数信息放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令。
优选地,所述步骤B包括如下步骤:
-根据GPU的常数存储器中的参数信息将GPU分成P*Q’个并行运行的线程块,其中P表示所使用GPU上的流多处理器(StreamMulti-processor,SM)的个数,Q’是GPU上每个SM上使用的流处理器(StreamProcessor,SP)的个数;
-在每一个GPU线程块中,分配Z_f个线程,这些线程合作完成译码任务。译码过程包括完成信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX的读取、更新和写回操作;
-将最后的译码结果由GPU的全局存储器返回给CPU。
优选地,上述译码过程中的译码核心在GPU上并行化实现,本发明对其各项参数进行了合理地优化。在GPU上的LDPC并行译码算法流程如下:
1)从GPU的常数储存器中读出校验矩阵H以及生成矩阵G;
2)并行执行P*Q’个GPU线程块,其中P和Q’的值有相应的约束条件,会在稍后叙述;
3)每个GPU线程块中并行执行Z_f个GPU线程,Z_f个线程合作完成步骤4)和步骤5)中的分层修正最小和算法(LMMSA)的译码过程。
4)根据参数中的迭代次数进行迭代译码,利用线程间合作从GPU全局存储器中读出信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX;
5)Z_f个线程分别负责该层内Z_f个校验节点的计算。具体核心流程为:线程依次处理该层内非负的矩阵元素(也就是扩展后为循环移位单位阵的那些矩阵元素),计算出校验节点的对数似然比LLR的最大值和次小值。因而该层Z_f行LLRSUM和LLREX的更新值被分别在GPU的共享存储器和寄存器中更新。此核心流程循环执行,直到所有的层都经过处理(一次矩阵迭代),然后输出判决结果和迭代中止的判定;如果译码没有完成,则继续译码核心流程,作下一次的矩阵迭代。
6)最后把P*Q’个LDPC码块的译码结果写回全局存储器;将控制权交给CPU。
其中,本发明的并行译码方法对不同规格的GPU和不同码率的QCLDPC码字通用,其具体参数设置以及优化方法也是本发明的所包含的重要内容。
给定以下参数:
1)给定GPU的规格如下:流多处理器SM的数目为P,每个流多处理器SM上流处理器个数SP的数目为Q,为了管理运行各种不同程序的数百个线程,流多处理器SM利用了一种称为SIMT(单指令、多线程)的架构。多处理器SIMT单元以32个并行线程为一组来创建、管理、调度和执行线程,这样的线程组称为warp块,每个SM的warp块的数目为W,warp_size大小为K,每个SM上的共享存储器为S字节,每个SM上的32-bit寄存器为R个。
2)给定核函数的设计参数如下:网格内线程块的数量为B,每个线程块的线程数为T。对核函数进行编译分析,得到声明给每个线程块的共享存储器(_shared_标记的变量)为S’字节,声明给每个线程的寄存器(核函数的局部变量)为R’个。
设计参数的确定方法以及优化步骤为:
1)每个SM上实际运行的SP的数目为Q’,即总共并行执行P*Q’个线程块,而B个线程块将被串行执行[B/(P*Q’)]次。要尽可能让更多的线程块同时执行,也就是让尽可能多的SP能够运行线程。同时执行的线程块数目将正比于译码最终的吞吐率(即:吞吐率=P*Q’*N*r/t,其中r为码率,t为译码时间)。Q’的确定有以下4个约束:
a)Q’≤Q;
b)每个SM上warp的总消耗不大于warp资源的数量,即Q’*T/K≤W,其中T/K为每个线程块消耗的warp数量;
c)每个SM上寄存器的总消耗不大于寄存器资源的数量,即Q’*T*R’≤R,其中T*R’为每个线程块消耗的寄存器数量;
d)每个SM上共享存储器的总消耗不大于共享存储器资源的数量,即Q’*S’≤S。
2)分层修正最小和算法(LMMSA)译码过程中,本地的LLRSUM保存在共享存储器,本地的LLREX保存在寄存器中。
3)全局的LLRSUM和LLREX保存在全局的存储器中,LLRSUM按比特节点序号线性存储,LLREX码字的层和层内元素的位置先后线性存储。
更为具体地,根据本发明的一个优选例提供了各种码率下的QC-LDPC码的加速仿真系统。由于LDPC码的译码性能的仿真是一件耗时的工作,尤其是在仿真误码平层的时候,通常是误码率在10e-8以下,BER/FER曲线上的每个点都需要耗上数多小时甚至数天。而根据本发明提供的加速仿真系统高效并准确的完成低误码平层LDPC码的仿真工作。具体通过以下技术方案实现的,包括以下步骤:
第一步、CPU作为控制器,根据输入的仿真码字的母矩阵,计算码字的参数信息,包括校验矩阵最大行重max_row_wt、最大列重max_col_wt、码长code_length、QC扩展因子Z_f;
第二步、初始化仿真参数,包括性噪比EbN0、迭代次数iters、目标误码平层target_ber_order、最小出错帧数min_error_blocks。将上述码字仿真信息以及仿真参数放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令。
第三步、根据GPU的常数存储器中的参数信息、以及GPU平台的参数约束信息,将GPU分成P*Q’个并行运行的线程块,其中P表示所使用GPU上的流多处理器(StreamMulti-processor,SM)的个数,Q’是GPU上每个SM上使用的流处理器个数(StreamProcessor,SP),每个GPU线程块中并行执行Z_f个GPU线程;
第四步、线程间合作产生一个LDPC码块的信息比特,进行对信源数据的LDPC编码,然后对编码后的比特加上AWGN噪声;
第五步、根据仿真参数中的迭代次数进行迭代译码,利用分层算法线程间合作从GPU全局存储其中读出信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX;通过译码核心(每个线程利用GPU的共享存储器和寄存器完成LDPC码本层中一行的分层修正最小和算法,更新值涉及到的LLRSUM和LLREX,线程间合作将LLRSUM和LLREX的更新值写回GPU的全局存储器)完成对通过噪声后的比特信息的译码;
第六步、线程间合作比对信源比特和译码结果中的比特,得到误码统计结果;
第七步、最后把P*Q’个LDPC码块的误码统计结果写回全局存储器;将控制权交给CPU;
本发明具有如下有益效果:
(1)本发明所提出来的GPU并行译码方法对不同规格的GPU和不同码率的QCLDPC码字通用;
(2)本发明能够有效地加速QCLDPC码的译码,实现译码过程的并行化,大幅度提高译码吞吐率;
(3)本发明针对GPU的并行执行结构,以及译码算法进行了极大限度地优化,能够极大限度地有效利用GPU上寄存器资源以及warp资源;
(4)基于本发明实现的译码系统架构复杂度低,实现容易,并且大幅度的提高了译码效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明中准循环扩展方法构造的QC-LDPC码的H矩阵的结构示意图;
图2是本发明中所利用的GPU硬件结构示意图;
图3是根据本发明所提供的QC-LDPC码仿真系统结构示意图;
图4是本发明中并行译码核心结构示意图;
图5是本发明中提出的译码优化方法示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,是准循环扩展方法构造的QC-LDPC码的H矩阵的结构示意图。以码长为2304,码率为0.5的WiMAX码字为例,输入译码码字的母矩阵,计算校验矩阵最大行重为7,最大列重为6,码长N=2304,码率R=0.5,QC扩展因子Z_f=96。
如图2所示,本发明中所利用的GPU硬件结构示意图。本实施例中GPU型号为NVDIATeslaC2050,其运算能力为2.0,SP的数目为14*32,每个SM有32条warp,16K字节的共享存储器,16K个32-bit寄存器。根据本发明提出的优化方法,GPU网格中并行运行的线程块数位14*8,每个线程块中的线程数为96;每个线程块用3条warp,总共24条,满足warp的约束条件,在编译核函数时对NVCC编译器使用-maxregcount=16限制每个线程最多使用16个寄存器,这样可以支持使Z_f=128.总共消耗16*96*8=12K个寄存器,经过编译计算得到每个线程块消耗共享存储器1099字节,总共8792个字节,均在条件范围内。
如图3所示,是根据本发明所提供的QC-LDPC码仿真系统结构示意图。CPU作为控制器,根据输入的仿真码字的母矩阵,计算码字的参数信息,计算码字参数,并将各参数信息放入GPU的常数存储器;同时完成仿真系统中的信源(产生一个LDPC码块的信息比特)、编码(进行对信源数据的LDPC编码)、信道(对编码后的比特加上AWGN噪声)工作;然后,将经过信道的信息比特放入GPU的全局存储器中;并在完成所有初始化过程后,发起运行GPU核函数的命令。GPU上则根据上述GPU参数并行运行的14*8个线程块,每个GPU线程块中并行执行96个GPU线程;线程间合作完成译码(根据参数中的迭代次数进行迭代译码)、统计(比对信源比特和译码结果中的比特)过程;最后把14*8个LDPC码块的误码统计结果写回全局存储器;将控制权交给CPU。
如图4所示,是对应于传统的基于LDPC码的译码核心迭代结构示意图。GPU译码核心算法根据仿真参数中的迭代次数进行迭代译码,利用分层算法线程间合作从GPU全局存储器中读出信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX;通过译码核心(每个线程利用GPU的共享存储器和寄存器完成LDPC码本层中一行的分层修正最小和算法,更新值涉及到的LLRSUM和LLREX,线程间合作将LLRSUM和LLREX的更新值写回GPU的全局存储器)完成对通过噪声后的比特信息的译码。
如图5所示,本发明中提出的译码系统优化方法示意图,根据所译码的QCLDPC码字参数确定核函数每个线程所需的共享存储器字节数S’;寄存器个数R’以及消耗的warp数量T/K;再根据选用的GPU硬件参数,包括流多处理器个数P、流多处理器上的流处理器个数Q、warp块的数目W、共享存储器大小S、以及寄存器的数目R,确定实际运行的SP数目,即将译码系统并行化为P*Q’个线程块,并在每个线程块上跑Z_f个线程,合作完成译码过程。
所述的核函数控制是由CPU来完成,根据输入的译码码字的母矩阵,计算码字的参数信息,计算码字参数,并将各参数信息放入GPU的常数存储器;
所述的根据本发明提供的QC-LDPC码的译码过程由GPU来实现,通过确定的P*Q’个线程块,其并行实现译码核心,完成译码工作;
所述的GPU并行译码过程为:线程依此处理该层内非负的矩阵元素(也就是扩展后为循环移位单位阵的那些矩阵元素),计算出校验节点的对数似然比LLR的最大值和次小值。因而该层Z_f行LLRSUM和LLREX的更新值被分别在GPU的共享存储器和寄存器中更新。次核心流程循环执行,直到所有的层都经过处理(一次矩阵迭代),然后输出判决结果和迭代中止的判定;如果译码没有完成,则继续译码核心流程,作下一次的矩阵迭代。
所述的分层修正最小和算法(LMMSA)译码过程中,本地的LLRSUM保存在共享存储器,本地的LLREX保存在寄存器中。全局的LLRSUM和LLREX保存在全局的存储器中,LLRSUM按比特节点序号线性存储,LLREX码字的层和层内元素的位置先后线性存储。由于MSA的原因,每行的LLREX只需要保存每个元素的符号sign、该行的最小值min、该行的最大值submin和该行的最小值的位置minIdx。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (3)
1.一种基于GPU架构的QC-LDPC码的加速译码方法,其特征在于,包括如下步骤:
步骤A:CPU作为控制器,利用输入码的母矩阵,计算输入码的码字信息,并将码字信息放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令;
步骤B:合理地配置GPU的各项参数,在每一个线程块中实现整个译码系统,通过线程间合作完成基于分层修正最小和算法的LDPC译码;
所述的步骤B包括如下步骤:
-根据GPU的常数存储器中的参数信息将GPU分成P*Q’个并行运行的线程块,其中P表示所使用GPU上的流多处理器SM的个数,Q’是GPU上每个SM上使用的流处理器SP的个数;
-在每一个GPU线程块中,分配Z_f个线程,这些线程合作完成译码任务;译码过程包括完成信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX的读取、更新和写回操作;
-将最后的译码结果由GPU的全局存储器返回给CPU;
译码过程中的译码核心在GPU上并行化实现,并行译码具体地包括如下步骤:
-从GPU的常数储存器中读出校验矩阵H以及生成矩阵G;
-并行执行P*Q’个GPU线程块;
-每个GPU线程块中并行执行Z_f个GPU线程,Z_f个线程完成分层修正最小和算法的译码过程;
-根据参数中的迭代次数进行迭代译码,并利用线程间合作从GPU全局存储器中读出信息节点后验对数似然比LLRSUM和校验节点传递给信息节点的对数似然比LLREX;
-Z_f个线程分别负责层内Z_f个校验节点的计算,具体核心流程为:线程依次处理层内非负的矩阵元素,计算出校验节点的对数似然比LLR的最大值和次小值;因而层Z_f行LLRSUM和LLREX的更新值被分别在GPU的共享存储器和寄存器中更新;此核心流程循环执行,直到所有的层都经过处理,然后输出判决结果和迭代中止的判定;如果译码没有完成,则继续译码核心流程,作下一次的矩阵迭代;
-最后把P*Q’个LDPC码块的译码结果写回全局存储器;将控制权交给CPU;
Z_f等于96或者128。
2.根据权利要求1所述的基于GPU架构的QC-LDPC码的加速译码方法,其特征在于,所述的步骤A包括如下步骤:
-读取码字母矩阵信息,计算码字参数,包括校验矩阵最大行重max_row_wt、最大列重max_col_wt、码长code_length、QC扩展因子Z_f;
-初始化各项译码参数,包括GPU计算能力、线程块数目、每个线程块上线程数目、译码过程中的寄存器分配及存储信息;
-将信息比特放入GPU的全局存储器;
-将上述译码参数信息放入GPU的常数存储器,并在完成所有初始化过程后,发起运行GPU核函数的命令。
3.根据权利要求1所述的基于GPU架构的QC-LDPC码的加速译码方法,其特征在于,
-每个SM上实际运行的SP的数目为Q’,即总共并行执行P*Q’个线程块,而B个线程块将被串行执行[B/(P*Q’)]次;Q’的确定满足以下4个条件:Q’≤Q;每个SM上warp的总消耗不大于warp资源的数量,即Q’*T/K≤W,其中T/K为每个线程块消耗的warp数量,W为每个SM的warp块的数目;每个SM上寄存器的总消耗不大于寄存器资源的数量,即Q’*T*R’≤R,其中T*R’为每个线程块消耗的warp数量;每个SM上共享存储器的总消耗不大于共享存储器资源的数量S,即Q’*S’≤S,其中,S’为声明给每个线程块的共享存储器的字节数;
-分层修正最小和算法译码过程中,本地的LLRSUM保存在共享存储器,本地的LLREX保存在寄存器中;
-全局的LLRSUM和LLREX保存在全局的存储器中,LLRSUM按比特节点序号线性存储,LLREX码字的层和层内元素的位置先后线性存储;
B等于112。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330765.2A CN102932003B (zh) | 2012-09-07 | 2012-09-07 | 基于gpu架构的qc-ldpc码的加速译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330765.2A CN102932003B (zh) | 2012-09-07 | 2012-09-07 | 基于gpu架构的qc-ldpc码的加速译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932003A CN102932003A (zh) | 2013-02-13 |
CN102932003B true CN102932003B (zh) | 2016-05-04 |
Family
ID=47646728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210330765.2A Active CN102932003B (zh) | 2012-09-07 | 2012-09-07 | 基于gpu架构的qc-ldpc码的加速译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932003B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452455A (zh) * | 2016-09-23 | 2017-02-22 | 华南理工大学 | 基于OpenCL 移动设备QC‑LDPC 的动态译码方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125466B (zh) * | 2014-07-10 | 2017-10-10 | 中山大学 | 一种基于gpu的hevc并行解码方法 |
US9569119B2 (en) * | 2014-09-04 | 2017-02-14 | National Instruments Corporation | Self-addressing memory |
CN104617959B (zh) * | 2015-01-20 | 2017-09-05 | 北京邮电大学 | 一种基于通用处理器的ldpc编译码方法 |
CN106330200B (zh) * | 2015-07-09 | 2019-09-10 | 华邦电子股份有限公司 | 执行于通量图形处理器的低密度奇偶校验解码方法 |
CN106330204B (zh) * | 2016-08-31 | 2019-08-09 | 成都傅立叶电子科技有限公司 | 一种数据处理方法及装置 |
CN107707330A (zh) * | 2017-08-31 | 2018-02-16 | 西安电子科技大学 | 基于gpu的sc‑ldpc码译码加速系统 |
CN108462495A (zh) * | 2018-04-03 | 2018-08-28 | 北京航空航天大学 | 一种基于gpu的多元ldpc码高速并行译码器及其译码方法 |
TWI682636B (zh) * | 2018-06-13 | 2020-01-11 | 財團法人資訊工業策進會 | 通訊系統之低密度奇偶檢查碼的解碼方法及應用其之通訊裝置 |
CN109921877B (zh) * | 2018-12-26 | 2021-11-12 | 中国电子科技集团公司第二十研究所 | 一种awgn信道下基于cuda架构的ldpc码并行译码方法 |
CN110380735B (zh) * | 2019-06-24 | 2023-05-12 | 东南大学 | 一种基于单指令多数据流的软件实现qc-ldpc译码方法 |
CN110708078B (zh) * | 2019-11-08 | 2023-02-07 | 西安电子科技大学 | 基于基模图的全局耦合ldpc码构造方法 |
US20210152282A1 (en) * | 2019-11-15 | 2021-05-20 | Nvidia Corporation | Scheduling method for ldpc decoding |
CN113300809B (zh) * | 2020-02-24 | 2022-08-16 | 大唐移动通信设备有限公司 | 一种数据处理方法和装置 |
CN113452639A (zh) * | 2020-03-26 | 2021-09-28 | 湖南智领通信科技有限公司 | 基于cpu-gpu异构结构的流式mpsk软件无线电信号解调方法及系统 |
CN111966404B (zh) * | 2020-07-03 | 2022-08-05 | 北京航空航天大学杭州创新研究院 | 一种基于gpu的规则稀疏码分多址scma高速并行译码方法 |
CN112257467B (zh) * | 2020-11-03 | 2023-06-30 | 沈阳雅译网络技术有限公司 | 一种面向gpu设备的神经机器翻译系统解码加速方法 |
CN114170696A (zh) * | 2021-12-16 | 2022-03-11 | 华南理工大学 | 一种高速公路差异化收费的通行费用实时计算系统与方法 |
CN115567166B (zh) * | 2022-11-10 | 2023-03-17 | 商飞软件有限公司 | 一种利用gpu进行总线数据并行计算译码的方法 |
CN115719047B (zh) * | 2022-11-14 | 2023-06-06 | 沐曦集成电路(上海)有限公司 | 基于波形gpu联合仿真系统 |
CN116308989B (zh) * | 2022-12-09 | 2023-10-13 | 杭州后量子密码科技有限公司 | 一种全同态快速数论变换的gpu加速方法 |
CN117453421B (zh) * | 2023-12-18 | 2024-03-19 | 北京麟卓信息科技有限公司 | 一种基于数据分段的gpu全片存储带宽度量方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123723A (zh) * | 2006-08-11 | 2008-02-13 | 北京大学 | 基于图形处理器的数字视频解码方法 |
-
2012
- 2012-09-07 CN CN201210330765.2A patent/CN102932003B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123723A (zh) * | 2006-08-11 | 2008-02-13 | 北京大学 | 基于图形处理器的数字视频解码方法 |
Non-Patent Citations (2)
Title |
---|
A Massively Parallel Implementation of QC-LDPC Decoder on GPU;Guohui Wang等;《 2011 IEEE 9th Symposium on Application Specific Processors(SASP)》;20110606;第82页右栏第A节,第83页左栏第C节,第84页左栏第C、D节及右栏第A节,图2,图3 * |
A parallel decoding algorithm of LDPC codes using CUDA;Shuang Wang等;《Signals,Systems and Computers,2008 42nd Asilomar Conference on》;20081029;171-175 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452455A (zh) * | 2016-09-23 | 2017-02-22 | 华南理工大学 | 基于OpenCL 移动设备QC‑LDPC 的动态译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102932003A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932003B (zh) | 基于gpu架构的qc-ldpc码的加速译码方法 | |
CN103684474B (zh) | 一种高速ldpc译码器的实现方法 | |
Le Gal et al. | High-throughput multi-core LDPC decoders based on x86 processor | |
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN106339351B (zh) | 一种sgd算法优化系统及方法 | |
Le Gal et al. | A high throughput efficient approach for decoding LDPC codes onto GPU devices | |
CN115658323A (zh) | 基于软硬件协同的fpga潮流计算加速架构和方法 | |
CN102291153B (zh) | Cmmb中ldpc码的译码方法及部分并行译码器 | |
CN102193830A (zh) | 面向众核环境的分治映射/归约并行编程模型 | |
Eberhardt et al. | Optimization of block sparse matrix-vector multiplication on shared-memory parallel architectures | |
CN1996764A (zh) | 基于奇偶校验矩阵的ldpc码的译码方法及译码器 | |
Li et al. | Efficient parallel implementation of three‐point viterbi decoding algorithm on CPU, GPU, and FPGA | |
CN103220002B (zh) | 一种消除译码器访问冲突的准循环ldpc码构造方法 | |
Le Gal et al. | Low-latency software LDPC decoders for x86 multi-core devices | |
CN106096183A (zh) | 一种基于特征线法的多重并行方法 | |
CN102185615A (zh) | 适于并行译码实现的ldpc码构造方法 | |
CN106330200A (zh) | 执行于通量图形处理器的低密度奇偶校验解码方法 | |
Le Gal et al. | High-performance hard-input LDPC decoding on multi-core devices for optical space links | |
CN107145332B (zh) | 一种OpenCL内核程序中随机数产生方法及装置 | |
CN102594369A (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN113010316B (zh) | 一种基于云计算的多目标群智能算法并行优化方法 | |
Ji et al. | Massively parallel implementation of cyclic LDPC codes on a general purpose graphics processing unit | |
Jiang et al. | Efficient simulation of QC LDPC decoding on GPU platform by CUDA | |
CN106383961A (zh) | Cpu+mic异构平台下的大涡模拟算法优化处理方法 | |
Zhang et al. | The acceleration of turbo decoder on the newest GPGPU of kepler architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |