测绘学报

• 学术论文 •    

基于GPGPU的并行影像匹配算法

肖汉,张祖勋   

  1. 1. 武汉大学
    2. 武汉大学遥感信息工程学院
  • 收稿日期:2009-05-12 修回日期:2009-07-06 出版日期:2010-02-22 发布日期:2010-02-22
  • 通讯作者: 肖汉

Parallel Image Matching Algorithm Based on GPGPU

  • Received:2009-05-12 Revised:2009-07-06 Online:2010-02-22 Published:2010-02-22

摘要: 随着卫星遥感技术的发展,需要快速地将卫星遥感图像数据转化为用户需要的信息。传统的影像匹配算法的优化和实现都是针对CPU提出的,难以应用在图形处理器(GPU)上。本文提出了一种基于GPGPU的CUDA架构快速影像匹配并行算法,它能够在SIMT模式下完成高性能并行计算。并行算法系根据GPU的并行结构和硬件特点,采用了执行配置技术、高速存储技术和全局存储技术三种加速技术,优化了数据存储结构,提高了数据访问效率。实验结果表明,并行算法充分利用了GPU的并行处理能力,在处理1280×1024分辨率的8位灰度图像时可达到最高多处理器Warp占有率,速度是基于CPU实现的7倍。揭示了CUDA在高运算强度数据处理中呈现出良好的实时处理能力和计算能力上的优势,为进一步加速影像匹配性能和GPU通用计算提供了新的方法和思路。

Abstract: With the development of satellite remote sensing technology, it is the key issue in remote sensing field to transform massive data into user information in short time. The traditional image matching algorithms for optimization and implementation which were designed for common processor CPU, could not be effectively applied on Graphics Processing Unit (GPU). A fast image matching parallel algorithm is presented based on General-Purpose computing on Graphics Processing Units (GPGPU) which support Compute Unified Device Architecture (CUDA). The algorithm can execute high performance parallel computing in Single Instruction Multiple Thread (SIMT) Pattern. On the basis of the parallel architecture and hardware characteristic of GPU, the parallel algorithm introduces three speedup methods to improve the implementation performance: execution configuration technology, high-speed storage technology and global storage technology optimizes the data storage structure and improves the data access efficiency. The experiment result shows that GPU can with high efficiency implement the parallel algorithm and processing efficiency of 8-bit 1280×1024 pictures can be up to the highest Multiprocessor Warp Occupancy, processing speed is 7 times faster than CPU-based implementation. The comparison between CUDA and CPU in image matching algorithms shows the advance of the CUDA in high arithmetic intensity real-time processing and computing data processing and this provides new methods and ideas to optimize image matching performance and GPGPU.