Accelerating Kirchhoff Migration on GPU Using Directives

Rengan Xu, M. Hugues, H. Calandra, S. Chandrasekaran, B. Chapman
{"title":"Accelerating Kirchhoff Migration on GPU Using Directives","authors":"Rengan Xu, M. Hugues, H. Calandra, S. Chandrasekaran, B. Chapman","doi":"10.1109/WACCPD.2014.8","DOIUrl":null,"url":null,"abstract":"Accelerators offer the potential to significantly improve the performance of scientific applications when offloading compute intensive portions of programs to the accelerators. However, effectively tapping their full potential is difficult owing to the programmability challenges faced by the users when mapping computation algorithms to the massively parallel architectures such as GPUs.Directive-based programming models offer programmers an option to rapidly create prototype applications by annotating region of code for offloading with hints to the compiler. This is critical to improve the productivity in the production code. In this paper, we study the effectiveness of a high-level directivebased programming model, OpenACC, for parallelizing a seismic migration application called Kirchhoff Migration on GPU architecture. Kirchhoff Migration is a real-world production code in the Oil & Gas industry. Because of its compute intensive property, we focus on the computation part and explore different mechanisms to effectively harness GPU's computation capabilities and memory hierarchy. We also analyze different loop transformation techniques in different OpenACC compilers and compare their performance differences. Compared toone socket (10 CPU cores) on the experimental platform, one GPU achieved a maximum speedup of 20.54x and 6.72x for interpolation and extrapolation kernel functions.","PeriodicalId":179664,"journal":{"name":"2014 First Workshop on Accelerator Programming using Directives","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 First Workshop on Accelerator Programming using Directives","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WACCPD.2014.8","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

Accelerators offer the potential to significantly improve the performance of scientific applications when offloading compute intensive portions of programs to the accelerators. However, effectively tapping their full potential is difficult owing to the programmability challenges faced by the users when mapping computation algorithms to the massively parallel architectures such as GPUs.Directive-based programming models offer programmers an option to rapidly create prototype applications by annotating region of code for offloading with hints to the compiler. This is critical to improve the productivity in the production code. In this paper, we study the effectiveness of a high-level directivebased programming model, OpenACC, for parallelizing a seismic migration application called Kirchhoff Migration on GPU architecture. Kirchhoff Migration is a real-world production code in the Oil & Gas industry. Because of its compute intensive property, we focus on the computation part and explore different mechanisms to effectively harness GPU's computation capabilities and memory hierarchy. We also analyze different loop transformation techniques in different OpenACC compilers and compare their performance differences. Compared toone socket (10 CPU cores) on the experimental platform, one GPU achieved a maximum speedup of 20.54x and 6.72x for interpolation and extrapolation kernel functions.
使用指令加速GPU上的Kirchhoff迁移
当将程序的计算密集型部分卸载到加速器时,加速器提供了显著提高科学应用程序性能的潜力。然而,由于用户在将计算算法映射到gpu等大规模并行架构时所面临的可编程性挑战,有效地挖掘其全部潜力是困难的。基于指令的编程模型为程序员提供了一种快速创建原型应用程序的选择,方法是在要卸载的代码区域上加上注释,并向编译器提供提示。这对于提高生产代码的生产力至关重要。在本文中,我们研究了基于高级指令的编程模型OpenACC在GPU架构上并行化一个名为Kirchhoff migration的地震迁移应用程序的有效性。Kirchhoff Migration是石油和天然气行业的实际生产代码。由于GPU的计算密集型特性,我们将重点放在计算部分,探索不同的机制来有效地利用GPU的计算能力和内存层次。我们还分析了不同OpenACC编译器中的不同循环转换技术,并比较了它们的性能差异。与实验平台上的一个插槽(10个CPU内核)相比,一个GPU在插值和外推内核函数上实现了20.54倍和6.72倍的最大加速。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信