[发明专利]一种利用图形处理器GPU实现的并行RS译码方法有效
申请号: | 201210453928.6 | 申请日: | 2012-11-13 |
公开(公告)号: | CN102938653A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 魏耀都;张拯宁;朱翔宇;战勇杰 | 申请(专利权)人: | 航天恒星科技有限公司 |
主分类号: | H03M13/15 | 分类号: | H03M13/15 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 安丽 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 图形 处理器 gpu 实现 并行 rs 译码 方法 | ||
1.一种利用图形处理器GPU实现的并行RS译码方法,其特征在于实现步骤如下:
(1)通用计算机首先根据编码参数生成有限域与二进制数据转换查找表、有限域加法查找表、有限域乘法查找表、有限域对偶基和自然基查找表,然后将上述各查找表写入GPU纹理内存;
(2)通用计算机检测已连接的GPU个数及各个GPU的最大并行规模,根据已连接的所有GPU的最大并行规模读入多个待解码的RS码字;
(3)通用计算机将读入的码字写入GPU内部的全局存储器,启动GPU解码程序进行译码,GPU中设计多个线程,线程数量远大于读入码字的数量,利用线程实现多个码字的并行译码;
(4)通用计算机边读取后续码字,边等待GPU译码结果;
(5)GPU译码和后续数据读取都结束后,通用计算机从GPU内部的全局存储器中读出译码后的数据,将后续码字写入GPU内部的全局存储器,继续进行后续码字的译码,直到所有数据译码完成。
2.根据权利要求1所述的一种利用图形处理器GPU实现的并行RS译码方法,其特征在于:所述步骤(2)中通用计算机读入多个待解码的RS码字的步骤为:
(2.1)通过GPU编程语言的指令查询所连接的GPU数量n;
(2.2)通过GPU编程语言的指令逐个查询n个GPU所支持的最大块数量B1,B2,...,Bn以及每个块支持的最大线程数量T1,T2,...,Tn,根据所处理的RS码字的码长N,确定一次性读入的RS码字数量上限为(B1T1+B2T2+BnTn)/(N+1);
(2.3)通过通用编程语言读入不超过(B1T1+B2T2+BnTn)/(N+1)个RS码字。
3.根据权利要求1所述的一种利用图形处理器GPU实现的并行RS译码方法,其特征在于:所述步骤(3)中启动GPU解码程序进行译码的步骤为:
(3.1)各GPU从全局存储器中读取待译码的码字段,用每个线程处理一个RS码字,各线程首先利用查找表将码字从其所使用的有限域基低变换至自然基,然后再次利用查找表将数据变换至有限域;在有限域中将各码字分别乘以相应的系数后,利用归约求和方法将各个块内的线程计算结果相加,得到多个码字的伴随式,若伴随式全为0则结束译码,否则继续进行以下步骤;
(3.2)GPU使用多个块对多个码字进行关键方程的计算,计算方法为无需求逆的BM迭代算法,即RiBM算法;GPU利用多个线程进行计算,每个线程均计算一个迭代参数,计算后得到的关键方程系数存入全局存储器;
(3.3)GPU中使用多个块对误码进行纠正,纠正误码的方法为钱搜索和福尼算法;每个块通过多个线程读入关键方程系数,然后备线程分别对所读入的关键方程系数进行乘积运算,随后各线程的运算结果通过归约求和的方法进行求和,根据和值判断当前块所对应的符号是否为错误符号;若当前块所对应符号存在错误,则根据福尼算法计算错误值,并利用块中某一线程执行纠正错误值的程序,得到译码结果;译码结果存储在全局存储器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天恒星科技有限公司,未经航天恒星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210453928.6/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类