目前,将gpu用于通用计算一直是国内外研究的热点,早期的GPgpu (gpu for general purpose)开发直接使用图形学API编程。这种开发方式难度大,成本高。NVIDIA公司推出的CUDA(Compute Unified Device Architecture,统一计算设备架构)是专门...
详细信息
目前,将gpu用于通用计算一直是国内外研究的热点,早期的GPgpu (gpu for general purpose)开发直接使用图形学API编程。这种开发方式难度大,成本高。NVIDIA公司推出的CUDA(Compute Unified Device Architecture,统一计算设备架构)是专门用于gpu通用计算的平台,其简单的编程风格,高效的多线程并行处理模式使得人们在面对计算密集型任务时能够更好地利用到gpu庞大的并行计算资源。 另一方面,在图像匹配领域,SIFT算法作为一种基于特征点的匹配算法,能够很好的处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题。较强的匹配能力和良好的健壮性使得SIFT算法在图像匹配领域有着广泛的应用。 本文深入地分析了CUDA多线程编程模型的硬件架构和软件体系,详细描述了CUDA程序任务的划分,性能的评估以及CUDA程序的优化策略,并仔细分析对比了CUDA GT200架构和新一代架构Fermi的特点,指出了Fermi架构在设计结构上的改进和性能上的优势。 在本文的实现部分,详细描述了基于SIFT特征的图像匹配算法在CUDA平台的并行设计与实现,并与CPU上的实现做了对比。实验结果表明,本文所实现的基于CUDA平台的SIFT算法相对于CPU上的实现在性能上能够取得很好的加速效果。
暂无评论