论文部分内容阅读
卷积算法为通用计算中的重要环节,在计算机视觉和图像处理中,实现高效快速的卷积运算至关重要,卷积经常被用于模板匹配,边缘检测,图像滤波和图像定位等多方面领域。本文主要针对二维函数的卷积算法在GPU上的实现与加速进行相关研究。
论文首先介绍了GPU的发展现状,以及在通用计算领域的相关应用以及并行计算的相关知识。然后介绍了NVIDIA公司开发的CUDA平台,即本文中实验开发所用平台的相关背景知识。
在二维图像数据卷积滤波中,主要分为两种不同的基本方式:在空间域中滤波和在频域中滤波,当待处理的图像比较大的时候,CPU的结构特点决定了其的性能往往不能满足图像滤波的实时性要求,而GPU为SIMD架构,决定了它非常适合处理大量数据的运算。在论文中,将详细介绍有关卷积运算的原理以及在GPU下实现的方法。
本文将在CUDA平台下实现卷积运算,包括通过基于FFT的方法实现卷积,利用卷积核可分离的特点实现卷积,并通过共享内存管理,合理分配线程的方法加以优化,另外通过纹理存储器具有高速缓存的特点存储数据,来实现卷积与之进行结果比较。通过这几项实验,可以得到结论:利用GPU实现的卷积运算可得到与CPU计算相同的结果,而速度远高于同时代CPU所得达到的运算速度,尤其是在大规律数据量的运算上更是如此,而纹理内存实现的卷积运算并非最为理想的实现方法。
最后,针对实验中存在的问题与不足提出后续工作的方向。