CPU/GPU异构系统下高光谱遥感影像线性降维并行算法研究与实现

CPU/GPU异构系统下高光谱遥感影像线性降维并行算法研究与实现

论文摘要

如何对高光谱信息进行高效处理是遥感领域近年来的研究热点,高光谱图像降维是做好后续地物分析识别的一个关键步骤。由于降维计算是一个典型的计算密集和访存密集型过程,计算复杂度较高,采用传统串行处理模式已无法满足军事、农林等高端应用实时处理的需求。CPU+GPU异构系统可以满足应用对高度密集计算的需求,是目前乃至未来很长一段时间内高性能计算机体系结构主流发展方向之一。如何充分利用CPU/GPU异构系统的计算能力,有效提高高光谱遥感图像降维的处理速度是本文研究的关键。CPU/GPU异构系统具有3个并行层次,分别是结点间进程级、结点内线程级和GPU线程级。本文针对高光谱遥感影像线性降维中的PCA和Fast ICA两种典型降维算法,分析研究算法中多个加速热点的并行处理方案和优化策略,基于MPI、openMP和CUDA等3种主流的并行编程模型设计和实现上述3个层次的多级协同并行算法。本文的主要工作和创新有以下几点:(1)深入研究了CPU/GPU异构系统3种主流并行模式。异构系统中,除了GPU的密集计算资源外,一般还包括多CPU、多GPU、多结点等特征,要完全开发系统的性能,必须熟练掌握MPI、openMP和CUDA等主流并行技术。本文重点针对这3种并行技术的编程模型和优化策略进行了深入研究,并研究了一些混合并行的优化策略。(2)基于CPU/GPU异构系统研究并提出了一系列高光谱影像PCA并行降维算法。在分析PCA算法加速热点的基础上,提出了适用于不同并行层次的任务划分方案,给出了协方差矩阵计算、PCA变换、高光谱数据I/O等热点步骤的并行及优化策略;分别基于MPI、openMP、CUDA、MPI+CUDA、openMP+CUDA和MPI+openMP+CUDA等单一或混合编程模式提出并实现了6种PCA多级并行降维算法。实验结果表明,6种并行算法均获得了显著的性能提升,其中MPI+openMP+CUDA三级协同并行PCA降维算法获得了最高145倍的计算加速比(不含I/O)和最高128倍的总加速比(含I/O)。(3)基于CPU/GPU异构系统研究并提出了一系列高光谱影像Fast ICA并行降维算法。在分析FastICA算法加速热点基础上,提出了白化处理、ICA迭代、IC变换等热点步骤的并行及优化策略,特别是针对复杂的ICA迭代过程,提出了一种“具体-抽象-具体”的并行设计模式,并将该模式应用于ICA迭代过程的并行程序设计;结合协方差矩阵、高光谱数据I/O等并行优化策略,提出了6种Fast ICA多级并行降维算法。实验结果显示,6种并行算法均获得了良好的加速效果,其中MPI+openMP+CUDA三级并行FastICA降维算法获得了最高169倍的计算加速比和159倍的总加速比。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究背景
  • 1.2 课题研究内容
  • 1.2.1 课题来源
  • 1.2.2 课题研究重点
  • 1.3 相关研究工作
  • 1.3.1 高光谱遥感图像降维的方法
  • 1.3.2 高光谱影像并行处理研究现状和趋势
  • 1.4 本文的主要工作和创新
  • 1.5 本文算法实验平台
  • 1.6 本文统一符号设定
  • 1.7 本文所采用的高光谱数据及其预处理
  • 1.8 论文结构
  • 第二章 CPU/GPU异构多级并行及优化技术研究
  • 2.1 CPU/GPU异构协同工作方式研究
  • 2.2 GPU体系结构
  • 2.2.1 GPU概述
  • 2.2.2 GPU编程模型发展
  • 2.2.3 GPU执行模型
  • 2.2.4 GPU存储模型
  • 2.3 并行编程模型
  • 2.3.1 MPI
  • 2.3.2 openMP
  • 2.3.3 CUDA
  • 2.4 CPU/GPU异构并行优化技术研究
  • 2.4.1 串行优化技术研究
  • 2.4.2 消息传递优化研究
  • 2.4.3 多线程优化研究
  • 2.4.4 GPU性能优化研究
  • 2.4.5 一些混合并行优化技术研究
  • 2.5 本章小结
  • 第三章 PCA降维多级并行算法研究与优化
  • 3.1 主成分分析流程及并行热点分析
  • 3.1.1 PCA变换
  • 3.1.2 基于高光谱遥感图像降维的PCA算法流程
  • 3.1.3 并行热点分析
  • 3.2 PCA算法并行热点研究
  • 3.2.1 协方差矩阵并行计算研究
  • 3.2.2 适用于PCA变换的并行计算研究
  • 3.2.3 面向高光谱数据的并行输入设计
  • 3.2.4 适用于PCA变换矩阵的并行输出设计
  • 3.3 6 种并行PCA降维算法
  • 3.3.1 基于MPI的PCA降维算法
  • 3.3.2 基于openMP的PCA降维算法
  • 3.3.3 基于CUDA的PCA降维算法
  • 3.3.4 基于MPI+CUDA的PCA降维算法
  • 3.3.5 基于openMP+CUDA的PCA降维算法
  • 3.3.6 基于MPI+openMP+CUDA的PCA降维算法
  • 3.4 实验结果与性能分析
  • 3.4.1 最佳优化开关的选取
  • 3.4.2 最优CUDA并行的选择
  • 3.4.3 单级并行执行时间与性能分析
  • 3.4.4 多级并行的优势
  • 3.4.5 总时间与总加速比
  • 3.5 本章总结
  • 第四章 FastICA降维多级并行算法研究与优化
  • 4.1 独立成分分析流程及算法并行性分析
  • 4.1.1 ICA基本模型
  • 4.1.2 基于负熵最大的FastICA算法
  • 4.1.3 基于高光谱遥感图像降维的FastICA算法流程
  • 4.1.4 并行热点分析
  • 4.2 FastICA算法并行热点研究
  • 4.2.1 并行白化处理研究
  • 4.2.2 ICA迭代并行研究
  • 4.2.3 IC变换并行研究
  • 4.3 6 种FastICA并行算法
  • 4.3.1 基于MPI的Fast ICA算法
  • 4.3.2 基于openMP的Fast ICA算法
  • 4.3.3 基于CUDA的Fast ICA算法
  • 4.3.4 基于MPI+CUDA的Fast ICA算法
  • 4.3.5 基于openMP+CUDA的Fast ICA算法
  • 4.3.6 基于MPI+openMP+CUDA的Fast ICA算法
  • 4.4 实验结果与性能分析
  • 4.4.1 迭代时间算法设定及串行程序最优化
  • 4.4.2 单级并行结果与性能分析
  • 4.4.3 多级并行的优劣
  • 4.4.4 总执行时间与总加速比
  • 4.5 本章总结
  • 第五章 结束语与工作展望
  • 5.1 工作总结
  • 5.2 工作展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  

    CPU/GPU异构系统下高光谱遥感影像线性降维并行算法研究与实现
    下载Doc文档

    猜你喜欢