Implementation of a parallel high-order WENO-type Euler equation solver using a CUDA PTX paradigm

IF 1.5 4区 工程技术 Q3 MECHANICS
F. Kuo, J. S. Wu
{"title":"Implementation of a parallel high-order WENO-type Euler equation solver using a CUDA PTX paradigm","authors":"F. Kuo, J. S. Wu","doi":"10.1093/jom/ufab016","DOIUrl":null,"url":null,"abstract":"\n This study proposes the optimization of a low-level assembly code to reconstruct the flux for a splitting flux Harten–Lax–van Leer (SHLL) scheme on high-end graphic processing units. The proposed solver is implemented using the weighted essentially non-oscillatory reconstruction method to simulate compressible gas flows that are derived using an unsteady Euler equation. Instructions in the low-level assembly code, i.e. parallel thread execution and instruction set architecture in compute unified device architecture (CUDA), are used to optimize the CUDA kernel for the flux reconstruction method. The flux reconstruction method is a fifth-order one that is used to process the high-resolution intercell flux for achieving a highly localized scheme, such as the high-order implementation of SHLL scheme. Many benchmarking test cases including shock-tube and four-shock problems are demonstrated and compared. The results show that the reconstruction method is computationally very intensive and can achieve excellent performance up to 5183 GFLOP/s, ∼66% of peak performance of NVIDIA V100, using the low-level CUDA assembly code. The computational efficiency is twice the value as compared with the previous studies. The CUDA assembly code reduces 26.7% calculation and increases 37.5% bandwidth. The results show that the optimal kernel reaches up to 990 GB/s for the bandwidth. The overall efficiency of bandwidth and computation performance achieves 127% of the predicted performance based on the HBM2-memory roofline model estimated by Empirical Roofline Tool.","PeriodicalId":50136,"journal":{"name":"Journal of Mechanics","volume":" ","pages":""},"PeriodicalIF":1.5000,"publicationDate":"2021-08-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Mechanics","FirstCategoryId":"5","ListUrlMain":"https://doi.org/10.1093/jom/ufab016","RegionNum":4,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"MECHANICS","Score":null,"Total":0}
引用次数: 1

Abstract

This study proposes the optimization of a low-level assembly code to reconstruct the flux for a splitting flux Harten–Lax–van Leer (SHLL) scheme on high-end graphic processing units. The proposed solver is implemented using the weighted essentially non-oscillatory reconstruction method to simulate compressible gas flows that are derived using an unsteady Euler equation. Instructions in the low-level assembly code, i.e. parallel thread execution and instruction set architecture in compute unified device architecture (CUDA), are used to optimize the CUDA kernel for the flux reconstruction method. The flux reconstruction method is a fifth-order one that is used to process the high-resolution intercell flux for achieving a highly localized scheme, such as the high-order implementation of SHLL scheme. Many benchmarking test cases including shock-tube and four-shock problems are demonstrated and compared. The results show that the reconstruction method is computationally very intensive and can achieve excellent performance up to 5183 GFLOP/s, ∼66% of peak performance of NVIDIA V100, using the low-level CUDA assembly code. The computational efficiency is twice the value as compared with the previous studies. The CUDA assembly code reduces 26.7% calculation and increases 37.5% bandwidth. The results show that the optimal kernel reaches up to 990 GB/s for the bandwidth. The overall efficiency of bandwidth and computation performance achieves 127% of the predicted performance based on the HBM2-memory roofline model estimated by Empirical Roofline Tool.
使用CUDA PTX范式实现并行高阶WENO型Euler方程求解器
本研究提出了在高端图形处理单元上优化低级别汇编代码,以重建分裂通量Harten–Lax–van Leer(SHLL)方案的通量。所提出的求解器使用加权本质上无振荡的重建方法来实现,以模拟使用非定常欧拉方程导出的可压缩气体流。底层汇编代码中的指令,即计算统一设备体系结构(CUDA)中的并行线程执行和指令集体系结构,用于优化流量重建方法的CUDA内核。通量重建方法是一种五阶方法,用于处理高分辨率单元间通量,以实现高度局部化的方案,例如SHLL方案的高阶实现。对包括冲击管和四个冲击问题在内的许多基准测试案例进行了演示和比较。结果表明,该重建方法计算量大,使用低级别的CUDA汇编代码,可以获得高达5183 GFLOP/s的优异性能,约为NVIDIA V100峰值性能的66%。与以前的研究相比,计算效率是原来的两倍。CUDA汇编代码减少了26.7%的计算量,增加了37.5%的带宽。结果表明,最佳内核的带宽可达990GB/s。基于经验屋顶线工具估计的HBM2存储器屋顶线模型,带宽和计算性能的总体效率达到了预测性能的127%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Mechanics
Journal of Mechanics 物理-力学
CiteScore
3.20
自引率
11.80%
发文量
20
审稿时长
6 months
期刊介绍: The objective of the Journal of Mechanics is to provide an international forum to foster exchange of ideas among mechanics communities in different parts of world. The Journal of Mechanics publishes original research in all fields of theoretical and applied mechanics. The Journal especially welcomes papers that are related to recent technological advances. The contributions, which may be analytical, experimental or numerical, should be of significance to the progress of mechanics. Papers which are merely illustrations of established principles and procedures will generally not be accepted. Reports that are of technical interest are published as short articles. Review articles are published only by invitation.
×
引用
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学术官方微信