基于GPU的图像压缩感知算法并行化研究

来源 :电子科技大学 | 被引量 : 5次 | 上传用户:q3324079
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
压缩感知是近几年出现的一种新型信号处理方法,以远低于Nyquist频率对信号同时进行压缩与采样,然后通过求解一个最优化问题就能从少量的观测值中以较高的概率重构出原始信号。它已广泛应用在图像处理领域中的各个方面,如图像融合、去噪、压缩、成像等。目前,这种方法也被引入到遥感图像处理领域中,然而,由于遥感图像具有高分辨率、多时相、数据量大等特点,重构信号时间急剧增加,使得压缩感知理论在遥感图像处理实际应用中存在一定待解决的问题。若仅使用传统CPU进行串行处理,运行时间过长,无法满足人们对算法的实时/准实时处理要求。最近几年,GPU计算能力得到很大的提升,具有强大的浮点运算能力,已成为提高算法处理速度最有效的方式之一。CUDA和OpenCL是GPU应用最广泛的两种编程模型。目前,已有相关人员采用CUDA编程模型对压缩感知算法进行并行化研究,但其实现的并行算法只能应用于特定的NVIDIA平台,无法实现并行算法跨平台处理。如采用CUDA实现的并行算法无法在AMD GPU上运行。而后起的OpenCL,作为面向异构系统的开放工业标准,克服了现有的移植性问题,为广泛的科学应用提供了一个理想的异构编程模型。因此,本论文利用GPU的并行特性,采用OpenCL编程模型探索了压缩感知算法在GPU平台上并行实现。主要工作与研究内容包含如下:(1)理解压缩感知算法的原理,对串行程序进行热点分析,找出算法的性能瓶颈,同时分析算法耗时步骤的可并行性。根据GPU的硬件特性,采用OpenCL编程模型对压缩感知算法进行并行化设计与实现;(2)在初步实现的压缩感知并行算法基础上,结合一些常用的优化方法,如指令流优化、访存效率等优化方法,对并行算法做相应优化,进一步加快算法的处理速度;(3)目前的并行硬件平台在单个计算节点或单台服务器设备往往部署多个GPU卡,为充分利用节点上的计算资源,需设计合适的任务调度策略,实现压缩感知算法在多GPU卡上的并行研究。最后,对上述工作进行实验验证,得到相应的性能效果图。采用不同尺寸的遥感图像对三阶段的并行算法进行实验测试,获取相应的加速比等评价指标,并对结果进行分析得到相应的结论。实验结果表明:在NVIDIA平台上所设计的并行算法有效地提高了压缩感知算法的处理速度,并在此基础上优化的并行算法使加速比得到更进一步地提升;将此并行算法不经任何修改在AMD平台上进行测试,表明其实现的并行算法不仅具有较好的加速效果,而且还具有跨平台可移植性;同时,将并行算法与基于OpenMP实现的并行算法在AMD上的CPU上进行测试,对比两种并行算法的性能;对于多GPU卡实现的并行算法进行实验测试,结果表明两块GPU上实现的并行算法比单GPU处理速度提升了将近两倍。本研究在GPU上采用OpenCL语言实现的并行算法具有较好的加速效果,解决了压缩感知算法在实际中应用问题,并对并行计算研究提供一定的指导意义,具有一定的学术研究价值。
其他文献
人胚胎干细胞(Human Embryonic Stem Cells,hESCs)是一种可以在体外稳定自我更新,并具有分化为成人机体任何一种细胞潜能的多能干细胞(Pluripotent Stem Cells,PSCs)。通过hE
植物内源小分子多肽作为一类新的激素逐渐被人们所认识,并在调节植物生长发育和响应外界胁迫等生理过程中发挥重要作用,因此,对多肽类激素参与的调控功能和分子机理进行研究,具有