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近红外激光合束方法与光束质量检测
- 下一篇:中学与大学物理学习衔接问题的探究
-
-
-
-
-
-
-
酸性水汽提装置总汽提塔设计+CAD图纸
大众媒体对公共政策制定的影响
java+mysql车辆管理系统的设计+源代码
电站锅炉暖风器设计任务书
中考体育项目与体育教学合理结合的研究
当代大学生慈善意识研究+文献综述
杂拟谷盗体内共生菌沃尔...
河岸冲刷和泥沙淤积的监测国内外研究现状
十二层带中心支撑钢结构...
乳业同业并购式全产业链...