×

将大型Fortran CFD代码半自动移植到GPU。 (英语) Zbl 1245.76003号

概述:介绍了将FEFLO(一种在非结构化网格上运行的通用遗留CFD代码)的很大一部分移植到GPU上的自动化技术的发展。FEFLO是一种用于求解可压缩和不可压缩流的典型自适应、基于边缘的有限元代码,主要用Fortran 77编写,以前已移植到向量机、共享内存并行机和分布式内存并行机。由于FEFLO的规模很大,移植过程中可能出现人为错误,并且希望在单个代码库中继续开发,因此编写了一个基于FParser的专用Python脚本,以执行从OpenMP并行化的边缘和点循环到CUDA中实现的GPU内核的自动转换,以及GPU内存管理。验证基准和性能的结果表明,这种翻译器的性能可以与专家重写的代码相媲美。这种方法应该引起普遍关注,因为对于许多所谓的遗留代码,目前正在考虑如何最好地在GPU上运行。

MSC公司:

76-04 流体力学相关问题的软件、源代码等
68单位10 图像处理的计算方法
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] NVIDIA公司2010
[2] NVIDIA Corporation Fermi Compute Architecture白皮书2009
[3] Khronos OpenCL工作组OpenCL规范:版本1.0 rev.48 2009
[4] Owens,图形硬件通用计算综述,计算机图形论坛26第80页–(2007)·文件编号:10.1111/j.1467-8659.2007.01012.x
[5] Brandvik,使用商品图形硬件加速二维Euler流解算器,机械工程师学会学报,C部分:机械工程科学杂志221第1745页–(2007)·doi:10.1243/09544062JMES813FT
[6] Brandvik T Pullan G使用商品图形硬件加速三维欧拉解算器
[7] Brandvik T Pullan G涡轮机械流动的加速三维Navier-Stokes解算器
[8] Göddeke D Buijssen SHM Wobker H Turek S GPU未修改并行有限元Navier-Stokes解算器的加速度2009 12 21
[9] LeGresley,使用GPU对高超声速飞行器的绕流进行大型计算,计算物理杂志227页10148–(2008)·Zbl 1218.76035号 ·doi:10.1016/j.jcp.2008.08.023
[10] Cohen JM Molemaker MJ使用CUDA 2009的快速双精度CFD代码
[11] Phillips EH Zhang Y Davis RL Owens JD图形处理单元集群的快速空气动力学性能预测
[12] 用于不可压缩流的多GPU桌面平台上Navier-Stokes解算器的Thibault J Senocak I CUDA实现
[13] Jacobsen D Thibault J Senocak I多GPU集群上大规模并行不可压缩流计算的MPI-CUDA实现
[14] Antoniou AS Karantasis KI Polychronopoulos ED Ekaterinaris JA有限差分WENO格式加速多核架构大规模仿真
[15] 2009年GPU CFD代码的Jespersen DC加速
[16] Patnaik G Obenschain KS在HPC应用程序上使用GPU以满足低功耗计算要求
[17] Klöckner,图形处理器上的节点非连续Galerkin方法,计算物理杂志228页7863–(2009)·Zbl 1175.65111号 ·doi:10.1016/j.jcp.2009.06.041
[18] Markall GR Ham DA Kelly PHJ致力于从高级规范中为GPU生成优化的有限元解算器
[19] Corrigan,在现代图形硬件上运行基于非结构化网格的CFD解算器,《流体数值方法国际期刊》(2010年)·Zbl 1394.76084号
[20] Dahm JPS Fidkowski KJ 2009年http://www.johanndahm.com/research.php
[21] Asouti,使用图形处理单元上非结构化网格的顶点中心有限体积进行非定常CFD计算,国际流体数值方法杂志(2010年)·Zbl 1269.76072号
[22] 坎波利斯,基于CFD的分析和图形处理单元的两级空气动力学优化,《应用力学与工程中的计算机方法》199(9-12),第712页–(2010)·Zbl 1227.76056号 ·doi:10.1016/j.cma.2009.11.001
[23] Ramamurti,超音速射流及其近场声学特性的大涡模拟,AIAA Journal 8(47)pp 1849–(2009)
[24] Löhner R Goldberg E Baum JD Luo H Feldhun非结构化自适应运动体方法在F-16 C/D战斗机油箱分离仿真中的应用
[25] Löhner R Yang C Pelessone D Baum JD Luo H Charman C A与卡车激波相互作用的耦合流体/结构建模·Zbl 0875.73165号
[26] Mestreau E Löhner R Pelessone D Baum JD Luo H Charman C A耦合CFD/SD方法用于武器爆炸和碎裂建模
[27] 杨,使用非结构化网格模拟具有剧烈自由表面运动和移动物体的流动,《国际工程数值方法杂志》53 pp 1315–(2007)·Zbl 1108.76056号 ·doi:10.1002/fld.1244
[28] Camelli Föhner R Vles对异质城市地区水流和扩散模式的研究
[29] Löhner R,Putman,使用自适应嵌入式非结构化网格的支架颅内动脉瘤的计算流体动力学,国际流体数值方法杂志5(57)第475页–(2008)·Zbl 1198.76058号
[30] 1991年欧拉方程的Mavrilis D三维非结构化多重网格
[31] Peraire J Peiro J Morgan K欧拉方程的三维有限元多重网格求解器·兹比尔0771.76042
[32] 考希克,超级计算1999(1999)
[33] Becker,Megaflow:并行完整飞机cfd,parallel Computing 27 pp 415–(2001)·Zbl 0971.68192号 ·doi:10.1016/S0167-8191(00)00068-5
[34] 伊藤,《利用非结构化网格cfd进行真实流动模拟的一些挑战》,《国际工程数值方法杂志》43,第769页–(2008)·Zbl 1032.76620号
[35] Corrigan A Camelli Föhner R Mut F将基于边缘的CFD解算器移植到GPU
[36] Bell,SC’09:高性能计算网络、存储和分析会议记录第1页–(2009)·数字对象标识代码:10.1145/1654059.1654078
[37] NVIDIA公司2010
[38] Hoberock J Bell N推力:并行模板库2009
[39] Peterson,F2PY:连接Fortran和Python程序的工具,国际计算科学与工程杂志4,第296页–(2009)·doi:10.1504/IJCSE.2009.029165
[40] 2009年波特兰集团PGI Fortran&C加速器编程模型
[41] Lee S Min SJ Eigenmann R OpenMP到GPGPU:用于自动翻译和优化的编译器框架
[42] Govett M 2009年
[43] Löhner,《应用CFD技术》(2008)
[44] Löhner,在共享内存、基于缓存的并行机上运行的非结构化网格解算器的重新编号策略,《应用力学和工程中的计算机方法》163,第95页–(1998)·Zbl 0960.76075号 ·doi:10.1016/S0045-7825(98)00005-X
[45] Ramamurti,使用非结构化网格的并行隐式不可压缩流求解器,《计算机与流体》5,第119页–(1996)·Zbl 0866.76046号 ·doi:10.1016/0045-7930(95)00032-1
[46] Cuthill E McKee J减少稀疏对称矩阵的带宽151 172
[47] Löhner,Euler和Navier-Stokes方程的有限元通量修正输运(FEM-FCT),流体数值方法国际期刊7(10)第1093页–(1987)·Zbl 0633.76070号 ·doi:10.1002/fld.1650071007
[48] Luo,Euler方程的基于边的有限元格式,AIAA期刊32(6)pp 1183–(1994)·Zbl 0810.76037号 ·数字对象标识代码:10.2514/3.12118
[49] Cebral,《提高投影型不可压缩流动求解器的速度和精度》,《应用力学与工程中的计算机方法》23-24(195),第3087页–(2006)·Zbl 1176.76071号
[50] Corrigan A Camelli FE Löhner R Wallin J在现代图形硬件上运行基于非结构化网格的CFD解算器·Zbl 1394.76084号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。