×

在多个GPU平台上自动翻译和加速求解微分方程。 (英语) Zbl 07796652号

摘要:我们展示了一种高性能的供应商识别方法,用于在GPU上大规模并行求解常微分方程(ODE)和随机微分方程(SDE)的集合。该方法与广泛使用的高级语言微分方程求解器库(Julia’s DifferentialEquations.jl)集成,并在不需要用户更改代码的情况下实现GPU加速。与手动优化的CUDA-C++内核相比,我们的方法实现了最先进的性能,同时比矢量化映射快20–100倍(vmap(虚拟机应用程序))在JAX和PyTorch中实现的方法。NVIDIA、AMD、Intel和Apple GPU的性能评估显示了性能可移植性和供应商认知。我们展示了与MPI的可组合性,以支持分布式多GPU工作流。所实现的解算器功能齐全,支持事件处理、自动区分和通过GPU的纹理内存合并数据集,允许科学家在所有主要当前架构上利用GPU加速,而不会更改其模型代码,也不会损失性能。我们以开源库的形式发布软件,差异设备GPU.jl.

MSC公司:

65-XX岁 数值分析
68倍 计算机科学
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Tarantola,A.,模型参数估计的反问题理论和方法(2005),SIAM:SIAM Philadelphia·Zbl 1074.65013号
[2] 库恩,C。;威林,C。;Kühn,A。;Klipp,E。;Panopoulou,G。;Lehrach,H。;Poustka,A.J.,海胆内胚层网络ODE模型的蒙特卡罗分析。BMC系统。生物学,83(2009)
[3] 圣马力诺。;霍格,I.B。;Ray,C.J。;Kirschner,D.E.,系统生物学中执行全局不确定性和敏感性分析的方法。J.理论。《生物学》,178-196年第1期(2008年)·Zbl 1400.92013年
[4] 北卡罗来纳州大都会。;Ulam,S.,《蒙特卡罗方法》。J.Amer。统计师。协会,247,335-341(1949)·Zbl 0033.28807号
[5] Iooss,B。;Lemaêtre,P.,全球敏感性分析方法综述,101-122
[6] 沙姆平,L.F。;Reichelt,M.W.,《MATLAB ODE套件》。SIAM J.科学。计算。,1, 1-22 (1997) ·Zbl 0868.65040号
[7] Virtanen,P。;Gommers,R。;Oliphant,T.E。;哈伯兰,M。;Reddy,T。;库纳波,D。;Burovski,E。;彼得森,P。;Weckesser,W。;Bright,J.,SciPy 1.0:Python中科学计算的基本算法。自然方法,3261-272(2020)
[8] Rackauckas,C。;Nie,Q.,differential equations.jl-Julia中用于求解微分方程的性能丰富的生态系统。J.开放研究软件。,1 (2017)
[9] Hegedüs,F.,程序包MPGOS:使用GPU集成大量独立ODE系统期间的挑战和解决方案。公社。非线性科学。数字。模拟。(2021) ·Zbl 1464.65004号
[10] 李,X。;Wong,T.-K.L。;陈,R.T.Q。;Duvenaud,D.K.,随机微分方程的可缩放梯度和变分推理,1-28
[11] 布拉德伯里,J。;弗罗斯蒂格,R。;霍金斯,P。;约翰逊,M.J。;Leary,C。;麦克劳林(D.Maclaurin)。;内库拉,G。;Paszke,A。;范德普拉斯,J。;Wanderman-Millne,S。;Zhang,Q.,JAX:Python+NumPy程序的可组合转换(2018),URLhttp://github.com/google/jax
[12] 周,Y。;Liepe,J。;盛,X。;Stumpf,M.P.H。;Barnes,C.,GPU加速生化网络模拟。生物信息学,6874-876(2011)
[13] 费尔南多,M。;Neilsen,D。;Hirschmann,E。;兹洛乔尔,Y。;Sundar,H。;加塔斯,O。;Biros,G.,重力波传播的GPU加速AMR解算器,1078-1092
[14] Zhao,T。;德·S。;陈,B。;斯托克斯,J。;Veerapaneni,S.,《克服变分量子蒙特卡罗中的可伸缩性障碍》
[15] 南卡罗来纳州勒格兰德。;Götz,A.W。;Walker,R.C.,SPFP:无妥协的速度——GPU加速分子动力学模拟的混合精度模型。计算。物理学。Comm.,2374-380(2013年)
[16] 马尔科姆,J。;Yalamanchili,P。;McClanahan,C。;Venugopalakrishnan,V。;帕特尔,K。;Melonakos,J.,ArrayFire:GPU加速平台,49-56
[17] 贝尔,N。;Hoberock,J.,《推力:CUDA面向生产力的图书馆》,359-371
[18] Demidov,D.,VexCL:OpenCL的矢量表达模板库(2012)
[19] 斯通,J.E。;戈哈拉,D。;Shi,G.,OpenCL:异构计算系统的并行编程标准。计算。科学。工程,3,66(2010)
[20] Nickolls,J。;巴克,I。;加兰,M。;Skadron,K.,《使用CUDA的可伸缩并行编程:CUDA是应用程序开发人员一直在等待的并行编程模型吗?。队列,2,40-53(2008)
[21] Ahnert,K。;Mulansky,M.,Odein——用C++求解常微分方程,1586-1589
[22] Ahnert,K。;Demidov,D。;Mulansky,M.,在GPU上求解常微分方程,125-157·Zbl 1317.65155号
[23] Nagy,D。;普拉维茨,L。;Hegedüs,F.,在GPU和CPU上求解大量非刚性低维常微分方程系统的艺术。公社。非线性科学。数字。模拟。(2022) ·Zbl 1498.65233号
[24] Kidger,P.,《神经微分方程》(2021),牛津大学(博士论文)
[25] 陈,R.T。;Rubanova,Y。;贝当古,J。;Duvenaud,D.K.,《神经常微分方程》。高级神经信息处理。系统。(2018)
[26] Hindmarsh,A.C.,ODEPACK,ODE解算器的系统化集合,55-64
[27] 辛德马什,A.C。;Petzold,L.R.,常微分方程和微分代数方程的算法和软件,第二部分:高阶方法和软件包。计算。物理。,2, 148-155 (1995)
[28] 海尔,E。;诺塞特,S。;Wanner,G.,《求解常微分方程I:非刚性问题》,第8卷(1993),施普林格:施普林格-柏林,海德堡·Zbl 0789.65048号
[29] 海尔,E。;Peters,G.,《求解常微分方程II》(1991),施普林格出版社:施普林格-柏林-海德堡·兹比尔0729.65051
[30] 沙姆平,L.F。;Thompson,S.,Stiff系统。Scholarpedia,32855(2007)
[31] 海姆·D·J。;Trefethen,L.N.,ODE刚度。位数字。数学。,285-303 (1993) ·Zbl 0782.65091号
[32] Runge,C.,《关于差异的数字》(Un ber die numerische auflösung von differential gleichungen)。数学。年鉴,2167-178(1895)
[33] Kutta,W.,Beitrag zur Näherungsweisen积分累加器Differentialgleichungen(1901),路德维希·马克西米利安慕尼黑大学:德国慕尼黑路德维希·马克西米利安大学,(博士论文)
[34] Dormand,J.R。;Prince,P.J.,一个嵌入Runge-Kutta公式的家族。J.计算。申请。数学。,1, 19-26 (1980) ·Zbl 0448.65045号
[35] 阿舍尔,U.M。;Petzold,L.R.,《常微分方程和微分代数方程的计算机方法》,第61卷(1998年),SIAM:美国宾夕法尼亚州费城SIAM·Zbl 0908.65055号
[36] Rosenbrock,H.H.,微分方程数值解的一些一般隐式过程。计算。J.,4329-330(1963年)·Zbl 0112.07805号
[37] Kvrnö,A.,第一阶段显式的单对角隐式Runge-Kutta方法。BIT编号。数学。,3, 489-502 (2004) ·Zbl 1066.65077号
[38] 黑色,F。;Scholes,M.,《期权和公司负债的定价》。政治经济学杂志。,3, 637-654 (1973) ·兹比尔1092.91524
[39] Merton,R.C.,《理性期权定价理论》。贝尔J.经济学。管理。科学。,141-183 (1973) ·Zbl 1257.91043号
[40] Wilkinson,D.J.,《系统生物学随机建模》(2018),CRC出版社:美国佛罗里达州博卡拉顿CRC出版社
[41] Gillespie,D.T.,化学朗之万方程。化学杂志。物理。,1, 297-306 (2000)
[42] 克劳登,体育。;Platen,E.,《随机微分方程》(1992),施普林格:施普林格-柏林-海德堡·Zbl 0925.65261号
[43] 托奇诺,A。;Ardanuy,R.,随机微分方程数值解的Runge-Kutta方法。J.计算。申请。数学。,2, 219-241 (2002) ·Zbl 0993.65012号
[44] Rackauckas,C。;Nie,Q.,路径刚性随机微分方程的稳定性优化高阶方法和刚度检测,1-8
[45] 奥库塔,R。;Unno,Y。;西野,D。;Hido,S。;Loomis,C.,CuPy:NVIDIA GPU计算的NumPy兼容库,URLhttp://learningsys.org/nips17/assets/papers/paper_16.pdf
[46] Lam,S.K。;Pitrou,A。;Seibert,S.,Numba:基于LLVM的Python JIT编译器,1-6
[47] 贝萨德,T。;Foket,C。;De Sutter,B.,《有效的可扩展编程:在GPU上释放Julia》。IEEE传输。并行分配系统。,4, 827-841 (2018)
[48] 贝萨德,T。;丘拉维,V。;Edelman,A。;De Sutter,B.,《异构和分布式平台的快速软件原型制作》。高级工程师软件。,29-46 (2019)
[49] Besard,T.,JuliaGPU/GPUCompiler.jl:v1.8.0(2023)
[50] Besard,T.,JuliaGPU/GPUArrays.jl:v8.6.4(2023)
[51] Samaroo,J。;丘拉维,V。;斯米尔诺夫,A。;霍奇森,T。;菲利普斯,W。;Räss,L。;A.拉马丹。;巴姆帕雷索斯,J。;TagBot,J。;Schanen,M。;贝萨德,T。;荒崎,T。;Antholzer,S。;亚历山德罗;Montoison,A。;埃尔罗德,C。;Raayai,M。;Hu,T.,JuliaGPU/AMDGPU.jl:v0.4.8(2023)
[52] Besard,T.,oneAPI.jl(2023年)
[53] 贝萨德,T。;Hawkins,M.,Metal.jl(2023),如果您使用此软件,请如下引用
[54] Obenschain,K。;施沃,D。;Sharma,A.,AMD MI50 GPGPU用于科学和机器学习应用的初步评估
[55] 布朗,C。;阿卜杜勒法塔赫,A。;托莫夫,S。;Dongarra,J.,AMD GPU上密集线性代数算法的设计、优化和基准测试,1-7
[56] 丘拉维,V。;Aluthge,D。;Samaroo,J。;斯米尔诺夫,A。;施洛斯,J。;Wilcox,L.C.公司。;拜恩,S。;Waruszewski,M。;A.拉马丹。;梅雷迪思,M。;Schaub,S。;北卡罗来纳州康斯坦蒂诺。;Bolewski,J。;Ng,M。;贝萨德,T。;B.亚瑟。;卡瓦琴斯基,C。;希尔,C。;Rackauckas,C。;库克,J。;刘杰。;Schanen,M。;O.舒尔茨。;奥斯卡;Haraldsson,P。;荒崎,T。;Chor,T.,JuliaGPU/KernelAbstractions.jl:v0.9.1(2023)
[57] 王,G。;Lin,Y。;Yi,W.,内核融合:一种在多线程GPU上提高能效的有效方法,344-350
[58] Tsitouras,C.,仅满足第一列简化假设的5(4)阶龙格-库塔对。计算。数学。申请。,2, 770-775 (2011) ·兹比尔1228.65113
[59] Verner,J.H.,带插值的数值最优Runge-Kutta对。数字。算法,2383-396(2010)·Zbl 1184.65074号
[60] Steinebach,G.,Rosenbrock-Wanner方法的构造Rodas5P和Julia微分方程包中的数值基准。位数字。数学。,2, 27 (2023) ·Zbl 1512.65001号
[61] 辛德马什,A.C。;Brown,P.N。;格兰特,K.E。;Lee,S.L。;塞尔维亚人,R。;Shumaker,D.E。;伍德沃德,C.S.,SUNDIALS。ACM事务处理。数学。软件,3363-396(2005)·Zbl 1136.65329号
[62] 阿卡什。;埃尔罗德,C。;马云(Ma,Y.)。;Althaus,K。;Rackauckas,C.,常微分方程显式和隐式外推方法的并行化,1-9
[63] Corliss,G。;Faure,C。;Griewank,A。;哈斯科特,L。;Naumann,U.,《算法的自动区分:从模拟到优化》(2002),Springer Science&Business Media
[64] 托奇诺,A。;Vigo-Aguiar,J.,随机Runge-Kutta方法的弱二阶条件。SIAM J.科学。计算。,2507-523(2002年)·Zbl 1025.65011号
[65] Lorenz,E.N.,确定性非周期流。J.大气。科学。,2, 130-141 (1963) ·Zbl 1417.37129号
[66] Robertson,H.H.,具有特殊结构的刚性常微分方程组的数值积分。IMA J.应用。数学。,2, 249-263 (1976) ·Zbl 0363.65066号
[67] Walker,D.W。;Dongarra,J.J.,MPI:标准消息传递接口。超级计算机,56-68(1996)
[68] 加布里埃尔,E。;Fagg,G.E。;博西尔卡,G。;Angskun,T。;Dongarra,J.J。;斯奎尔斯,J.M。;萨哈伊,V。;坎巴杜尔,P。;巴雷特,B。;Lumsdaine,A.,《开放MPI:下一代MPI实现的目标、概念和设计》,97-104
[69] 拜恩,S。;Wilcox,L.C.公司。;Churavy,V.,MPI.jl:消息传递接口的Julia绑定,68
[70] S.Nobile,M。;卡扎尼加,P。;Besozzi博士。;Mauri,G.,ginSODA:GPU上刚性ODE系统的大规模并行集成。J.超级计算机。,12, 7844-7856 (2019)
[71] Loman,T.,《细菌如何调节混合正/负反馈回路以产生多样的基因表达动力学》(2022年),剑桥大学:英国剑桥大学,(博士论文)
[72] 巴勒姆,P。;Isard,M.,《机器学习系统陷入僵局》,177-183
[73] Zhabotinsky,A.M.,Belousov-Zhabotinsky反应。学者媒体,91435(2007)
[74] 菲尔德,R.J。;诺伊斯,R.M.,《化学系统中的振荡》。四、 真实化学反应模型中的极限循环行为。化学杂志。物理。,5, 1877-1884 (1974)
[75] Schäfer,E.,基于光敏色素解释光形态发生的“高辐照度响应”的新方法。数学杂志。生物学,1,41-56(1975)·Zbl 0317.92011号
[76] Verwer,J.G.,化学动力学中刚性常微分方程的高斯-塞德尔迭代。SIAM J.科学。计算。,5, 1243-1250 (1994) ·Zbl 0804.65068号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。