图形处理单元和类似的加速器用于通用计算好几年了。 在过去的十年中,GPU的体系结构和组织发生了戏剧性的改变来支对计算能力的不断需求。随着硬件的变化,提出了新颖的编程模型,如NVIDIA的统一计算设备架构(CUDA)和Khronos组织的开放计算语言(OpenCL)。尽管许多商业和科学应用已经开发利用这两个模型,但对于编程经验较少的用户来说依旧是一个重大的挑战。有来自各个科学和工程社区的用希望加快他们的应用程序,而不需要深入理解一个低级的编程模型和底层硬件。 2011年,OpenACC编程模型发布。就像OpenMP的多核处理器,OpenACC是一个高层次、基于指令的编程模型可用于多核处理器比如gpu。 本文分析OpenACC编程模型及其适用的典型领域,比如图像处理。 介绍了几个简单的图像处理算法,用OpenACC在GPU上实现,然后与串行代码做了比较,并简要地讨论了结果。 论文下载:
Download Vol6No1_A10.pdf