基于Matlab的高光谱遥感数据降维并行计算分析
理论研究
适意信息
基于Matlab的高光谱遥感数据降维并行计算分析
刘春①~,陈燕①,辛亮①
(①同济大学测量与国土信息工程系,上海200092,②现代工程测量国家测绘局重点实验室,上海200092)
摘要:对于海量遥感数据的计算而言,串行运算对计算机性能要求高,而且耗时长。为此本文提出引用并行运算方法,不仅可以降低对计算机性能的要求,还可以大大提高运行和计算速度。为此,首先介绍了基于MPI
(MessagePassingInterface)的并行运算机制,且以Matlab为例给出了它的并行模式,并详细介绍了将现有串行
运算代码改造成并行运算的流程。以海量高光谱影像数据为例,将本征维数估计的串行运算修改为并行运算,实验分析并测试了其运行效率。结果表明,并行计算较串行计算可大大缩短本征维数的计算时问。
关键词:并行计算;MATLAB;高光谱遥感;本征维数
doi:10.3969/j.issn.1000--3177.2010.03.003中图分类号:TP791
文献标识码:A
文章编号:1000一3177(2010)109—0013—05
1
引言
评估等。随着PC机运行速度的大幅度提高,成本的不断降低,再加上局域网技术的不断发展,以PC机为主题的局域网多机并行Matlab计算将成为并行计算技术的一个新的发展点。因此本文以Mat-lab为编程语言,并行计算了高光谱数据的本征维数,并对其运行效率与串行运算进行比较,论证将串行运算改造成并行运算的必要性。
随着科学技术的飞速发展,越来越多的大规模科学和工程计算问题对计算机的速度提出了非常高的要求。在图像处理方面,大规模的地形匹配、神经网络计算及其他计算量大的任务都需要计算机具有强大的计算性能。虽然,微处理器的性能不断提高,但单机的性能仍跟不上计算需求的发展,并行计算即成为充分利用硬件资源并结合算法安排求解大规模问题的解决方法之一[1]。
高光谱遥感具有“图谱合一”的特点,它利用成像光谱仪纳米级的分辨率,以几十或几百个波段同时对地表地物成像,获取地物连续光谱信息,实现了地物空间信息、辐射信息、光谱信息的同时获取[2 ̄4]。由于波段数目众多,数据量巨大,因此导致对高光谱影像数据的计算量大,计算耗费时间长。目前,国内外学者对于高光谱影像数据进行降维方法的研究比较多,提出了很多本征维数的估计方法,如主分量分析方法[5],极大似然方法‘引,碎片方法[7],熵估计方法[8]等,而对于如何提高高光谱影像数据本征维数估计的运算速度的研究涉及的比较少。MatlabEgl是一种跨平台的软件,且具有高效性,被广泛用于算法研究、仿真、数据恢复、测试和系统
收稿日期:2009一05—11
修订日期:2009一06一03
2基于MPI的并行计算
2.1
进程
进程(process)是一个程序,同时包含它的执行环境(内存、寄存器、程序计数器等),是操作系统中独立存在的可执行的基本程序单位。对于串行应用程序编译形成的可执行代码,分为“指令”和“数据”两个部分,并在程序执行时“独立地申请和占有”内存空间,且所有计算均局限于该内存空间。如图1(a)所示。事实上,多个进程可以同时存在于单机内同一操作系统,由操作系统负责调度分时共享处理机资源(CPU、内存、存储、外设等)。进程间相互独立(内存空间不相交),在操作系统调度下各自独立地运行,如图1(b)所示,例如多个串行应用程序在同一台计算机中运行。进程间可以相互交换信息:例如数据交换、同步等待,消息是这些交换信息的基
基金项目:国家自然科学基金项目(40501061)和海岛(礁)测绘技术国家测绘局重点实验室资助项目(2009810).作者简介:刘春,男(1973~),教授、博士生导师,主要研究方向为GIS空间数据不确定性与LIDAR数据的融合处理。E-mail:E-mall:liuchun@tongji.edu.cn
13
适意信息
理论砷究
本单位,消息传递是指这些信息在进程间的相互交换,是实现进程间通信的唯一方式。最基本的消息传递操作:发送消息(send)、接受消息(receive)、进程同步(barrier)、规约(reduction)。共享内存常用干消息侉涕的实现。
图1串并行进程示意图
2.2
MPI并行环境
在消息传递库方法的并行编程中,一组进程所执行的程序是用标准串行语言书写的代码加上用于消息接收和发送的库函数调用。目前,MPI(Mes-
sage
Passing
Interface)[10]是比较流行的并行计算
开发环境之一。MPI是一个并行计算消息传递接口标准,由MPI论坛(MPIForum)推出,制定该标准的目的是提高并行程序的可移植性和开发效率。MPI论坛是由欧美主要的并行计算机生产商、大学、政府实验室和工厂研究人员组成的一个非官方组织。MPI论坛在1994年6月正式推出了MPI的第一个版本MPI1.0,又于1995年6月推出了MPI1.1,对原有的版本进行了修改、完善和补充[1¨。1997年7月推出的MPl2.0版本中,又加入了远程存储访问、并行I/0、动态进程管理等内容。MPI现在已经成为产业界广泛支持的并行计算标准[121。
在基于MPI编程模型中,计算是由一个或多个彼此通过调用库函数进行消息收、发通信的进程所组成。在绝大部分MPI实现中,一组固定的进程在程序初始化时生成,一般情况下,一个处理器只生成一个进程。这些进程可以执行相同或不同的程序(相应地称为单程序多数据(SPMD)或多程序多数据(MPMD)模式)。进程间的通信可以是点到点的,也可以是集合的。
MPI是目前应用最广的并行程序设计平台,几
14
乎被所有并行计算环境(共享和分布式存储并行机、MPP、机群系统等)和流行的多进程操作系统(UNIX、WindowsNT)所支持,基于它开发的应用程序具有最佳的可移植性。Matlab2007b开始推出并行计算的函数便是基于MPI开发的,随后
Matlab2008a正式推出基于MPI的并行计算工具
箱(ParallelComputingToolboxTM)。
3
Matlab并行计算实现
Matlab2008a开始推出的ParallelComputing
ToolboXTM是基于MPI开发的用于加强硬件多线程处理能力,解决密集数据处理和并行计算的工具箱。该工具箱拓展了Matlab高性能并行处理的能力,用户可以根据这些工具箱提供的功能,针对过去基于串行计算的代码,不需要做很大修改就可以使原代码满足并行处理的要求,大大提高数据处理能力和
效率。Parallel
Computing
ToolboxTM在单个处理
工作站上执行并行程序,如果联合Matlab的分布计
算服务器(Distributed
Computing
ServerTM)就可以
实现在一个计算机簇中进行分布式并行计算,这对于海量数据和复杂计算来说,是一个很经济实用的解决方案。
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




