在自适应光学(AO)系统中,成像是不可或缺的一部分。AO仿真系统中的探测器和哈特曼-夏克波前传感器的成像过程一般用二维的离散卷积来计算,而通常它的数值算法用快速傅立叶变换(FFT)实现。但是随着矩阵维数的增加,卷积的运算量会急剧增大,成为制约整个AO仿真效率的一个瓶颈。利用图形处理器(GPU)的强大计算能力,可以使成像系统运行速度大幅提高。在NVIDIA Tesla C2050 GPU上,针对不同分辨率的图像,获得了相对于串行程序5-24倍的加速比。
连续的数据无关是指计算目标矩阵连续的元素时使用的源矩阵元素之间没有关系且也为连续的,访存密集型是指函数的计算量较小,但是有大量的数据传输操作。在OpenCL框架下,以bitwise函数为例,研究和实现了连续数据无关访存密集型函数在GPU平台上的并行与优化。在考察向量化、线程组织方式和指令选择优化等多个优化角度在不同的GPU硬件平台上对性能的影响之后,实现了这个函数的跨平台性能移植。实验结果表明,在不考虑数据传输的前提下,优化后的函数与这个函数在OpenCV库中的CPU版本相比,在AMD HD 5850GPU达到了平均40倍的性能加速比;在AMD HD 7970GPU达到了平均90倍的性能加速比;在NVIDIA Tesla C2050GPU上达到了平均60倍的性能加速比;同时,与这个函数在OpenCV库中的CUDA实现相比,在NVIDIA Tesla C2050平台上也达到了1.5倍的性能加速。