1  引言
1.1  课题背景和意义
    由于成像光谱仪在高光谱测量的基础上有图谱合一的优势,成像高光谱成为国内外研究热点。无论何种成像光谱仪都要对干涉图进行光谱复原处理,因此成像高光谱成为研究热点的同时,高光谱复原技术的研究也引人注目。
    由于高光谱具有波段多,波段宽度窄,光谱分辨率高,光谱相应范围广等特点,其在遥感技术中的应用相对于多光谱更为广泛。与多光谱遥感影像相比,高光谱影像不仅在信息丰富程度方面有极大提高,在处理技术上也更为合理有效。
    干涉光谱复原技术[2]是根据实验获得的干涉图与研究需要的光谱图之间的一一对应关系,利用傅里叶变换的光谱学原理,将干涉图反演得到光谱图。光谱复原处理包含四个步骤:去直流、切趾、相位校正和快速傅里叶变换FFT。其中,FFT是光谱复原技术的核心。
    本课题的主要任务就是利用OpenCL研究FFT算法在GPU上的实现过程和软件实现方法。通过比较FFT算法程序在GPU和CPU上的运行时间来具体分析GPU的优势。
    1999年,第一个显卡GPU出现[3]。从GPU产生至今,GPU的运算能力飞速提升,其应用范围也不断拓展。GPU的硬件结构决定其具备高并行度和大量浮点吞吐运算的能力。因此,GPU不仅限于图形运算,也可应用于油气勘探、电脑辅助、金融安全评估等领域。
    传统的CPU超级计算机发展迅速,但其效率低、投资大、文护成本高等问题成为其性能提升的制约。而GPU超级计算机技术由于其高效率和低成本被愈加重视,其应用愈加广泛。在复杂繁琐的数学模型拟合和运算上,GPU比CPU快几十甚至几百倍。
    由于不断加强的可编程性,GPU不仅应用于图形渲染,其强大的浮点运算和并行运算能力使其应用于通用计算,即GPGPU。而此时,CPU的发展却遇到瓶颈,由于其不断追求通用型,多数晶体管用于控制和Cache,少数晶体管用于计算,其算术逻辑单元没有GPU多,因此CPU计算并行度的提升非常困难。对于复杂繁琐的计算,在GPU上运行比在CPU上运行快得多。
    在存储器延迟与带宽、计算与通信、发热与功耗三个方面,CPU的发展遇到困难。而反观GPU,在以上三个方面其性能优于CPU。
    总之,依靠GPU的发展,各行各业都能获得性耗比和性价比更高的运算方案,使得各项工作更高效地完成。
1.2  GPU和OpenCL
    GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”[4]。GPU是现代计算机中一个专门的图形的核心处理器,其产生的目的就是图形处理。
    作为显卡核心,GPU决定该显卡的优劣和多数性能。同时,GPU也是区分2D和3D显卡的关键。处理特效和3D图像时,2D显卡主要依靠CPU来完成任务(软件加速)。而对于3D显卡,其芯片内部集成了特效和3D图像的处理功能(硬件加速)。
    由于不断加强的可编程性,GPU不仅应用于图形渲染,其强大的浮点运算和并行运算能力使其应用于通用计算,即GPGPU。将CPU和GPU结合的CPU/GPU系统将成为未来计算机发展的方向。
    现在遇到的问题是:对混合结构的设备如何编写程序?一般C或C++的编译目标是CPU,Chapel和Cray的汇编语言的编译目标也是CPU[5]。而Nvidia的CUDA(Compute Unified Device Architecture)只能针对Nvidia的GPU,而非CPU,进行程序编写。
    这里,OpenCL(Open Computing Language)便是问题的解决方案。OpenCL的程序不仅可以在AMD、Nvidia、Intel的GPU或CPU上运行,也可以在Sony的PS3上运行。OpenCL不是专用语言,而是一项开放标准。代码编译成功后可以在任何的芯片上执行。著名的Java语言是一次编写,各处运行(各个操作系统),与之相对的,OpenCL是一次编写,各设备上运行(各个设备)。
上一篇:MATLAB近红外激光合束方法与光束质量检测
下一篇:中学与大学物理学习衔接问题的探究

浙江省高中新学考物理试题特点的研究

高中物理光学部分教学现状与教法研究

氢能利用与高表面活性炭...

小学中高段学生学习幸福...

高旋弹丸冲击扰动弹道分析与仿真

高耸结构MTMD系统风振动力特性研究

高分子单链的相变行为

国内外图像分割技术研究现状

承德市事业单位档案管理...

C#学校科研管理系统的设计

志愿者活动的调查问卷表

医院财务风险因素分析及管理措施【2367字】

公寓空调设计任务书

AT89C52单片机的超声波测距...

神经外科重症监护病房患...

10万元能开儿童乐园吗,我...

中国学术生态细节考察《...