OpenACC在Intel Knights Corner与Nvidia Kepler上的性能可移植性研究

需积分: 10 7 下载量 174 浏览量 更新于2024-09-15 收藏 89KB PDF 举报
"这篇论文是关于上海交通大学在超算应用领域的研究,主要探讨了OpenACC编程标准在Intel Knights Corner和Nvidia Kepler架构上的性能可移植性评估。" 正文: OpenACC,全称开放并行计算指令,是一种编程标准,旨在通过使用指令来简化异构平行编程。它的一大优势在于能够生成OpenCL和CUDA代码,使得同一段源代码可以在不同微架构的硬件上运行。考虑到Intel Knights Corner支持通过CAPS HMPPP编译器运行OpenCL,而Nvidia Kepler产品具有最新的架构且峰值性能相似,研究者选择这两种硬件作为实验目标,以检验单一的OpenACC源代码在这些不同底层架构上的实际应用可行性。 论文详细研究了在Intel Knight Corner和Nvidia Kepler产品上运行OpenACC代码的性能可移植性。实验使用了CAPS OpenACC编译器来编译EPCC的OpenACC基准测试套件,以及Stream和Max Flops部分的SHOC基准测试,以此来评估不同硬件的性能表现。Stream测试通常用于衡量GPU和多核CPU的内存带宽,而Max Flops测试则用于测量浮点运算性能。 Intel Knights Corner是Intel公司设计的一种高性能计算加速卡,采用很多核心(Many Integrated Core,简称MIC)架构,设计目标是提供强大的并行处理能力。而Nvidia Kepler则是Nvidia公司推出的一代GPU架构,以其高效能和低功耗著称,尤其在科学计算和图形处理领域有广泛应用。 通过对比实验,研究者可以分析OpenACC在两种不同架构下的执行效率、性能优化潜力以及可能存在的兼容性问题。这有助于开发者理解和优化针对异构系统的代码,提高代码在多种硬件平台上的通用性和性能。同时,这也为未来更广泛的硬件平台间的代码可移植性提供了理论依据和实践经验。 这篇论文揭示了OpenACC在跨平台异构计算环境中的潜力,对于促进高性能计算领域软件的开发和优化具有重要意义。上海交通大学的研究团队通过深入研究,为提高代码在不同架构间的可移植性提供了宝贵的数据和见解,对提升超算应用的效率和普适性做出了贡献。