论文部分内容阅读
21世纪人类面临的众多重要科技课题,这些课题没有万亿次以上的计算能力是无法解决的。GPU与生俱来就有强大的计算能力,NVIDIA公司推出了CUDA架构使开发的难度大大降低,程序员可以很容易地利用GPU这个计算工具进行并行程序的开发。现在GPU在非图形领域得到了广泛的应用,基于GPU的通用计算研究也逐渐深入。本文主要围绕GPU在图像交叠变换,粒子群算法,图像插值方面的算法进行了深入的研究。图像交叠变换涉及众多小块矩阵相乘操作,粒子群算法涉及每个粒子自身的计算与更新,图像插值涉及到众多像素的插值计算,它们的计算量十分庞大。本文实现了基于GPU的上述三种算法,缩减了时间,提高了仿真系统的性能。本文的主要研究内容如下:1.时域交叠变换由前后向滤波和DCT变换组成,在DCT变换之前对输入图像进行前向滤波,在DCT逆变换之后对图像进行后向滤波。在滤波的过程中,滤波矩阵通过等式运算即可得,只要图像块的大小一定,滤波矩阵也一定,即滤波矩阵是个常量矩阵。在图像的DCT变换过程中,变换矩阵也是个常量矩阵。在GPU的运算过程中,我们把这些常量矩阵放在常量存储器中,然后将图像块和这些常量矩阵相乘既可实现时域交叠变换算法。而大规模矩阵运算我们可以发挥GPU多线程运算的优势。本文中利用了GPU实现了这些运算。实验结果表明了GPU具有快速的浮点运算能力,我们通过采用GPU进行通用计算大大减少了运算时间。2. PSO算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解。为了防止粒子群收敛于局部极值点,我们采用多群协同进化,由于采用多群进行计算,运算量大,我们采用GPU进行了加速,有效地缩短了该算法的收敛时间,大大提高了算法的执行效率。3. GPU加速基于边缘的图像插值采用的是回归的算法,该算法能有效地提高图像插值的视觉效果。我们是把图像扩大四倍,也就是已知1/4的图像像素点来获的整个图像。由于每个被插得像素的运算时相互独立的且每个被插像素的运算时复杂的,其中涉及大量的矩阵运算,GPU在运算的过程中,每个线程的运算时相互独立的正好可以充分发挥GPU的优势。由于一个GTX590有两个运算核心,我们可以利用两个核心同时运算,这大大增加了运算单云的个数,使算法的执行效率得到进一步的提高。在GPU的实现过程中,我们可以用一个线程插一个像素点,获得了良好的加速效果,加速比高达85.6x。本论文的研究得到了国家自然科学基金(61077009)的资助。