当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于GPU及张量的数据采样及解码方法技术

技术编号:22263148 阅读:49 留言:0更新日期:2019-10-10 15:23
本发明专利技术提供一种基于GPU及张量的数据采样及解码方法,该方法适用于物联网中三维数据的采集及高性能重建,具体实施步骤有:1)在数据采集发送端,对三维数据进行管式采样后,通过无线传输发送至数据接收处理端;2)在数据接收处理端,CPU将接收到的三维输入数据传输至GPU;3)GPU对数据进行张量傅里叶变换;4)GPU对张量傅里叶变换后数据的所有正向切片进行复数矩阵补全;5)GPU对补全后数据进行张量傅里叶逆变换;6)GPU将输出数据传输至CPU。本发明专利技术在数据采集发送端采用简单的管式采样,在数据接收端通过使用GPU来加速三维数据解码中高并发处理的计算任务以大大提高计算效率。

A Method of Data Sampling and Decoding Based on GPU and Tensor

【技术实现步骤摘要】
一种基于GPU及张量的数据采样及解码方法
本专利技术属于高性能计算领域,具体涉及一种基于GPU(GraphicsProcessingUnit,图形处理器)及张量的数据采样及解码方法。
技术介绍
随着物联网技术的发展,越来越多的低成本无线传感器被部署到室内、室外环境,源源不断地获取数据,支持各种应用。然而,无线传输信道的带宽有限,无线传输中由于不稳定、受干扰等原因会发生数据丢失。而一些应用比如无线定位系统、视频传感器监控等的数据率较高,对数据丢失敏感。因此,大量的研究关注于如何提高物联网数据的质量,提出了各种针对物联网的数据编码、数据解码新方法。数据编码方法运行在数据采集发送端(即传感器)上,其目的是降低数据的规模。数据解码方法运行在数据接收处理端,比如汇聚节点(Sinknode)或云服务器上,其目的是基于不完整、有缺失的数据重新构建完整数据,供各种上层应用使用。在数据采集发送端,由于无线网络传感器的成本低廉,且一般由电池供电,故其计算能力较低,且能量有限。因此,运行在传感器上的数据编码方法必须足够简单、节能,且能尽可能减少数据的规模,降低数据传输的带宽消耗。编码后的数据在无线网络中传输中,仍然可能发生数据丢失。现有的数据编码方法,比如H.264视频压缩方法,对于数据丢失敏感,在无线传输过程中发生的丢包会导致数据接收端无法解码,不能很好地满足需要。在数据接收处理端,接收到的数据是不完整的,需要有效的数据重构方法来重建。基于插值的数据重构方法较为简单,但重构的错误率较高。准确度更高的方法是矩阵重构方法及张量重构方法。矩阵重构方法适用于二维数据,而张量重构方法适用于三维及三维以上的数据。然而,现有的基于CPU的张量重构方法为计算密集,计算时间及复杂度随张量的阶或张量大小的增加而快速增长,无法满足应用的实时性需求,也无法在数据接收处理端节点上同时处理大量的数据重构请求。
技术实现思路
本专利技术的目的在于针对现有技术存在的问题,提供一种基于GPU及张量的数据采样及解码方法。GPU具备强大的计算能力及高访存带宽,近年来已广泛用于加速并行计算,本方法是一种基于GPU及三阶低管型秩(Low-tubal-rank)张量模型的三维数据采样及解码方法。为达到上述目的,本专利技术的构思如下:本方法包括在数据采集发送端的采样、在数据接收处理端的解码两部分。在数据采集发送端,采用管式采样(tubalsampling),丢弃部分数据以大大减少需传输的数据规模。在数据接收处理端,采用基于张量(Tensor)及GPU的数据重构方法处理接收到的数据,重新构建完整的数据,此过程称作解码。基于低秩张量模型的数据重构方法可以有效恢复由于采样和无线传输中丢失的数据。然而这个数据重构过程为计算密集,计算时间及复杂度随张量的阶或者张量大小的增加而快速增长,无法满足应用的实时性需求。采用GPU来加速基于低秩张量模型的数据重构方法,实现一个高性能的解码器。根据上述构思,本专利技术的技术方案如下:一种基于GPU及张量的数据采样及解码方法,具体操作步骤如下:步骤1:在数据采集发送端,对三维数据进行管式采样后,通过无线传输发送至数据接收处理端;步骤2:在数据接收处理端,CPU将接收到的三维输入数据DATA1传输至GPU;步骤3:GPU对三维输入数据DATA1进行张量傅里叶变换,变换沿着DATA1的第三维进行,对于三个维度分别为m、n、k的数据,在GPU上并行进行m×n个长度为k的矢量傅里叶变换,最后GPU上得到张量傅里叶变换后的复数数据DATA2,其三个维度仍然为m、n、k;步骤4:GPU对复数数据DATA2的所有正向切片进行复数矩阵补全,正向切片即为三阶张量沿第三维切片得到的矩阵,DATA2共有k个大小为m×n的正向切片,每个正向切片即为m×n的复数矩阵,对此k个正向切片的复数矩阵补全在GPU上并行进行,最后得到复数数据DATA3,其三个维度仍然为m、n、k;步骤5:GPU对复数数据DATA3进行张量傅里叶逆变换,变换沿着DATA3的第三维进行,在GPU上并行进行m×n个长度为k的矢量傅里叶逆变换,最后GPU上得到张量傅里叶逆变换后的实数数据DATA4,其三个维度仍然为m、n、k;步骤6:GPU将输出数据DATA4传输至CPU。进一步地,所述步骤1具体包括如下步骤:步骤1.1:按照给定的采样掩码mask对三维数据进行管式采样,对于三个维度分别为m、n、k的数据D,共有m×n个长度为k的管,其中第一个管为(D[1,1,1],D[1,1,2],…D[1,1,k])而第m×n个管为(D[m,n,1],D[m,n,2],…D[m,n,k]),mask大小为m×n的矩阵,其元素为mask[1,1]~mask[m,n],当mask[i,j]为1时三维数据的第i×j个管保留,当mask[i,j]为0时三维数据的第i×j个管被直接丢弃;步骤1.2:将此采样后的数据通过无线传输至数据接收处理端。进一步地,所述步骤4具体包括如下步骤:步骤4.1:生成k个m×n的矩阵并使用采样掩码mask对它们进行初始化;步骤4.2:在GPU上并行进行k个正向切片的复数矩阵补全,采用交替最小化方法进行矩阵补全,通过迭代P次求得一对矩阵使它们的乘积接近原矩阵,P为迭代次数,对第个正向切片,迭代P次后得到及步骤4.3:对每个正向切片的和做矩阵点乘,计算共k个正向切片的k个矩阵点乘在GPU上并行进行,得到的矩阵即为DATA3的第个正向切片。本专利技术与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:本专利技术在数据采集发送端采用简单的管式采样,在数据接收端通过使用GPU来加速三维数据解码中高并发处理的计算任务以提高计算效率。与传统基于CPU的三维数据解码相比,计算效率有明显提高,能够在较短时间内完成相同的计算。附图说明图1是本专利技术的基于GPU及张量的数据采样及解码方法步骤图。图2是三阶张量及其正面切片示意图。图3管式采样示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本专利技术,并不用于限定本专利技术。三维数据对应的三阶张量如图2所示,对于第一、二、三维分别维m、n、k的三维数据,其对应的实数张量T可记为T∈Rm×n×k,其中R代表实数,复数张量T可记为T∈Cm×n×k,其中C代表复数。代表张量T的第一、二、三维分别为的元素,T(i,j,∶)代表由T(i,j,1),T(i,j,2),…,T(i,j,k)这k个元素构成的1维矢量,称作张量的第i×j个管,T∈Rm×n×k或T∈Cm×n×k共有m×n根管,其中R代表实数,C代表复数。一种基于GPU及张量的数据采样及解码方法,如图1所示,具体操作步骤如下:步骤1:在数据采集发送端,对三维数据进行管式采样后,通过无线传输发送至数据接收处理端,具体步骤如下:步骤1.1:按照给定的采样掩码mask对三维数据进行管式采样,如图3所示,对于三个维度分别为m、n、k的数据D,共有m×n个长度为k的管,其中第一个管为(D[1,1,1],D[1,1,2],…D[1,1,k])而第m×n个管为(D[m,n,1],D[m,n,2],…D[m,n,k]),mask大小为本文档来自技高网
...

【技术保护点】
1.一种基于GPU及张量的数据采样及解码方法,其特征在于,具体操作步骤如下:步骤1:在数据采集发送端,对三维数据进行管式采样后,通过无线传输发送至数据接收处理端;步骤2:在数据接收处理端,CPU将接收到的三维输入数据DATA1传输至GPU;步骤3:GPU对三维输入数据DATA1进行张量傅里叶变换,变换沿着DATA1的第三维进行,对于三个维度分别为m、n、k的数据,在GPU上并行进行m×n个长度为k的矢量傅里叶变换,最后GPU上得到张量傅里叶变换后的复数数据DATA2,其三个维度仍然为m、n、k;步骤4:GPU对复数数据DATA2的所有正向切片进行复数矩阵补全,DATA2共有k个大小为m×n的正向切片,每个正向切片即为m×n的复数矩阵,对此k个正向切片的复数矩阵补全在GPU上并行进行,最后得到复数数据DATA3,其三个维度仍然为m、n、k;步骤5:GPU对复数数据DATA3进行张量傅里叶逆变换,变换沿着DATA3的第三维进行,在GPU上并行进行m×n个长度为k的矢量傅里叶逆变换,最后GPU上得到张量傅里叶逆变换后的实数数据DATA4,其三个维度仍然为m、n、k;步骤6:GPU将输出数据DATA4传输至CPU。...

【技术特征摘要】
1.一种基于GPU及张量的数据采样及解码方法,其特征在于,具体操作步骤如下:步骤1:在数据采集发送端,对三维数据进行管式采样后,通过无线传输发送至数据接收处理端;步骤2:在数据接收处理端,CPU将接收到的三维输入数据DATA1传输至GPU;步骤3:GPU对三维输入数据DATA1进行张量傅里叶变换,变换沿着DATA1的第三维进行,对于三个维度分别为m、n、k的数据,在GPU上并行进行m×n个长度为k的矢量傅里叶变换,最后GPU上得到张量傅里叶变换后的复数数据DATA2,其三个维度仍然为m、n、k;步骤4:GPU对复数数据DATA2的所有正向切片进行复数矩阵补全,DATA2共有k个大小为m×n的正向切片,每个正向切片即为m×n的复数矩阵,对此k个正向切片的复数矩阵补全在GPU上并行进行,最后得到复数数据DATA3,其三个维度仍然为m、n、k;步骤5:GPU对复数数据DATA3进行张量傅里叶逆变换,变换沿着DATA3的第三维进行,在GPU上并行进行m×n个长度为k的矢量傅里叶逆变换,最后GPU上得到张量傅里叶逆变换后的实数数据DATA4,其三个维度仍然为m、n、k;步骤6:GPU将输出数据DATA4传输至CPU。2.根据权利要求1所述的基于GPU及张量的数...

【专利技术属性】
技术研发人员:张涛李海刘小洋
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1