高端学术
您当前的位置:核心期刊咨询网理工论文》基于异构模式的高光谱数据加速处理方法研究

基于异构模式的高光谱数据加速处理方法研究

来源:核心期刊咨询网时间:2022-05-07 10:5512

摘要:摘要随着遥感卫星更高时空分辨率的大气探测需求,大气遥感高光谱数据量骤增,传统高光谱数据的处理效率较低,无法满足高性能处理高光谱数据的需求.首先介绍了国内外研究者利用图形处理器(GPU)加速处理遥感高光谱数据的应用实例,然后对基于CPU-GPU异构模式的大气遥感高

  摘要随着遥感卫星更高时空分辨率的大气探测需求,大气遥感高光谱数据量骤增,传统高光谱数据的处理效率较低,无法满足高性能处理高光谱数据的需求.首先介绍了国内外研究者利用图形处理器(GPU)加速处理遥感高光谱数据的应用实例,然后对基于CPU-GPU异构模式的大气遥感高光谱数据傅里叶分析的并行化计算进行了研究,并进行算法实现,最后同传统基于CPU计算做了实验比较.实验结果表明,使用基于CPU-GPU异构模式的方法处理高光谱数据时,在保证数据准确性的同时速度提升80多倍,验证了将GPU加速用于处理大气遥感高光谱数据的有效性,可以更好地满足气象卫星更高时空分辨率的大气探测需求.关键词高光谱遥感;图形处理器;高性能计算

  0 引言

  “风云四号”气象卫星于2016年12月发射,并在轨成功运行.“风云四号”01星大气垂直探测仪首次实现了静止轨道傅里叶高光谱探测,精细观测到大气的垂直结构.干涉式大气垂直探测仪的核心系统是干涉仪,探测仪实际上就是空间工作的傅里叶变换光谱仪[1].为了满足气象卫星更高时空分辨率的大气探测需求,后续将会使用更大面阵的焦平面探测器,获取更大数据量的光谱数据,提高空间分辨率和探测频率,实现短周期的实时天气预报等.随着“风云四号”大气垂直探测仪在光谱分辨率上的重大突破,获取的遥感高光谱数据量会变得更大,海量遥感高光谱数据的较低计算效率成为大气遥感高光谱应用的瓶颈.

  为解决海量高光谱数据的高性能处理问题,国内外众多研究人员提出通过使用计算机集群模式、基于消息传递的并行编程环境MPI(Message Passing Interface)、基于图形处理的处理器GPU(Graphic Processing Unit)等提高光谱数据的处理效率[2].基于GPU的CUDA(Compute Unified Device Architecture)通用并行计算的架构技术,利用GPU多计算核心、高内存带宽、浮点运算的运行速度快等特点,可以对海量高光谱数据进行并行优化,提升高光谱数据的处理性能.如今,基于CPU-GPU的异构计算已经成为研究和应用的热点,GPU逐渐成为解决海量高光谱数据的高性能处理问题的有效途径.利用GPU加速技术,国内外学者在高光谱数据处理中尝试了目标检测、图像分类、影像坐标转换、图像处理等算法的并行优化,并且实验取得很大的性能提升.文献[3]研究并实现了基于GPU的光谱相关系数填图(SCM)算法的并行化,

  将加速比提高到25倍左右;文献[4]在影像坐标转换过程中引入了CPU-GPU协同处理技术,这一技术使得坐标转换效率提高10倍;文献[5]基于正交空间投影的目标检测算法提出了高光谱图像的并行优化处理方法,将串行计算速度提高50倍;文献[6]基于GPU设计了针对遥感图像预处理过程中的几何校正的并行算法,结果表明基于GPU阵列的几何校正有效提高了矫正效率;文献[7]分析和总结了CPU-GPU架构在高光谱影像数据处理系统中的应用,指出这种异构架构在该领域的应用具有可行性且前景广阔;文献[8]利用卷积神经网络(CNN)提取原始图像特征领域,对现有并行算法GCN(GPU based Cube-CNN)计算效率不够高的

  情况,提出了基于通用矩阵乘法(GEMM)算法的GGCN(GPU based Cube-CNN improved by GEMM)并行算法,提升了算法的效率并有效提高了GPU的利用率.綜上所述,对于海量高光谱遥感数据的高性能处理引入基于GPU计算的技术手段是可行的.

  本文使用基于CPU-GPU异构计算的遥感高光谱数据加速处理技术,结合使用快速傅里叶变换完成高光谱数据的傅里叶分析,解决海量高光谱数据处理过程中的干涉数据到光谱数据转换效率较低的问题.这一技术是“风云四号”干涉式大气垂直探测仪系统研究中的一项重要环节,对提高光谱分辨率和大气垂直探测能力,提高我国天气预报能力具有重要意义.

  1 GPU并行运算性能优势

  为满足不同的需求,CPU与GPU结构上有较大的区别(图1).CPU在逻辑上有三大组成部分,分别是控制单元、运算单元和存储单元.在结构上,CPU有较大容量的高速缓存(cache),有复杂的逻辑控制与分支预测,这种结构使得运算单元(ALU)只占CPU结构空间较小的一部分.而GPU在结构设计上包含了大量的ALU,即图1b中右上的密集的方格,与CPU相比较,GPU没有复杂的逻辑控制,具有较小的高速缓存,且缓存是为了单个线程(thread)提供数据等.GPU在内存设计上分纹理内存、共享内存、全局内存等.使用特定的内存可以更好地提高数据的访问速度,且有更高的内存带宽,利用大量ALU进行并行处理,计算能力更强.

  在实际问题处理中,某些问题或问题中的某一部分解决方式具有很强的并行性,如果按照串行运算处理时,处理时间较长,使用并行计算明显具有时间上的优势,特别是待处理的数据量较大时.而利用GPU就可以很好地解决这类问题,GPU包含了数量众多的更小、更高效的核心,这些核心可以很好地解决多任务并行处理的问题.以Fermi架构为例,GPU设计上包含了多个SM(Streaming Multiprocessors,流式多处理器),而每个SM都支持数以百计的线程并行执行,所以当GPU进行并行运算时,成百上千的线程可以并行执行.CUDA core为GPU的计算核心,相当于微型CPU,线程的管理和执行采用的是SIMT(Single Instruction Multiple Thread)架构,每个线程都有它自己的状态寄存器和指令地址计数器,这就使得GPU擅长解决大规模的数据并行任务.

  在结构层次上,GPU往下可分为SM、SP(Stream Processor),CUDA中线程分为Grid、Block、Thread三个组织层次,Grid、Block均为dim3结构.CUDA Thread 最终的并行执行是在实际的物理硬件上实现的,逻辑线程与实际的物理硬件有着一定的映射关系,即Thread对应SP(即CUDA core),Block对应SM,Grid对应Device设备.GPU并行执行时任务线程层次如图2所示.

  推荐阅读:宽带海事卫星通信在我国的发展与应用

转载请注明来自:http://www.qikan2017.com/lunwen/lig/23079.html

相关论文阅读

论文发表技巧

期刊论文问答区

优质科技期刊

最新期刊更新

精品推荐