论文部分内容阅读
高光谱数据降维是高光谱图像处理的关键步骤之一,通过提取连续波段的主要特征,减少信息冗余带来的大额计算开销和分类精度下降等问题。传统串行降维方法的计算复杂度高、处理耗时长,无法满足军事、地质等领域的实时处理需求。CPU+GPU异构系统结合强大的控制逻辑和高效的计算能力,已成为高性能计算领域的发展主流之一。本文针对降维难题,利用GPU强大的计算性能和内存带宽,克服计算和访存瓶颈,大幅提高单位时间的任务吞吐量。高光谱数据存在较多非线性因素,线性降维模型会损失原始信息量,具有较大局限性;而非线性降维算法因计算复杂、耗时巨大难以实际应用。本文研究高光谱影像非线性降维算法在多核与众核异构平台上的设计和优化,主要工作和创新点包括:1)研究基于核的非线性降维算法在GPU上的并行方案和优化策略,以KPCA算法为例,分析算法瓶颈,挖掘高斯核矩阵计算、双边雅克比迭代、KPCA变换等加速热点的并行潜能,就映射方案、算法访存模式展开讨论。改进双边雅克比迭代,并通过实验量化验证和比较了不同设计思路、优化方法的运行效果。结果表明,随数据量增大,加速比逐步提升,基于GPU的并行KPCA算法最高加速173倍。2)流形学习是当前非线性降维算法的研究热点,本文以经典算法ISOMAP为例,设计基于CPU/GPU异构系统的并行算法。设计了邻域图计算、最小前K值求解、全源最短路径(Floyd)等热点的并行方案,通过改进映射方案、使用共享存储、减少额外开销等策略进一步优化并行算法。实验比较各类并行算法的性能差异,并对算法特点和平台限制进行深入分析,结果显示,基于GPU的ISOMAP算法获得9.06~91.15倍性能提升。3)当高光谱数据增加至一定规模,受运行空间限制高光谱非线性降维在单节点上无法进行,因此引入分布存储方案。本文实现了基于MPI的KPCA算法,并结合共享存储、众核GPU架构设计了基于MPI+CUDA和MPI+OpenMP+CUDA两类并行加速方案。针对通信方式、任务负载、划分粒度、存储一致性、访存特性等方面逐一展开并行和优化讨论。实验表明,基于MPI+OpenMP+CUDA实现的KPCA算法比基于MPI的分布存储方案加速2.75~9.27倍。