×

计算流体力学应用的生产力、性能和可移植性。 (英语) Zbl 07163727

摘要:过去十年的硬件趋势表明,高性能计算体系结构的复杂性和异构性不断增加,这给CFD应用程序的开发人员带来了三个关键挑战;需要实现良好的性能,能够通过便携性使用当前和未来的硬件,并以高效的方式这样做。在使用传统编程方法时,这三种方法似乎相互矛盾,但近年来,一些策略,如模板库和领域特定语言已成为一种潜在的解决方案;通过放弃一般性而专注于更窄范围的问题,这三种方法都可以实现。
本文概述了为CFD应用程序提供性能、可移植性和生产力的最新技术,从允许pde符号化描述的高级库到针对单个算法模式的低级技术。我们讨论了使用每种方法的优点和挑战,并回顾了性能基准文献,这些文献比较了硬件体系结构的实现及其编程方法,给出了关键应用程序及其比较性能的概述。

理学硕士:

76-XX号 流体力学
PDF格式 BibTeX公司 XML 引用
全文: 内政部 链接

参考文献:

[1] Patterson,D.,《多核问题》,IEEE Spectr,47,7,28-32(2010)
[2] 阿萨诺维奇,K。;博迪克,右。;卡坦扎罗,不列颠哥伦比亚省。;盖比斯,J.J。;丈夫,P。;Keutzer,K.,《并行计算研究的前景:来自伯克利的观点》,技术代表(2006),加州大学伯克利分校EECS系
[3] Alimirzadeh,S。;贾汉巴克什,E。;梅尔滕斯,A。;Leguizamón,S。;Avellan,F.,GPU加速三维有限体积粒子法,Comput Fluids,171,79-93(2018)·Zbl 1410.65337
[4] 迪亚兹,文学硕士。;索洛夫丘克,文学硕士。;谢国伟,高性能多GPU求解器,用于描述均质热粘性介质中的非线性声波,计算流体,173195-205(2018)·Zbl 1410.76283号
[5] 戈罗贝茨,A。;苏科夫,S。;Bogdanov,P.,在大多数类型的混合超级计算机上模拟可压缩湍流的多级并行化,Comput Fluids,173171-177(2018)·Zbl 1410.76229
[6] 任,F。;宋,B。;张,Y。;Hu,H.,基于格子Boltzmann方法的湍流和标量输运的GPU加速解算器,Comput Fluids,173,29-36(2018)·Zbl 1410.76047
[7] 刘,R.K.-S。;吴,C.-T。;北卡罗来纳州高。;谢,T.W.-H。,改进的混合拉格朗日-欧拉法(IMLE)在多GPU上用CUDA编程模拟不可压缩Navier-Stokes流,Comput Fluids,18499-106(2019)·Zbl 1411.76103
[8] 李,Y.-H。;黄,L.-M。;邹玉玺。;黄,S.-C。;林,C.-A。,GPU集群上用格子Boltzmann方法模拟湍流管道流动,Comput Fluids,168,14-20(2018)·兹布1390.76736
[9] 桥本,T。;安田,T。;塔诺,I。;田中市。;森西,K。;Satofuka,N.,使用运动简化局部navier-Stokes方程的非定常不可压缩流的多GPU并行计算,Comput Fluids,167215-220(2018)·Zbl 1390.76571
[10] 北卡罗来纳州高。;谢,T.W.-H。,在多个GPU卡上求解三维不可压缩Navier-Stokes解的有限元流解算器的开发,Comput Fluids,167285-291(2018)·Zbl 1390.76327
[11] 辛格,J.P。;《自动并行化的有效性和局限性的实证研究》,共享内存多处理,203-207(1992)
[12] Wong M.,Richards A.,Rovatsou M.,Reyes R.Khronos的OpenCL SYCL支持C++的异构设备。2016
[13] 卢比。;Vandierendonck,H。;D'Haene,J。;De Bosschere,K.,OpenCL内核性能可移植性的实验研究,2010年高性能计算应用加速器研讨会(SAAHPC'10)(2010)
[14] 小松,K。;佐藤,K。;阿拉伊,Y。;小山,K。;Takizawa,H。;Kobayashi,H.,评估OpenCL程序的性能和可移植性,第五届自动性能调整国际研讨会,66,1(2010)
[15] 彭尼库克,新泽西州。;南卡罗来纳州哈蒙德。;赖特,S.A。;赫尔曼,J。;米勒,I。;Jarvis,S.A.,OpenCL性能可移植性调查,J Parallel Distrib Comput,73,11,1439-1450(2013)
[16] 其官方消息:极光有望在2021年成为美国第一台Exascale电脑。https://www.hpcwire.com/2019/03/18/its-officer-aurora-on-track-to-be-first-u-s-exascale-computer-in-2021/。
[17] 何,Q。;陈,H。;Feng,J.,使用图形处理单元加速基于OpenFOAM的MHD解算器,Fusion Eng Design,10188-93(2015)
[18] 马列查,Z。;米罗斯啊,啊。;托姆查克。;科扎,Z。;马特卡,M。;Tarnawski,W.,基于GPU的腹主动脉三维血流模拟,Arch Mech,63,2,137-161(2011)·Zbl 1301.76086号
[19] Heroux,文学硕士。;巴特利特,R.A。;吼叫,V.E。;霍克斯特拉,R.J。;胡俊杰。;Kolda,T.G.,Trilinos项目概述,ACM Trans Math Softw(TOMS),31,3397-423(2005)·Zbl 1136.65354号
[20] Hoemmen,M.F.,Trilinos线性代数和解算器中当前线程并行化工作的总结。,技术代表(2017年),桑迪亚国家实验室(SNL-NM),新墨西哥州阿尔伯克基(美国)
[21] Balay S.,Abhyankar S.,Adams M.F.,Brown J.,Brune P.,Buschelman K.等,PETSc网页。2019http://www.mcs.anl.gov/petsc; http://www.mcs.anl.gov/petsc。
[22] 安德森E。;白,Z。;比肖夫,C。;布莱克福德,S。;德梅尔,J。;Dongarra,J.,LAPACK用户指南(1999年),工业与应用数学学会:费城工业与应用数学学会·Zbl 0934.65030
[23] 洛杉矶布莱克福德。;崔,J。;克利里,A。;阿泽维多,E。;德梅尔,J。;Dhillon,I.,ScaLAPACK用户指南(1997),工业和应用数学学会:宾夕法尼亚州费城工业和应用数学学会·Zbl 0886.65022
[24] 布塔里,A。;朗古,J。;库扎克,J。;Dongarra,J.,一类用于多核架构的并行分片线性代数算法,并行计算,35,1,38-53(2009)
[25] 托莫夫,S。;东加拉,J。;Baboulin,M.,面向混合GPU加速多核系统的稠密线性代数,并行计算,36,5-6,232-240(2010)·Zbl 1204.68268号
[26] 桑德森,C。;Curtin,R.,Armadillo:线性代数的基于模板的C++库,开源软件杂志,1,2,26(2016)
[27] Guennebaud G.,Jacob B.,et al.Eigen v3.2010年。http://eigen.tuxfamily.org。
[28] 戴维斯·T·海格·W·达夫·I·西装帕斯。2014http://faculty.cse.tamu.edu/davis/suitesparse.html。
[29] 法尔古特,R.D。;琼斯,J.E。;杨玉梅,高性能并行预处理程序库的设计与实现,偏微分方程在并行计算机上的数值求解,267-294(2006),施普林格·Zbl 1097.65059
[30] Notay,Y.,一种基于聚合的代数多重网格方法,电子传输数字分析,37,6,123-146(2010)·Zbl 1206.65133
[31] 诺莫夫,M。;阿萨耶夫,M。;卡斯顿圭,P。;科恩,J。;德茅斯,J。;Eaton,J.,AmgX:GPU加速代数多重网格和预处理迭代方法的库,暹罗科学院计算机,37,5,S602-S626(2015)·Zbl 1325.65065
[32] Gupta,A.,WSMP:Watson稀疏矩阵包(第一部分:对称稀疏系统的直接解决方案),技术代表RC 21886(2000),IBM TJ Watson研究中心,约克敦高地,纽约
[33] 李X,S.,《SuperLU概述:算法、实现和用户界面》,ACM Trans Math Softw,31,3,302-325(2005)·Zbl 1136.65312
[34] 赫农,P。;分株,P。;Roman,J.,PaStiX:稀疏对称定系统的高性能并行直接求解器,并行计算,28,2301-321(2002)·Zbl 0984.68208
[35] 阿梅斯泰,中华人民共和国。;达夫,I.S。;太好了,J.-Y。;Koster,J.,《流行性腮腺炎:通用分布式内存稀疏解算器》,应用并行计算国际研讨会,121-130(2000),Springer
[36] 罗嘉文,P.,《DSCPACK:解稀疏线性系统的域分隔码》,技术代表(2002),技术代表CSE-02-004。计算机科学与工程系。。。
[37] 佐治亚州。;弗杜克,R。;Li,X.S.,分布式CPU-GPU稀疏直接求解器,(Silva,F.;Dutra,I.;Santos Costa,V.,Euro par 2014并行处理(2014),Springer International Publishing:Springer International Publishing Cham),487-498
[38] https://hal.inria.fr/hal-00700066。
[39] 普劳格,P。;李,M。;穆瑟,D。;Stepanov,A.A.,C++标准模板库(2000),Prentice Hall PTR:Prentice Hall PTR Upper Saddle River,NJ,USA
[40] Schling,B.,boost C++库(2011),XML出版社
[41] Kaiser H.,Lelbach B.A.,Heller T.,BergéA.,Simberg M.,Biddiscombe J.等,STEllAR GROUP/hpx:hpx V1.2.1:C++并行和并发标准库。2019https://doi.org/10.5281/zenodo.2573213。
[42] 领域特定语言和高性能计算的高级框架。doi:10.1016/j.jpdc.2014.07.003。
[43] 霍农,R。;琼斯,H。;凯斯勒,J。;尼利,R。;皮尔斯,O。;Hammond,S.,ASC Tri lab Co design Level 2 Milestone Report 2015,技术代表(2015),劳伦斯·利弗莫尔国家实验室(LLNL),加利福尼亚州利弗莫尔(美国)
[44] 霍博洛克J.,贝尔·N.《推力:并行模板库》。2010http://code.google.com/p/stress/。
[45] 恩梅伦,J。;Kessler,C.W.,SkePU:多GPU系统的多后端骨架编程库,第四届高级并行编程与应用国际研讨会论文集,HLPP'10,5-14(2010),ACM:美国纽约ACM
[46] doi:10.1002/9781119332015.ch13。
[47] 恩斯特,S。;Kuchen,H.,多核、多GPU系统和集群的算法框架,Int J高性能计算机网络,7,2,129-138(2012)
[48] 斯特沃,M。;凯格尔,P。;Gorlatch,S.,SkelCL-用于高级GPU编程的便携式骨架库,2011 IEEE并行和分布式处理研讨会国际研讨会和博士论坛,1176-1182(2011)
[49] 查克拉瓦蒂,医学硕士。;凯勒,G。;李,S。;麦克唐纳,T.L。;Grover,V.,用多核GPU加速Haskell数组代码,DAMP'11:多核编程声明性方面的第六次研讨会(2011),ACM
[50] 凯勒,G。;查克拉瓦蒂,医学硕士。;莱什钦斯基,R。;佩顿琼斯,S。;Lippmeier,B.,Regular,shape polymorphic,parallel arrays in haskell,SIGPLAN Not,45,9,261-272(2010年)·Zbl 1323.68127号
[51] Ruiz A.。hmatrix简介。2012
[52] 德维托,Z。;乔伯特,N。;帕拉西奥斯,F。;奥克利,S。;麦地那,M。;Barrientos,M.,李斯特:构建基于便携式网格的PDE解算器的特定领域语言,2011年高性能计算、网络、存储和分析国际会议论文集,9(2011),ACM
[53] 伯恩斯坦,G.L。;沙阿,C。;莱米尔,C。;德维托,Z。;费希尔,M。;Levis,P.,Ebb:a DSL for physical simulation on CPU and GPU,ACM Trans Graph,35,2(2016年),21:1-21:12
[54] 伯爵,C。;可能,M。;巴古塞蒂,A。;Sutherland,J.C.,Nebo:用于数值求解偏微分方程的高效、并行和可移植领域专用语言,J Syst Softw,125389-400(2017)
[55] 拉根·凯利,J。;巴恩斯,C。;亚当斯,A。;巴黎南部。;杜兰德,F。;Amarasinghe,S.,卤化物:用于优化图像处理管道中并行性、局部性和重新计算的语言和编译器,第34届ACM SIGPLAN编程语言设计与实现会议论文集,PLDI'13519-530(2013),ACM:ACM纽约,美国
[56] 莫斯塔法扎德,B。;马蒂,F。;刘,F。;Chandramowlishwaran,A.,《用于多核性能的多模板CFD求解器的屋顶线引导设计和分析》,2018 IEEE国际并行和分布式处理研讨会(IPDPS),753-762(2018)
[57] 尤恩特,C。;托宾,J。;布鲁尔,A。;Duran,A.,Yaskyet another stencil kernel:A framework for HPC stencil code generation and tuning,2016年第六届高性能计算领域特定语言和高级框架国际研讨会(WOLFHPC),30-39(2016年)
[58] http://dl.acm.org/citation.cfm?id=2867549.2868136。
[59] e4062 e4062氯化聚乙烯。4062 doi:10.1002/cpe.4062。
[60] 赵,T。;威廉姆斯,S。;霍尔,M。;Johansen,H.,使用砖块在CPU和GPU上进行性能便携式模板计算,2018 IEEE/ACM HPC性能、可移植性和生产力国际研讨会(P3HPC),59-70(2018)
[61] Mudalige,G.R。;贾尔斯,工商管理硕士。;通常,我。;伯托利,C。;Kelly,P.H.J.,OP2:一个用于解决基于多核和多核架构的非结构化网格应用的主动库框架,2012创新并行计算(InPar),1-12(2012)
[62] Rathgeber,F。;马考尔,G.R。;米切尔,L。;洛里昂,N。;哈姆,D.A。;Bertolli,C.,PyOP2:非结构网格上性能便携模拟的高级框架,2012 SC companion:高性能计算、网络存储和分析,1116-1123(2012),IEEE
[63] 因特拉多纳,P。;利奥,A。;扎鲁日尼。;拉马斯瓦米,R。;Sbalzarini,I.F.,OpenFPM:并行计算机上粒子和粒子网格代码的可扩展开放框架,Comput Phys Commun,241155-177(2019年)
[64] http://superfri.org/superfri/article/view/17。
〔65〕 PSyclone项目。2018http://psyclone.readthedocs.io/。
[66] 巴尔达夫,M。;塞弗特,A。;Förstner,J。;马约夫斯基,D。;Raschendorfer,M。;Reinhardt,T.,《使用COSMO模式进行对流尺度数值天气预报:描述和敏感性》,Mon weather Rev,139,12,3887-3905(2011)
[67] 克莱门特,V。;费拉查特,S。;元首,O。;拉皮隆,X。;奥斯纳,哥伦比亚特区。;Pincus,R.,The CLAW DSL:性能便携式天气和气候模型摘要,高级科学计算平台会议论文集,PASC'18(2018),ACM:ACM纽约,美国,2:1-2:10
[68] 第五条。;马蒂,P。;元首,O。;Sawyer,W.,GPU和CPU上的性能可移植性图标全球气候模型,EGU大会摘要。EGU大会摘要,EGU大会会议摘要,2013435(2018)
〔69〕 阿尔尼斯,理学硕士。;布莱赫塔,J。;哈克,J。;约翰逊,A。;基勒,B。;Logg,A.,FEniCS项目1.5版,Arch Numer Softw,3100(2015年)
[70] Rathgeber,F。;哈姆,D.A。;米切尔,L。;兰格,M。;卢波里尼,F。;Mcrae,A.T.T.,Firedrake:通过编写摘要自动化有限元方法,ACM Trans Math Softw,43,3(2016),24:1-24:27·Zbl 1396.65144
[71] 伦高,C。;阿佩尔。;博尔顿,M。;格伦杰,A。;汉尼格,F。;Köstler,H.,Exatencils:高级模具代码工程,(Lopes,L.;Žilinskas,J.;Costan,A.;Cascella,R.G.;Kecskemeti,G.;Jeannot,E.;等,Euro par 2014:并行处理研讨会(2014),Springer International Publishing:Springer International Publishing Cham),553-564
[72] 马西娅。;马特奥,S。;马丁内斯费雷尔,新泽西州。;贝尔特兰,V。;米拉,D。;Ayguadé,E.,Saiph:迈向高性能计算流体力学的DSL,2018年真实世界领域特定语言研讨会论文集,RWDSL2018(2018),ACM:ACM,纽约,美国,6:1-6:10
[73] 溜冰场,北卡罗来纳州。;惠斯曼,I。;苏松吉,A。;卡斯特里隆,J。;斯蒂勒,J。;Fröhlich,J.,Cfdlang:流体动力学中高阶方法的高级代码生成,2018年真实世界领域特定语言研讨会论文集,RWDSL2018(2018),ACM:ACM纽约,美国,5:1-5:10
[74] 巴斯蒂安,P。;布拉特,M。;德德纳,A。;工程师C。;克尔夫科恩,R。;Ohlberger,M.,用于并行和自适应科学计算的通用网格接口。第一部分:抽象框架,计算,822103-119(2008)·Zbl 1151.65089
[75] 卢舍,D.J。;杰米,S.P。;Sandham,N.D.,自动源代码生成框架中的激波/边界层相互作用OpenSBLI,Comput Fluids,173,17-21(2018)·Zbl 1410.76299
[76] 兰格,M。;北卡罗来纳州库克里亚。;卢布托,M。;卢波里尼,F。;维埃拉,F。;Pandolfo,V.,Devito:走向使用符号python的通用有限差分DSL,2016年第6期python高性能和科学计算研讨会(PyHPC),67-75(2016年)
[77] 威廉姆斯,S。;沃特曼,A。;Patterson,D.,Roofline:浮点程序和多核架构的一个有洞察力的视觉性能模型,技术代表(2009),劳伦斯伯克利国家实验室(LBNL),加州伯克利(美国)
[78] 彭尼库克,新泽西州。;塞沃尔,J.D。;Lee,V.W.,性能可移植性指标的含义,未来通用计算机系统,92947-958(2017)
[79] 哈雷尔,S.L。;基特森,J。;鸟,右。;彭尼库克,新泽西州。;西沃尔,J。;Jacobsen,D.,有效性能可移植性,2018 IEEE/ACM HPC(P3HPC)性能、可移植性和生产力国际研讨会,24-36(2018)
[80] 英特尔。代码库调查员。https://github.com/intel/code-base-investigator。
[81] McIntosh Smith,S.,《跨不同计算机体系结构的性能可移植性》,P3MA:4届多核或加速器性能便携编程模型国际研讨会(2019年)
[82] 通常,I.Z。;Mudalige,G.R。;Giles,M.B.,《运行时大规模模板代码中的循环平铺》,IEEE Trans Parallel Distrib系统,29,4873-886(2018)
[83] 锡克洛西,B。;通常,I.Z。;Mudalige,G.R.,模板应用程序的异构CPU-GPU执行,2018 IEEE/ACM HPC性能、可移植性和生产力国际研讨会(P3HPC),71-80(2018)
[84] 法律,T.R。;基维斯,R。;鲍威尔,S。;迪克森,J。;马赫斯瓦兰S。;赫尔曼,J.A。;Jarvis,S.A.,非结构流体力学微型应用的性能可移植性,2018 IEEE/ACM HPC性能、可移植性和生产力国际研讨会(P3HPC),0-12(2018)
[85] 柯克,R.O。;Mudalige,G.R。;通常,I.Z。;赖特,S.A。;马蒂诺,M.J。;Jarvis,S.A.,《在现代多核系统上实现热传导求解器微型应用的性能可移植性》,2017 IEEE集群计算国际会议(集群),834-841(2017)
[86] Sudheer Chunduri,S.P。;Rahman,R.,Nekbone性能可移植性,2017 DOE COE性能可移植性会议(2017)
[87] Ferenbaugh,C.R.,PENNANT mini应用程序中的粗线程与细线程,2016年DOE COE性能可移植性会议(2016年)
[88] 布鲁尼尼,V。;克劳森,J。;霍曼,M。;库卡拉,A。;菲利普斯,M。;Trott,C.,性能便携式SIERRA/aria的进展,2019年DOE性能、便携性和生产力年会(2019年)
[89] Stan Moore,A.S.,使用Kokkos在斯巴达获得线程性能可移植性,2019年DOE性能、可移植性和生产力年会(2019年)
[90] 沃特金斯,J。;特佐,I。;Demeshko,I.,Albany Land Ice solver有限元装配过程性能可移植性研究,2019年DOE性能、可移植性和生产力年会(2019年)
[91] Howard,M.,《SPARC sandias高超音速CFD代码下一代平台的性能可移植性》,2017年DOE COE性能可移植性会议(2017年)
[92] 霍华德,M。;费希尔,T.C。;霍曼,医学博士。;丁兹,D.J。;感觉过度,J.R。;布拉德利,A.M.,《在下一代高性能计算平台上对大规模计算流体动力学(CFD)采用多层次并行性。,第十届计算流体力学国际会议(ICCFD10)(2018)
[93] 霍尔曼,J.K。;汉弗莱,A。;桑德兰,D。;Berzins,M.,通过使用基于Kokkos的便携式数据并行任务提高uintah的可扩展性,《2017年高级研究计算实践与经验》关于可持续性、成功和影响的论文集,27(2017),ACM
[94] 帕迪奥罗,T。;特雷姆林,P。;审计,E。;凯斯特纳,P。;Kokh,S.,一个高性能和便携式的全马赫区流动求解器代码,具有良好的重力平衡。可压缩对流的应用,天体物理学杂志,875,22128(2019)
[95] 普雷兹,F.E.H。;北穆哈迪耶夫。;徐,X。;母猪,A。;李,B.J。;Sankaran,R.,使用许多堆芯/GPU加速对化学反应流进行直接数值模拟,Comput Fluids,173,73-79(2018)·Zbl 1410.76466
[96] David Beckingsale Johann Dahm,P.W.,将SAMRAI移植到sierra,2019年DOE性能、便携性和生产力年会(2019年)
[97] Pearce,O.,探索多物理模拟中异构体系结构的利用选项,并行计算,87,35-45(2019)
[98] 穆达利奇,G。;通常,我。;杰米,S。;雅各布斯,C。;吉尔斯,M。;Sandham,N.,直接数值模拟中基于DSL的多块结构网格应用的大规模性能,J Parallel Distrib Comput,131130-146(2019)
[99] 通常,I.Z。;贾尔斯,D。;戈皮纳坦,D。;奎维,L。;贝克,J.H。;Giles,M.B.,VOLNA-OP2海啸代码(1.5版),Geosci模型开发,11,11,4621-4635(2018)
[100] 通常,I.Z。;Mudalige,G.R。;伯托利,C。;贾尔斯,工商管理硕士。;贝茨,A。;Kelly,P.H.J.,用OP2加速全尺寸工业CFD应用,IEEE Trans Parallel Distrib System,27,5,1265-1278(2016)
[101] Mudalige,G.R。;通常,I.Z。;Giles,M.B.,自动矢量化大规模生产非结构网格CFD应用,第三届SIMD/矢量处理编程模型研讨会论文集,WPMVP'16(2016),ACM:ACM,纽约,美国,5:1-5:8
[102] 杜鲁比,D。;赖特,S。;基维斯,R。;马赫斯瓦兰S。;牧人,A。;Jarvis,S.,BookLeaf:非结构流体力学微型应用,2018 IEEE集群计算国际会议(集群),615-622(2018)
[103] TeaLeaf:英国小型应用程序联盟。2015https://github.com/UK-MAC/TeaLeaf。
[104] Daley,C.,通过微观基准评估OpenMP在GPU上的性能,2019年DOE性能、可移植性和生产力年会(2019年)
[105] OP-DSL:牛津并行领域专用语言。2015https://op-dsl.github.io。
此参考列表基于出版商或数字数学图书馆提供的信息。它的项被试探性地匹配到zbMATH标识符,并且可能包含数据转换错误。它试图尽可能准确地反映原始论文中列出的参考文献,而不要求匹配的完整性或精确性。