跳到主要内容
研究论文

算法1016:PyMGRIT:并行时间方法MGRIT的Python包

出版:2021年4月20日出版历史
跳过抽象节

摘要

在本文中,我们介绍了Python框架PyMGRIT,它实现了多重网格缩减时间(MGRIT)算法,用于解决因时间相关问题离散化而产生的(非)线性系统。MGRIT算法是一种基于简化的迭代方法,允许并行时间仿真,即使用时间网格层次结构同时计算仿真中的多个时间步长。PyMGRIT框架包括MGRIT算法的许多不同变体,包括不同的多重网格循环类型和松弛方案、各种粗化策略,包括仅时间粗化和时空粗化,以及在多重网格体系中不同级别上使用不同时间积分器的能力。包含教程和许多示例的全面文档以及完全文档化的代码使您可以轻松开始使用该包。代码的功能通过使用持续集成的自动化串行和并行测试来确保。PyMGRIT支持适合于新方法原型化和测试的串行运行,以及使用消息传递接口(MPI)的并行运行。在这份手稿中,我们描述了MGRIT算法在PyMGRIT中的实现,并从用户和开发人员的角度展示了其用法。三个示例说明了包本身的不同方面,特别是使用纯时间并行运行测试,以及通过PyMGRIT与PETSc或Firedrake的耦合实现时空并行。

跳过补充材料部分

补充材料

参考文献

  1. 萨蒂什·巴莱、施里朗·阿比扬卡、马克·亚当斯、杰德·布朗、彼得·布鲁恩、克里斯·布舍尔曼、利桑德罗·达尔辛、阿尔普·德纳、维克托·艾伊霍特、威廉·格罗普、德米特里·卡佩耶夫、迪内什·考希克、马修·克内普利、戴夫·阿梅、路易斯·柯夫曼·麦克因斯、理查德·特兰·米尔斯、托德·蒙森、卡尔·鲁普、帕特里克·萨南、巴里克·史密斯、斯特凡诺·扎皮尼、洪·张,和Hong Zhang。2020年。PETSc用户手册。技术报告ANL-95/11-3.13版。阿贡国家实验室。检索自https://www.mcs.anl.gov/petsc。谷歌学者谷歌学者
  2. 安德烈亚斯·巴特尔(Andreas Bartel)、萨沙·鲍曼斯(Sascha Baumanns)和塞巴斯蒂安·舍普斯(Sebastian Schöps)。2011.电路结构分析,包括磁准静态器件。申请。数字。数学。61(2011年9月),1257--1270。谷歌学者谷歌学者
  3. Matthias Bolten、Stephanie Friedhoff、Jens Hahn和Sebastian Schöps。2019.使用MGRIT对电机进行实时并行模拟。arxiv:math。NA/1912.031062019年。谷歌学者谷歌学者
  4. 阿奇·布兰特。1977.边界值问题的多级自适应解决方案。数学。计算。31, 138 (1977), 333--390.谷歌学者谷歌学者交叉引用交叉引用
  5. 安德鲁·克里斯特利布(Andrew J.Christlieb)、科林·麦克唐纳(Colin B.Macdonald)和本杰明·王家卫(Benjamin W.Ong)。2010.并行高阶积分器。SIAM J.科学。计算。32, 2 (2010), 818--835.谷歌学者谷歌学者交叉引用交叉引用
  6. Idoia Cortes Garcia、Herbert De Gersem和Sebastian Schöps。2019.基于广义电路元件的场/电路耦合问题的结构分析。数字。阿尔戈。(2019年3月),1-22。谷歌学者谷歌学者
  7. Lisandro D.Dalcin、Rodrigo R.Paz、Pablo A.Kler和Alejandro Cosimo。2011.使用python的并行分布式计算。高级水资源。34, 9 (2011), 1124--1139. 新的计算方法和软件工具。谷歌学者谷歌学者交叉引用交叉引用
  8. 汉斯·德斯特克(Hans De Sterck)、罗伯特·法尔古特(Robert D.Falgout)、斯蒂芬妮·弗里德霍夫(Stephanie Friedhoff)、奥利弗·克尔兹西克(Oliver A.Krzysik)和斯科特·麦克拉克伦。2019.优化线性平流的MGRIT和准实粗网格算子。阿西夫:数学。NA/1910.037262019年。谷歌学者谷歌学者
  9. Patrick Dular和Christophe Geuzaine。2020年,GetDP:处理离散问题的一般环境。检索自http://www.getdp.info。谷歌学者谷歌学者
  10. Patrick Dular、Christophe Geuzaine、François Henrotte和Willy Legros。1998年。离散问题处理的一般环境及其在有限元方法中的应用。IEEE传输。磁铁。34,5(1998年9月),3395--3398。谷歌学者谷歌学者交叉引用交叉引用
  11. Alok Dutt、Leslie Greengard和Vladimir Rokhlin。2000.常微分方程的谱延迟校正方法。位数字。数学。40,2(2000年6月),241--266。谷歌学者谷歌学者数字图书馆数字图书馆
  12. Matthew Emmett、Torbjörn Klatt、Robert Speck、Daniel Ruprecht和Selman Terzi。2020年,PFASST的Github储存库。检索自https://github.com/Parallel-in-Time/PFASST。谷歌学者谷歌学者
  13. 马修·埃米特和迈克尔·米尼恩。2012.偏微分方程的高效并行时间方法。Commun公司。申请。数学。计算。科学。7, 1 (2012), 105--132.谷歌学者谷歌学者交叉引用交叉引用
  14. Robert D.Falgout、Stephanie Friedhoff、Tzanio Kolev、Scott MacLachlan和Jacob B.Schroder。2014.与多电网的并行时间集成。SIAM J.Sci。计算。36,6(2014),C635--C661。谷歌学者谷歌学者数字图书馆数字图书馆
  15. Robert D.Falgout、Aaron Katz、Tzanio Kolev、Jacob B.Schroder、Andrew Wissink和Ulrike M.Yang。2015.可压缩流体动力学应用的多重网格简化并行时间集成。技术报告,LLNL-JRNL-663416。劳伦斯·利弗莫尔国家实验室。谷歌学者谷歌学者
  16. Robert D.Falgout、Matthieu Lecouvez和Carol S.Woodward。2019.一种用于可变步长多步骤方法的并行时间算法。J.计算。科学。37 (2019), 101029, 12.谷歌学者谷歌学者交叉引用交叉引用
  17. Robert D.Falgout、Thomas Manteuffel、Ben O'Neill和Jacob B.Schroder。2017.非线性抛物线问题的多重网格时间缩减:案例研究。SIAM J.科学。计算。39,5(2017),S298--S322。谷歌学者谷歌学者数字图书馆数字图书馆
  18. 毛里西奥·费雷拉·达卢斯(Mauricio V.Ferreira da Luz)、帕特里克·杜拉尔(Patrick Dular)、纳尔逊·萨多夫斯基(Nelson Sadowski)、克里斯托夫·格赞(Christophe Geuzaine)和乔·帕·巴斯托斯。2002.使用周期性条件和移动带对具有双重配方的永磁发电机进行分析。IEEE传输。磁铁。38、2(2002年3月)、961-964。谷歌学者谷歌学者交叉引用交叉引用
  19. 斯蒂芬妮·弗里德霍夫(Stephanie Friedhoff)、延斯·哈内(Jens Hahne)、伊雷娜·库尔奇茨卡·鲁什卡(Iryna Kulchytska-Ruchka)和塞巴斯蒂安·舍普斯(Sebastian Schöps)。2020年。探索涡流问题的并行时间方法。2018年ECMI(欧洲工业数学联合会)《工业数学进展》,István Farago、Ferenc Izsák和Péter L.Simon(编辑),第30卷。柏林施普林格。谷歌学者谷歌学者
  20. 斯蒂芬妮·弗里德霍夫(Stephanie Friedhoff)、延斯·哈内(Jens Hahne)和塞巴斯蒂安·舍普斯(Sebastian Schöps)。2019.涡流问题的多电网减少时间。PAMM 19,1(2019),e201900262。谷歌学者谷歌学者交叉引用交叉引用
  21. 马丁·甘德。2015年,50年时间并行时间整合。在多重拍摄和时域分解中。施普林格,69-113。谷歌学者谷歌学者
  22. 马丁·甘德(Martin J.Gander)和斯特凡·古特尔(Stefan Güttel)。2013.PARAEXP:线性初值问题的并行积分器。SIAM J.科学。计算。35,2(2013),C123--C142。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 马丁·甘德(Martin J.Gander)、伊雷娜·库尔奇茨卡·鲁什卡(Iryna Kulchytska-Ruchka)、伊诺森特·尼扬齐马(Innocent Niyonzima)和塞巴斯蒂安·舍普斯(Sebastian Schöps)。2019.不连续源问题的新Parareal算法。SIAM J.科学。计算。41,2(2019),B375--B395。谷歌学者谷歌学者数字图书馆数字图书馆
  24. Christophe Geuzaine。2007.GetDP:de-rham复合体的通用有限元解算器。PAMM 7,1(2007),1010603--1010604。谷歌学者谷歌学者交叉引用交叉引用
  25. Christophe Geuzaine和Jean-François Remacle。2009年。Gmsh:具有内置预处理和后处理设施的三维有限元网格生成器。国际期刊数字。方法工程79,11(2009),1309--1331。谷歌学者谷歌学者交叉引用交叉引用
  26. Christophe Geuzaine和Jean-François Remacle。2020年。Gmsh:具有内置预处理和后处理设施的三维有限元网格生成器。检索自http://www.gmsh.info。谷歌学者谷歌学者
  27. 约翰·吉塞林克(Johan Gyselinck)、列文·范德维尔(Lieven Vandevelde)和简·梅尔科贝克(Jan Melkebeek)。2001.具有偏斜槽的电机的多切片有限元建模偏斜离散化误差。IEEE传输。磁铁。37 (10 2001), 3233--3237.谷歌学者谷歌学者交叉引用交叉引用
  28. 斯蒂芬妮·古特(Stefanie Günther)、拉尔斯·鲁索托(Lars Ruthotto)、雅各布·B·施罗德(Jacob B.Schroder)、埃里克·C·赛尔(Eric C.Cyr)和尼古拉斯·高格(Nicolas R.Gauger)。2020年。深层剩余神经网络的分层并行训练。SIAM J.数学。数据科学。2, 1 (2020), 1--23.谷歌学者谷歌学者交叉引用交叉引用
  29. Jens Hahne和Stephanie Friedhoff。2020a年。PyMGRIT的代码覆盖率。检索自https://codecov.io/gh/pymgrit/pymgrit。谷歌学者谷歌学者
  30. Jens Hahne和Stephanie Friedhoff。2020年b。PyMGRIT文档。检索自https://pymgrit.github.io/pymgrit/。谷歌学者谷歌学者
  31. Jens Hahne和Stephanie Friedhoff。2020年c。PyMGRIT的Github存储库。检索自https://github.com/pymgrit/pymgrit。谷歌学者谷歌学者
  32. Jens Hahne和Stephanie Friedhoff。2020天。PyMGRIT的PyPI站点。检索自https://pypi.org/project/pymgrit/。谷歌学者谷歌学者
  33. A.House、H.De Sterck、Robert D.Falgout、Scott MacLachlan和Jacob B.Schroder。2019.线性平流和无粘burgers方程的具有自适应空间粗化的并行时间多重网格。SIAM J.科学。计算。41,1(2019),A538--A565。谷歌学者谷歌学者数字图书馆数字图书馆
  34. 约翰·D·亨特。2007.Matplotlib:二维图形环境。计算。科学。工程9,3(2007),90-95。谷歌学者谷歌学者数字图书馆数字图书馆
  35. 朱利希超级计算中心。2019.JUWELS:位于朱利希超级计算中心的模块化第0/1层超级计算机。J.大型Res.Facil。A135(2019年)。内政部:https://doi.org/10.17815/jlsrf-5-171谷歌学者谷歌学者
  36. 大卫·凯奇森、凯尔·曼德利、阿隆·艾哈迈迪、阿马尔·阿尔甘迪、曼努埃尔·奎扎达·德卢纳、马泰奥·帕萨尼、马修·克内普利和马修·埃米特。2012.PyClaw:可访问、可扩展、可扩展的波传播问题工具。SIAM J.科学。计算。34、4(2012年11月),C210---C231。谷歌学者谷歌学者数字图书馆数字图书馆
  37. 托马斯·克鲁弗(Thomas Kluyver)、本杰明·拉甘·凯利(Benjamin Ragan-Kelley)、费尔南多·佩雷斯(Fernando Perez)、布莱恩·格兰杰(Brian Granger)、马蒂亚斯·布桑尼尔(Matthias Bussonnier)、乔纳森·弗雷德里克(Jonathan Frederic)、凯尔·凯利(Kyle Kelley,杰西卡·哈姆里克(Jessica Hamrick)、杰森。Jupyter笔记本——可复制计算工作流的发布格式。在学术出版中的定位与权力:参与者、代理人和代理人。IOS出版社,87-90。谷歌学者谷歌学者
  38. 霍尔格·克雷克尔。2020年。欢迎参加毒素自动化项目。检索自https://tox.readthedocs.io/en/latest/。谷歌学者谷歌学者
  39. 霍尔格·克雷克尔(Holger Krekel)、布鲁诺·奥利维拉(Bruno Oliveira。2004年,pytest。检索自https://github.com/pytest-dev/pytest。谷歌学者谷歌学者
  40. 利迪亚·克伦舍尔(Lydia Kronsjö)。1975年,关于“嵌套迭代”方法的注释。Nordisk Tidskr公司。信息行为处理(BIT)15,1(1975),107--110。谷歌学者谷歌学者数字图书馆数字图书馆
  41. 莉迪亚·克伦斯科和杰蒙德·达尔奎斯特。关于椭圆差分方程嵌套迭代的设计。Nordisk Tidskr公司。信息行为处理(BIT)12(1972),63--71。谷歌学者谷歌学者数字图书馆数字图书馆
  42. 伦敦北卡罗来纳州。2020年,LibPFASST的Github存储库。检索自https://github.com/libpfasst/libpfasst。谷歌学者谷歌学者
  43. 马蒂厄·勒库韦斯(Matthieu Lecouvez)、罗伯特·法尔古特(Robert D.Falgout)、卡罗尔·伍德沃德(Carol S.Woodward)和菲利普·托普(Philip Top)。2016年,电力系统并行多电网时间缩减方法。IEEE电力和能源协会大会(PESGM’16)会议记录。1--5.谷歌学者谷歌学者交叉引用交叉引用
  44. 雅克·路易斯·狮子、伊冯·马迪和加布里埃尔·图里尼奇。2001年,《电子数据处理解决方案》(Résolution d‘EDP par un schéma en temps“pararéel”),《科学院院院刊》(Comptes Rendus de l‘Académie des Sciences)。《Série I.Mathématique》332,7(2001),661-668。谷歌学者谷歌学者
  45. LLBL.有限责任公司。2020年。PFASST代码网站。检索自https://pfasst.lbl.gov/codes。谷歌学者谷歌学者
  46. LLNL公司。2020年,XBraid网站。检索自https://www.llnl.gov/casc/xbraid。谷歌学者谷歌学者
  47. Anders Logg、Kent-Andre Mardal、Garth N.Wells等人。2012.用有限元方法自动求解微分方程。斯普林格。谷歌学者谷歌学者
  48. Allan S.Nielsen、Gilles Brunner和Jan S.Hethaven。2018年。具有通信意识的自适应拟实,应用于非线性双曲型偏微分方程组。J.计算。物理学。371 (2018), 483--505.谷歌学者谷歌学者数字图书馆数字图书馆
  49. Benjamin W.Ong、Ronald D.Haynes和Kyle Ladd。2016.算法965:RIDC方法:一系列并行时间积分器。ACM事务处理。数学。柔和。第43页,第1页(2016年8月)。谷歌学者谷歌学者数字图书馆数字图书馆
  50. Florian Rathgeber、David A.Ham、Lawrence Mitchell、Michael Lange、Fabio Luporini、Andrew T.T.Mcrae、Gheorghe-Teodor Bercea、Graham R.Markall和Paul H.J.Kelly。2016.Firedrake:通过组合抽象实现有限元方法的自动化。ACM事务处理。数学。柔和。43,3(2016年12月)。谷歌学者谷歌学者
  51. 塞巴斯蒂安·舍普斯(Sebastian Schöps)、无辜的尼扬齐马(Innocent Niyonzima)和马克斯·克莱门斯(Markus Clemens)。2018.使用Parareal对涡流问题进行实时并行模拟。IEEE传输。磁铁。54,3(2018年3月)。谷歌学者谷歌学者交叉引用交叉引用
  52. 马丁·施雷伯(Martin Schreiber)、佩德罗·达席尔瓦·佩克索托(Pedro da Silva Peixoto)、安德烈亚斯·施密特(Andreas Schmitt)和弗朗索瓦·哈蒙(François P.Hamon)。2020年。SWEET网站。检索自https://schreiberx.github.io/sweetsite/。谷歌学者谷歌学者
  53. 雅各布·施罗德(Jacob B.Schroder)、罗伯特·法尔古特(Robert D.Falgout)、卡罗尔·伍德沃德(Carol S.Woodward)、菲利普·托普(Philip Top)和马蒂厄·勒库韦斯(Matthieu Lecouvez)。2018年。电力系统与预定事件的实时并行解决方案。IEEE电力能源学会大会(PESGM’18)会议记录。1--5.谷歌学者谷歌学者交叉引用交叉引用
  54. 罗伯特·斯佩克。2019.算法997:PySDC原型光谱延迟修正。ACM事务处理。数学。柔和。45,3(2019年8月)。内政部:https://doi.org/10.1145/3310410谷歌学者谷歌学者数字图书馆数字图书馆
  55. 罗伯特·斯佩克。2020.pySDC的Github存储库。检索自https://github.com/Parallel-in-Time/pySDC。谷歌学者谷歌学者
  56. 斯特凡·范德沃尔特(Stefan van der Walt)、S.克里斯·科尔伯特(S.Chris Colbert)和盖尔·瓦罗佐(Gael Varoqueux)。2011.NumPY数组:高效数值计算的结构。计算。科学。《工程》13,2(2011),22-30。谷歌学者谷歌学者数字图书馆数字图书馆
  57. 保利·维塔宁、拉尔夫·戈莫斯、特拉维斯·奥列芬特、马特·哈伯兰、泰勒·雷迪、大卫·库纳波、伊夫根·波洛夫斯基、皮尔鲁·彼得森、沃伦·威克塞、乔纳森·布赖特、圣范·范德沃尔特、马修·布雷特、约书亚·威尔逊、K.贾罗德·米尔曼、尼古拉·马约洛夫、安德鲁·纳尔逊、埃里克·琼斯、罗伯特·克恩、埃里克森、C.J.凯里、伊尔汉·波拉特、于峰,埃里克·W·摩尔(Eric W.Moore)、杰克·范德普拉斯(Jake VanderPlas)、丹尼斯·拉萨尔德(Denis Laxalde)、约瑟夫·佩克托尔德(Josef Perktold)和罗伯特·西姆曼(Robert Cimrman)。2020年,SciPy 1.0:Python中科学计算的基本算法。自然法。17 (2020), 261--272.谷歌学者谷歌学者交叉引用交叉引用

索引术语

  1. 算法1016:PyMGRIT:用于并行实时方法MGRIT的Python包

          建议

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            数学软件上的封面图像ACM事务
            ACM数学软件汇刊 第47卷第2期
            2021年6月
            243页
            国际标准编号:0098-3500
            EISSN公司:1557-7295
            内政部:10.1145/3459727
            期刊目录

            版权所有©2021 ACM

            如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:2021年4月20日
            • 认可的:2021年1月1日
            • 修订日期:2020年12月1日
            • 收到:2020年7月1日
            发布于汤姆斯第47卷第2期

            权限

            请求有关此文章的权限。

            请求权限

            检查更新

            限定符

            • 研究论文
            • 研究
            • 推荐

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器

          HTML格式

          以HTML格式查看本文。

          查看HTML格式