正交追踪算法在gpu上的并行实现方法

文档序号:6617050阅读:216来源:国知局
专利名称:正交追踪算法在gpu上的并行实现方法
技术领域
本发明涉及信号处理技术领域,具体涉及一种OMP (OrthogonalMatchingPursuit,正交追踪算法)在GPU上的并行实现方法。
背景技术
近年来,压缩感知(CS)理论得到广泛关注,其在信号满足稀疏性的前提下,用远小于奈奎斯特采样率的采样频率对数据进行采样,即能够完全恢复出原始信号。压缩感知用下面的数学表达式阐述为对于原始信号X e Rn,通过观测矩阵Φ e Rmxn,得到观测向量y e Rm :γ=φχ(I)其中M << Ν,χ中显著元素个数为S,S << N。CS理论研究的是已知观测y,估计满足式(I)的最稀疏解X,即找到一个ieRA'满足minimi。,s.t. y =ΦχI 2 )其中,Il · Il C1表示Ltl范数,即计算非零元素个数。目前,针对式(2)的优化问题,提出了一系列的求解算法,包括近似LI优化、贪心算法、Focuss算法等,这些算法在特定场景下都能有效恢复出稀疏信号。然而,这类算法的·共同特点是计算复杂度高,在求解大规模数据时,传统CPU串行实现运行时间长,无法实时恢复出原始稀疏信号;而借助大型计算机或者集群虽然能够实现快速计算,但所需成本高,不能满足工程应用的需求。近年来,图形处理器(Graphics Processing Unit, GPU)演变成一个高速并行化的多核、多线程通用应用平台,在解决计算密集型问题上具有很高的性价比。本发明尝试利用GPU这一平台来提高OMP算法的执行速度。以下的文献介绍了该领域主要的
背景技术
1.Tropp J A, Gilbert A C. Signal recovery from random measurementsviaorthogonal matching pursuit[J].1EEE Transactions on InformationTheory, 2007, 53(12):4655-4666.文献中,基于贪心算法提出了一种求解零范数最小优化的算法,该算法相对于基于一范数近似的凸优化算法计算复杂度更小,分辨率更高。相对于传统的匹配跟踪算法,每次迭代过程中正交投影增加了成功恢复的概率和收敛速度。2. Sangkyun Lee S W.1mplementing algorithms for signaland imagereconstruetion on graphical processing units.ComputerSciencesDepartment, University of Wisconsin-Madison, Tech. Rep. , November, 2008.文献中,Wisconsin大学的Sangkyun Lee等人在GPU平台上实现了压缩感知的SpaRSA算法。SpaRSA算法是凸优化算法的一种,计算复杂度比较大,即使在GPU平台上实现依然需要较长的计算时间。同时,SpaRSA算法具有凸优化类算法的共同缺点,就是存在较高的旁瓣。
3. Andrecut M. Fast GPU implementation of sparse signal recoveryfromrandom projections[J]. Engineering Letters. 2009, 17(3):151-158.在此文献中,Calgary大学的Andrecut等人实现了匹配追踪(Matching Pursuit,MP)算法的GPU并行化。该方法存在的缺点就是MP算法本身的收敛速度慢,在其相关性较大时,成功恢复的概率小。

发明内容
(一)要解决的技术问题本发明主要解决现有算法在求解大规模数据时,传统CPU串行实现运行时间长、成本高的技术问题。(二)技术方案为解决上述问题,本发明提供了一种正交追踪算法在GPU上的并行实现方法,包括以下步骤S1、在GPU上生成观测矩阵;S2、使用正交追踪算法反复迭代估计原始信号,利用上述观测矩阵计算出所述原始信号对应的观测数据,并与真实观测数据进行比较,判断是否终止所述迭代操作;S3、计算所述观测矩阵中与残差相关性最大的列,将其补充到基矩阵中,所述基矩阵为所述观测矩阵的一部分;S4、利用最小二乘法在所述基矩阵中估计所述原始信号的非零元素,更新原始信号,继续步骤S2。在步骤SI中,所述观测矩阵为对DCT离散余弦变换矩阵进行随机抽行得到的矩阵,其元素根据下面的公式计算

权利要求
1.一种正交追踪算法在GPU上的并行实现方法,其特征在于,包括以下步骤 51、在GPU上生成观测矩阵; 52、使用正交追踪算法反复迭代估计原始信号,利用上述观测矩阵计算出所述原始信号对应的观测数据,并与真实观测数据进行比较,判断是否终止所述迭代操作; 53、计算所述观测矩阵中与残差相关性最大的列,将其补充到基矩阵中,所述基矩阵为所述观测矩阵的一部分; 54、利用最小二乘法在所述基矩阵中估计所述原始信号的非零元素,更新原始信号,继续步骤S2。
2.如权利要求1所述的方法,其特征在于,在步骤SI中,所述观测矩阵为对DCT离散余弦变换矩阵进行随机抽行得到的矩阵,其元素根据下面的公式计算 其中,O为观测矩阵,m为行数,m G (0, I, 2,---,N-l), n为列数,N为正交追踪算法待恢复信号的长度,h为计算机生成的伪随机数序列,该序列中有M个元素,M为压缩感知中的观测数,且M〈N。
3.如权利要求2所述的方法,其特征在于,GPU将所述元素的生成任务分配到64个线程中,其中第i个线程负责生成(0(i,0),0(i,l),0(i,2),...,0 (i, N-1)),多个线程在多个处理器上并行完成观测矩阵O的生成。
4.如权利要求1所述的方法,其特征在于,在步骤S2中,所述迭代终止的条件是真实观测数据与利用所述观测矩阵计算出的观测数据的方差低于指定门限值,用数学公式描述为 其中I为真实观测数据,o为观测矩阵,t为在第k步迭代之后估计出的原始信号,£为相对误差,其与观测噪声有关,Ii Ii2表示向量的二范数。
5.如权利要求4所述的方法,其特征在于,在GPU平台上所述观测矩阵与所述原始信号向量的乘法并行完成,每个流处理器负责所述观测矩阵的一行与所述原始信号向量做内积,在单个流处理器中,多线程并行对所述原始信号向量的部分元素进行乘法操作,所述二范数的计算由多个线程并行执行。
6.如权利要求1所述的方法,其特征在于,在步骤S3中,GPU在计算所述观测矩阵中各列与残差的相关性过程中,GPU内部的每个流处理器执行一个列与残差的相关性,最后比较各个流处理器的结果,将相关性最大的列扩展到基矩阵中。
7.如权利要求1所述的方法,其特征在于,在步骤S4中,通过调用cublas的cublasDger函数来完成最小二乘估计。
全文摘要
本发明公开了一种正交追踪算法在GPU上的并行实现方法,具体包括S1、在GPU上生成观测矩阵;S2、使用正交追踪算法反复迭代估计原始信号,利用上述观测矩阵计算出所述原始信号对应的观测数据,并与真实观测数据进行比较,判断是否终止所述迭代操作;S3、计算所述观测矩阵中与残差相关性最大的列,将其补充到基矩阵中,所述基矩阵为所述观测矩阵的一部分;S4、利用最小二乘法在所述基矩阵中估计所述原始信号的非零元素,更新原始信号,继续步骤S2。该方法能够缩短正交追踪算法的运行时间,达到提高数据处理效率、降低成本的目的。
文档编号G06F9/38GK102999316SQ201210465799
公开日2013年3月27日 申请日期2012年11月16日 优先权日2012年11月16日
发明者张颢, 陈帅, 孟华东, 王希勤 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1