论文部分内容阅读
高性能计算,又称超级计算,是指在短时间内完成更多的数据计算量,以完成更多的计算任务。云计算是近年来逐渐兴起的一种并行的分布式计算应用的概念与模式,其实现方式是将大量的计算资源通过网络连接到一起,构成一个具有强大的计算能力和并行处理能力的计算资源池,从而向用户提供高性能计算服务。从本质上看,云计算是为了实现高性能计算而产生的一种新的处理模式。由此可见,高性能计算的应用广泛,形式日新月异,对其研究具有重要的理论与现实意义。由于GPU具有强大的计算能力,并且发展迅速,使其应用于通用的高性能计算,成为了一种必然的结果。CUDA是由美国NVIDIA公司为其生产的GPU产品开发的通用计算程序与硬件计算资源之间交互的接口。CUDA架构用于实现GPU设备的通用计算应用,具有高并行性、高带宽、性价比高、易于编程等优势。基于这些优势,基于CUDA的高性能计算,成为近年来学界研究的重点,在应用上得到了快速的发展。虽然CUDA具有如上所述的诸多优势,但是,其仍然有许多局限性,例如,CUDA对多分支和并行化低的应用程序执行效率不高,不适合整型数据运算,对处理的任务的细分程度及方式直接影响到CUDA应用程序的性能,并且,编程语言语法的特异性也限制了CUDA在通用高性能计算领域的应用。为了克服基于CUDA架构的高性能计算在实际应用中存在的问题,从产品应用的角度出发,重点研究了对图像处理任务的并行化分解,并从控制任务与计算任务分离以及存储器优化的角度对应用程序进行了优化,以适应CUDA架构实现高性能计算的原理,从而进一步提升系统的性能。本文首先介绍了高性能计算与云计算的相关概念,以及基于GPU的高性能计算的发展历程,在此基础上,介绍了CUDA架构下GPU编程的特点,总结了优化CUDA程序的技术方案,最终使用CUDA C语言实现了一个图像快速插值变换程序和图像快速滤波处理程序,开发了一个集成测试平台,并通过实验数据验证了基于CUDA架构实现的图像处理系统在计算性能上的提升。