[发明专利]一种基于OpenCL的RS码编解码方法有效
申请号: | 201910419485.0 | 申请日: | 2019-05-20 |
公开(公告)号: | CN110244939B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 伍卫国;刘钊华;孙岚子;赵东方 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/4401;G06F9/445;G06F12/02;H03M13/15 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 李红霖 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 opencl rs 解码 方法 | ||
一种基于OpenCL的RS码编解码方法,包括以下步骤:步骤1,在OpenCL内核中采用查表法实现GF(2^8)的乘法运算;步骤2,编译步骤1编写的内核程序生成硬件配置文件;步骤3,初始化OpenCL内核启动环境;步骤4,宿主机程序控制内核执行;步骤5,纠删码编码;步骤6,纠删码解码。本发明可以充分的发挥出OpenCL设备的并行性能,极大的缩短了RS码编解码的计算时间。
技术领域
本发明属于电子技术领域,具体涉及一种基于OpenCL的RS码编解码方法。
背景技术
OpenCL(Open Computing Language)是由Khronos Group针对异构计算装置进行并行化运算所设计的标准API以及程序语言。OpenCL具有非常好的兼容性,它的计算平台可以是由多个设备组成的异构平台,OpenCL对这些不同的平台提供统一的API。采用OpenCL模型编写的程序在所有的支持OpenCL标准的平台上都可以执行,程序只需要经过平台开发商提供的SDK(Software Development Kit)编译后即可运行。OpenCL的设计目标是清晰的表述异构环境中的并行项。并行是一个非常重要的能力,目前随着计算技术的发展,各种计算平台都有多核化的趋势。但是很多软件开发人员在开发软件时并不知道如何利用计算平台的并行能力,这样编写的软件运行效率很低。因此就需要OpenCL编程模型来充分利用平台的并行计算能力。
OpenCL模型中将平台分为两部分:一个宿主机和多个OpenCL设备。宿主机一般是通用CPU,主要负责程序的逻辑控制功能,由它来管理OpenCL设备。OpenCL设备一般是一些计算单元比较多,计算能力比较强,具有进行并行计算能力的运算平台,例如GPU、FPGA和DSP等设备。这些OpenCL设备中通常包含很多计算单元,每个计算单元中又有很多处理单元。OpenCL中最小的操作单元就是计算单元,这些计算单元之间可以并行的进行计算。与OpenCL平台模型相对应,OpenCL的执行模型也分为两部分:宿主机程序和内核。宿主机程序在宿主机上运行,由宿主机程序通过上下文和命令队列来调用内核。上下文定义了内核执行和定义的环境,命令队列是宿主机程序和内核之间的通信方式,宿主机程序通过将命令发送到命令队列来控制内核。
RS码是由Reed和Solomon于1960年提出的一种系统码。它是唯一可以满足任意的数据磁盘数目(n)和冗余磁盘数目(m)的MDS(maximum distance separable)的编码方法。RS码的生成矩阵G的前n行是n*n的单位矩阵因此RS码也属于系统码的一种。经过五十多年的研究和发展,RS码的理论基础已经非常完善。RS码是从维度n的向量空间通过有限域K转换成较高的向量空间维度n+m。它可根据其生成矩阵的不同将其分为两类:一类是范德蒙RS编码,另一类是柯西RS编码。范德蒙RS编码中的所有运算均是在Galois域上的运算,其中加法运算对应异或运算,乘法运算比较复杂,一般用查表法来实现。柯西RS编码将复杂的乘法运算转化成二进制乘法,但是会导致生成矩阵增大很多倍,计算量也会随之增加。
目前对RS码编解码的加速主要有三种:在FPGA开发板上采用VHDL语言编写专用的编解码电路;采用CUDA编程模型利用NVIDIA的GPU进行加速;采用ASIC实现RS纠删码的编解码加速。第一种方法一般是采用硬件描述语言设计生成一个GF域的乘法器来加速纠删码编解码中大量的GF域中的乘法运算。但是这种方法并没有充分利用编解码过程中的数据并行性,并行粒度比较小,对性能的提升比较有限。第二种方法是将GPU作为数据并行计算设备,但是这种方法只能具有NVIDIA显卡的机器上使用,适用范围比较窄。最后一种方法与FPGA类似,但是ASIC的硬件电路是量身定制的,因此执行速度比较快,但是ASIC的芯片价格更高,代价比较大。
发明内容
本发明的目的在于提供一种基于OpenCL的RS码编解码方法,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种基于OpenCL的RS码编解码方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910419485.0/2.html,转载请声明来源钻瓜专利网。