[发明专利]一种基于GPU和CPU混合平台的高速无损数据压缩方法有效
申请号: | 201310321071.7 | 申请日: | 2013-07-26 |
公开(公告)号: | CN103427844A | 公开(公告)日: | 2013-12-04 |
发明(设计)人: | 金海;郑然;周斌 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu cpu 混合 平台 高速 无损 数据压缩 方法 | ||
1.一种基于GPU和CPU混合平台的高速无损数据压缩方法,其特征在于,包括以下步骤:
(1)CPU读取待压缩数据文件,将该待压缩数据文件从内存拷贝到GPU的全局存储器中;
(2)设置GPU上的线程块组bk[a],每个线程块中的线程个数b,其中a为线程块的总数;
(3)设置压缩字典窗口的长度为c,并设置指向第一个压缩字典窗口的头部指针为p_dic_h;
(4)设置预读窗口大小为d,指向第一个预读窗口的指针p_pre_r,该指针的初始值设置为p_dic_h-c;
(5)初始化工作线程组threads[a*b],以及(a*b/2)/c个gMatrix矩阵,其大小为c*d;
(6)调用工作线程组threads[a*b]中的(a*b/2)个线程处理待压缩数据文件中q=(a*b/2)/c个长度为c+d的数据;
(7)在q个结果矩阵gMatrix的每一个中寻找具有最多连续1的斜线段,确定每个结果矩阵的三元结果数组locations[p],数组中的每个元素存储有三元结果(x,y,length),其中p为该结果矩阵中斜线段的数量,且等于c+d–1,x表示斜线段相对于其所在结果矩阵对应的压缩字典的偏移量,y表示该斜线段相对于其所在结果矩阵对应的预读窗口的偏移量,length表示该斜线段的长度;
(8)寻找每个gMatrix对应的locations[p]数组中具有最大length值的元素:设置线程T3,其线程编号为th3,T3是线程组threads[a*b]中第0个线程至第(q-1)个线程中的一个,T3线程负责寻找每个gMatrix矩阵对应的三元结果数组locations[p]中具有最大length值的元素,并将其对应的参数x、y与length存入全局的匹配结果数组match[q],该数组中的每个元素也存储有三元结果(x,y,length);
(9)根据匹配结果数组match[q]对待压缩数据文件进行压缩;
(10)判断指针p_pre_r是否已经到待压缩数据文件的尾部,如果是,则过程结束;否则,向前滑动字典窗口和预读窗口,即设置p_pre_r=p_pre_r+q*d,p_dic_h=p_dic_h+q*d,然后返回步骤(6)。
2.根据权利要求1所述的高速无损数据压缩方法,其特征在于,d的值等于16*n,n的取值范围为1-8。
3.根据权利要求1所述的高速无损数据压缩方法,其特征在于,步骤(6)中,p_dic_h指向待压缩数据文件的第一个压缩字典窗口首部,p_pre_r指向待压缩数据文件的第一个预读窗口首部,而(p_dic_h-d)指向压缩数据文件第二个压缩字典窗口首部,(p_pre_r-d)指向待压缩数据文件的第二预读窗口首部,如此划分,一次循环,可以处理q对压缩字典窗口和预读数据窗口。
4.根据权利要求1所述的高速无损数据压缩方法,其特征在于,步骤(6)具体为,对于每一个待处理的压缩字典窗口和与其对应的预读数据窗口的数据,分别执行以下步骤:
(6-1)设置计数器i=0;
(6-2)设置线程T1,其线程编号为th1,T1是线程组threads[a*b/2]中第(c*k)个线程至第(c*(k+1)-1)个线程中的一个,其判断第k个压缩字典窗口中第(th1 mod c)位字节与第k个预读数据窗口中第i*16至(i+1)*16-1位字节是否匹配,其中0<=k<q,当两个字节匹配时,返回值1,否则返回值0,并把该匹配结果写回全局存储器的第k个gMatrix矩阵中的位置((th1 mod c)*d+i*16)到位置((th1 mod c)*d+i*16+16)中;
(6-3)设置i=i+1,并判断是否有i<n,如果是则转入步骤(6-2),否则转入步骤(7)。
5.根据权利要求1所述的高速无损数据压缩方法,其特征在于,当length为小于3时,表明没有找到匹配,此时,x与y直接赋值为-1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310321071.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种光载超宽带无线定位系统
- 下一篇:绝缘栅双极型晶体管的保护电路