×

使用转置前向模式算法微分的可并行伴随模板计算。 (英语) Zbl 1401.65163号

摘要:算法微分(AD)是一种生成离散伴随解算器的工具,它可以有效地计算具有多个输入的函数的梯度,例如用于基于梯度的优化。AD通常应用于大型计算,例如模板操作符,它是大多数结构化网格PDE解算器的重要组成部分。模具计算通常是并行化的,例如使用OpenMP,并通过使用缓存块和平铺等技术进行优化,以充分利用多核CPU和多核加速器和GPU。将这些代码与传统的反向模式AD进行区分会产生无法表示为模板操作且可能不容易并行化的伴随代码。因此,它们没有使用现代架构的大部分计算能力。我们提出了一种结合前向模AD和循环变换的方法来生成伴随求解器,这些伴随求解器使用与原始计算相同的内存访问模式,并且可以从相同的优化技术中受益。通过为多核CPU和Xeon Phi加速器生成可缩放的伴随CFD解算器,验证了该方法的有效性。

MSC公司:

2005年5月 并行数值计算
68N20型 编译与解释理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 机器学习中的自动微分:综述,预印本(2015)。可从arXiv获取:1502.05767
[2] 比肖夫,C。;A.卡尔。;Corliss,G。;Griewank,A。;霍夫兰,P。,ADIFOR–从Fortran程序生成派生代码,科学。程序。,1, 11-29, (1992)
[3] 计算金融的自动微分决策、经济学和金融学中的计算方法马萨诸塞州斯普林格波士顿市2002297310
[4] 千核芯片:技术视角第44届设计自动化年会会议记录,DAC 2007,加利福尼亚州圣地亚哥,ACM,美国纽约州纽约市,2007746749
[5] 将自动差异化和OpenMP结合在一起第十五届超级计算国际会议记录,ICS 2001,意大利索伦托,ACM,美国纽约州纽约市,2001246251
[6] OpenMP中用于并行自动微分的显式循环调度高性能计算系统和应用年度国际研讨会加拿大新南威尔士州蒙克顿,162002121126
[7] 一类涉及嵌套并行的openmp应用程序2004年ACM应用计算研讨会论文集塞浦路斯尼科西亚,2004220224
[8] 克里斯塔科普洛斯,F。;琼斯,D。;穆勒,J.D。,自动微分CFD代码的伪时间步进和验证,计算。流体,46,174-179,(2011)·Zbl 1433.76129号 ·doi:10.1016/j.compfluid.2011.01.039
[9] PATUS:现代微体系结构上并行迭代模板计算的代码生成和自动调整框架IEEE国际并行和分布式处理研讨会(IPDPS)会议记录,安克雷奇,阿拉斯加州,美国
[10] 达贡,L。;R.伊农。,openmp:用于共享内存编程的行业标准API,计算。科学。工程师,5,46-55,(1998)·数字对象标识代码:10.1109/99.660313
[11] Liszt:用于构建基于网格的可移植PDE解算器的领域特定语言2011年高性能计算、网络、存储和分析国际会议论文集,SC'11,ACM,美国纽约州纽约市,20119:12:12
[12] ICT能源消耗——趋势和挑战第十一届无线个人多媒体通信国际研讨会论文集芬兰拉普兰,22008
[13] 编译码定义的并行区域的算法区分:区分包含OpenMP的计算机程序博士学位。,亚琛RWTH,2014·Zbl 1304.65002号
[14] 朝向伴随OpenMP,技术代表AIB-2011-13,RWTH Aachen,计算工程软件和工具,2011
[15] 大型对称多处理器上openmp构造的性能特征和应用程序基准第17届超级计算国际年会论文集,加利福尼亚州旧金山,美国
[16] NASA/GMAO Fortran 90全球天气预报模型的切线线性和伴随版本自动区分:应用、理论和实现施普林格柏林,海德堡2006275284·Zbl 1270.86002号
[17] CFD中的伴随方程——对偶性、边界条件和解的性质第13届计算流体动力学会议,美国航空航天研究所,美国科罗拉多州雪马村,19972015/05/03M
[18] GPU的混合六边形/经典瓷砖IEEE/ACM年度代码生成与优化国际研讨会论文集,CGO’14,ACM,美国纽约州纽约市,201466:6666:75
[19] 用于短向量SIMD体系结构的模板编译器第27届ACM国际超级计算会议记录,ICS’13,ACM,美国纽约州纽约市,20131324
[20] 并行程序的自动区分,博士学位。,伊利诺伊大学香槟分校,1997年
[21] Hückelheim,J。;霍夫兰,P.D。;斯特劳特,M.M。;穆勒,J.D。,openmp并行可压缩流动求解器的反模式算法微分《国际期刊》,《高性能计算》。申请。,(2017) ·数字对象标识代码:10.1177/1094342017712060
[22] Hückelheim,J.C。;哈斯科·L。;穆勒,J.D。,具有多个上下文特定活动的代码的算法区分,ACM变速器。数学。软质。,43, 35:1-35:21, (2017) ·Zbl 1380.65051号 ·数字对象标识代码:10.1145/3015464
[23] Löhner,R。;J.D.鲍姆。,使用工业/遗留代码处理成千上万个内核:方法、实现和时间安排,计算。流体,85,53-62,(2013)·Zbl 1290.76006号 ·doi:10.1016/j.compfluid.2012.09.030
[24] 穆勒,J.D。;P.库斯丁。,关于离散伴随CFD代码的自动微分性能,《国际期刊数字》。《液体方法》,47939-945,(2005)·Zbl 1134.76431号 ·doi:10.1002/fld.885
[25] 证明伴随消息传递程序正确性的框架关于并行虚拟机和消息传递接口最新进展的第15届欧洲PVM/MPI用户小组会议记录,爱尔兰都柏林,施普林格-维拉柏林,海德堡2008316321
[26] Halide:一种语言和编译器,用于优化图像处理管道中的并行性、局部性和重新计算第34届ACM SIGPLAN编程语言设计与实现会议记录,PLDI’13,ACM,美国纽约州纽约市,2013519530
[27] 罗斯,体育。,为什么CPU频率停滞,IEEE规范。,45, 72-72, (2008) ·doi:10.1109/MSPEC.2008.4476447
[28] Schanen,M。;美国诺曼。;哈斯科·L。;Utke,J。,基于MPI的数值模拟代码解释伴随,Procedia Compute。科学。,1, 1825-1833, (2010) ·doi:10.1016/j.procs.2010.04.204
[29] 邻接混合并行码第八届工程计算技术国际会议论文集,100Kippen,斯特灵郡,201218
[30] 在intelxeonphi上评估openmp程序的性能2013年Euro-Par并行处理德国亚琛斯普林格2013547558
[31] pochoir模板编译器第23届ACM算法和体系结构并行性研讨会论文集2011年11月,美国纽约州纽约市ACM,SPAA’11
[32] 托瓦拉,M。;Schanen,M。;美国诺曼。,MPI–并行离散伴随openfoam,Procedia Compute。科学。,51, 19-28, (2015) ·doi:10.1016/j.procs.2015.05.181
[33] 一个可扩展的模板制作框架,英寸2014年模具计算研讨会, 2014
[34] 朝向相邻MPIIEEE并行和分布式处理国际研讨会,2009年。2009年IPDPS,意大利罗马,200918
[35] Verstraete,T。;科尔蒂,F。;布勒,J。;Vanderwielen,T。;艺术,T。,内部冷却通道中最小压力损失的U型弯管优化,第一部分:数值方法、J.Turbomach.、。,135, (2013) ·数字对象标识代码:10.1115/1.4023030
[36] 内冷通道U形弯管的伴随优化2015年ASME涡轮博览会:涡轮技术会议和展览会加拿大蒙特利尔,2015V05AT11A029V05AT111A029
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。