GPU computing is expected to play an integral part in all modern Exascale supercomputers. It is also expected that higher order Godunov schemes will make up about a significant fraction of the application mix on such supercomputers. It is, therefore, very important to prepare the community of users of higher order schemes for hyperbolic PDEs for this emerging opportunity. We focus on three broad and high-impact areas where higher order Godunov schemes are used. The first area is computational fluid dynamics (CFD). The second is computational magnetohydrodynamics (MHD) which has an involution constraint that has to be mimetically preserved. The third is computational electrodynamics (CED) which has involution constraints and also extremely stiff source terms. Together, these three diverse uses of higher order Godunov methodology, cover many of the most important applications areas. In all three cases, we show that the optimal use of algorithms, techniques and tricks, along with the use of OpenACC, yields superlative speedups on GPUs! As a bonus, we find a most remarkable and desirable result: some higher order schemes, with their larger operations count per zone, show better speedup than lower order schemes on GPUs. In other words, the GPU is an optimal stratagem for overcoming the higher computational complexities of higher order schemes! Several avenues for future improvement have also been identified. A scalability study is presented for a real-world application using GPUs and comparable numbers of high-end multicore CPUs. It is found that GPUs offer a substantial performance benefit over comparable number of CPUs, especially when all the methods designed in this paper are used.
翻译:GPU 计算预计将在所有现代Exascale超级计算机中扮演一个不可或缺的部分。 另外,预计Godunov 计划将占到这类超级计算机应用组合中相当大一部分。 因此,为这个新兴机会为超曲式 PDE 的更高订单计划用户群体做好准备非常重要。 我们集中关注三个广度和高影响地区, 这三个地区使用高排序的 Godunov 计划。 第一个地区是计算流体动态( CFD) 。 第二个地区是计算磁力动力(MHD), 其进化制约必须加以美化保存。 第三是计算电动力(CED), 其进化制约和极硬性源术语。 因此, 这三者对于高排序的用户来说非常重要。 在所有三个案例中, 我们显示, 最优化的算法、 技术和技巧, 以及使用Opal A+PU 的计算方法, 其最显著的进化和理想的结果是: 某些更高级的C- 系统计划, 其更具有可比较性, 使用更高级的CUPI 计算方法, 显示一个比区域更高级的计算方法。 当GPUPUPU 高的计算方法时,, 显示, 显示, 一个比其他系统更高级的更高级的进化的进化的计算方法比高的计算方法比高。