GPU应用移植:CPU-GPU架构的自动源到源映射技术

需积分: 9 0 下载量 118 浏览量 更新于2024-09-07 1 收藏 601KB PDF 举报
"面向CPU-GPU架构的源到源自动映射方法" 在当前的高性能计算领域,GPU(Graphics Processing Unit)因其高效的并行计算能力,已经广泛应用在能源探测、金融分析、生物医学等多个领域。然而,GPU的复杂体系结构使得应用的移植变得困难。CUDA(Compute Unified Device Architecture)为解决这一问题提供了编程接口,使得GPU可以用于通用计算和数据密集型计算。尽管如此,CUDA的多级线程和多级存储结构仍然增加了程序员在CPU-GPU异构多核系统上的编程和移植难度。 为了解决这个问题,本文提出了一个面向CPU-GPU架构的源到源自动映射方法。这个方法的核心是将串行计算的源程序转化为并行计算的源程序。首先,它通过分析串行源程序,识别出可并行化的循环,并获取这些循环的层次信息。然后,它建立了循环体结构与GPU线程之间的对应关系,生成适合GPU执行的内核函数代码。此外,考虑到变量在CPU和GPU之间的交互,该方法还会根据变量的读写属性生成相应的CPU端控制代码。 实现这一方法的关键在于设计一个编译原型系统,该系统能够接收C语言源程序,并自动生成CUDA源程序。经过测试,这个原型系统成功地实现了功能一致性,即生成的CUDA代码能够等效地执行原C语言代码的功能。更重要的是,性能测试显示,使用自动生成的CUDA代码在执行效率上有显著提升,这意味着这种方法对于计算密集型应用的移植有明显的优化效果,减轻了程序员在CPU-GPU异构平台上的工作负担,提高了应用的可移植性。 该研究对源到源编译技术进行了深入探讨,构建了一个面向CPU-GPU架构的编译系统框架,尤其是关注了自动映射过程中的关键技术。这为高性能计算领域的研究人员提供了一个有效工具,有助于简化GPU编程,促进更多应用在CPU-GPU环境下的高效运行。 这篇论文的研究成果是一种创新的自动映射技术,它降低了GPU编程的复杂性,提升了并行程序的生成效率,有助于推动CPU-GPU异构多核系统的广泛应用。这项工作不仅对学术界有着深远的影响,也对工业界的实际应用产生了积极的推动作用。