Demidov,D.德米多夫。 AMGCL:一种高效、灵活、可扩展的代数多重网格实现。 (英语) Zbl 1452.65426号 Lobachevskii J.数学。 40,第5期,535-546(2019). 摘要:本文介绍了AMGCL,这是一个开源C++库,实现了代数多重网格法(AMG),用于求解大型稀疏线性方程组,这些方程组通常来自于非结构化网格上的偏微分方程离散化。该库支持共享和分布式内存计算,允许通过OpenMP、OpenCL或CUDA技术利用现代大规模并行处理器,具有最小的依赖性,并且易于扩展。本文讨论了AMGCL背后的设计原则,并表明代码性能与其他实现相当。 引用于22文件 MSC公司: 65日元 数值算法的封装方法 65层10 线性系统的迭代数值方法 65层50 稀疏矩阵的计算方法 65日元10 特定类别建筑的数值算法 软件:AMGCL公司;Matlab公司;维也纳CL;MRST公司;炒作;毫升;CUDA公司;CUSP公司;PaStiX公司;PETSc公司;开放运算语言;磁粉探伤 PDF格式BibTeX公司 XML格式引用 \textit{D.Demidov},Lobachevskii J.数学。40,第5号,535--546(2019;Zbl 1452.65426) 全文: 内政部 arXiv公司 参考文献: [1] A.Alexandrescu,《现代C++设计:应用的通用编程和设计模式》(Addison-Wesley,Reading,MA,2001)。 [2] A.H.Baker、E.R.Jessup和Th.Manteuffel,“加速重新启动的GMRES收敛的技术”,SIAM J.Matrix Anal。申请。26, 962-984 (2005). ·兹比尔1086.65025 ·doi:10.1137/S089547979803422014 [3] S.Balay、Sh.Abhyankar、M.F.Adams、J.Brown、P.Brune、K.Buschelman、L.Dalcin、V.Eijkhout、W.D.Gropp、D.Kaushik、M.G.Knapley、L.C.McInnes、K.Rupp、B.F.Smith、S.Zampini和Hong Zhang,“PETSc用户手册”,技术代表ANL-95/11,第3.7版(阿贡国家劳工局,2016年)。 [4] R.Barrett、M.Berry、T.F.Chan、J.Demmel、J.Donato、J.Tongarra、V.Eijkhout、R.Pozo、Ch.Romine和H.van der Vorst,《线性系统解的模板:迭代方法的构建块》(SIAM,费城,1994)·Zbl 0814.65030号 ·doi:10.1137/1.9781611971538 [5] N.Bell、S.Dalton和L.N.Olson,“揭示代数多重网格方法中的细粒度并行性”,SIAM J.Sci。计算。34(4),C123-C152(2012)·Zbl 1253.65041号 ·数字对象标识代码:10.1137/10838844 [6] A.Brandt、S.McCoruick和J.Huge,《稀疏矩阵方程的代数多重网格(AMG)》,D.J.Evans编辑(剑桥大学出版社,1985年),第257页。 [7] O.Bröker和M.J.Grote,“几何和代数多重网格的稀疏近似逆平滑器”,应用。数字。数学。第41,61-80页(2002年)·Zbl 0995.65129号 ·doi:10.1016/S0168-9274(01)00110-6 [8] A.J.Cleary、R.D.Falgout、H.van Emden、J.E.Jones、Th.A.Manteuffel、S.F.McCormick、G.N.Miranda和J.W.Ruge,“代数多重网格的鲁棒性和可扩展性”,SIAM J.Sci。计算。21, 1886-1908 (2000). ·Zbl 0959.65049号 ·doi:10.1137/S1064827598339402 [9] P.Dadvand、R.Rossi、M.Gil、X.Martorell、J.Cotela、E.Juanpere、S.R.Idelsohn和E.Oñate,“通用多物理框架向HPC环境的迁移”,Comput。《流体》80301-309(2013)·Zbl 1426.76644号 ·doi:10.1016/j.compfluid.2012.02.004 [10] P.Dadvand、R.Rossi和E.Oñate,“为多学科应用开发有限元代码的面向对象环境”,Arch。计算。方法工程17,253-297(2010)·兹比尔1360.76130 ·doi:10.1007/s11831-010-9045-2 [11] L.Dagum和R.Menon,“OpenMP:共享内存编程的行业标准API”,IEEE计算。科学。工程5,46-55(1998)。 ·数字对象标识代码:10.1109/99.660313 [12] S.Dalton、N.Bell、L.Olson和M.Garland,“Cusp:稀疏矩阵和图形计算的通用并行算法”,版本0.5.0(2014)。http://cusplibrary.github.io。 [13] D.E.Demidov和D.V.Shevchenko,“基于GPGPU有效解决非稳态流体动力学问题的代数多重网格修改”,《计算杂志》。科学。3, 460-462 (2012). ·doi:10.1016/j.jocs.2012.08.008 [14] D.Demidov和R.Rossi,“分布式内存AMGCL基准测试的Navier-Stokes问题”(2018年)。https://doi.org/10.5281/zenodo.1231818 [15] D.Demidov和R.Rossi,“共享内存AMGCL基准的Navier-Stokes问题”(2018年)。https://doi.org/10.5281/zenodo.1231961 [16] J.(Jean)Donéa和a.Huerta,《流动问题的有限元方法》(Wiley,2003)。 [17] R.D.Falgout和U.M.Yang,“Hypre:高性能预处理程序库”,《国际计算科学会议论文集》(Springer,2002),第632-641页·Zbl 1056.65046号 [18] D.R.Fokkema,《求解线性方程组的BiCGstab(l)的增强实现》(乌得勒支大学,1996年)。 [19] M.W.Gee、C.M.Siefert、J.J.Hu、R.S.Tuminaro和M.G.Sala,“ML 5.0平滑了聚合用户指南”,技术报告SAND2006-2649(Sandia Natl.Laboratories,2006)。 [20] B.Gmeiner、M.Huber、L.John、U.Rüde和B.Wohlmuth,“斯托克斯解算器在极端规模下的定量性能研究”,J.Compute。科学。17, 509-521 (2016). ·doi:10.1016/j.jocs.2016.0.006 [21] S.Gries,K.Stüben,G.L.Brown,D.Chen,D.A.Collins等人,“在完全隐式油藏模拟中有效应用代数多重网格的预处理”,SPE J.19,726-736(2014)。 ·数字对象标识码:10.2118/163608-PA [22] P.Hénon、P.Ramet和J.Roman,“PASTIX:稀疏对称正定系统的高性能并行直接求解器”,《并行计算》。28, 301-321 (2002). ·Zbl 0984.68208号 ·doi:10.1016/S0167-8191(01)00141-7 [23] J.Hogg和J.Scott,“多核架构的新型并行稀疏直接解算器”,《算法》6702-725(2013)·Zbl 1461.65063号 ·doi:10.3390/a6040702 [24] K.-A.Lie,《使用MATLAB进行油藏模拟简介:MATLAB油藏模拟工具箱(MRST)用户指南》(SINTEF ICT,挪威,2016年)·Zbl 1425.76001号 [25] J.W.Ruge和K.Stüben,“代数多重网格”,《多重网格方法》(SIAM,1987),第73-130页。 [26] K.Rupp、F.Rudolf和J.Weinbub,“ViennaCL”——GPU和多核CPU的高级线性代数库”,《GPU和科学应用国际研讨会论文集》,2010年,第51-56页。 [27] Y.Saad,稀疏线性系统的迭代方法(SIAM,2003)·Zbl 1031.65046号 [28] M.Sala和R.S.Tuminaro,“非对称线性系统的新型Petrov-Galerkin平滑聚集预条件”,SIAM J.Sci。计算。31, 143-166 (2008). ·兹比尔1183.76673 ·doi:10.1137/060659545 [29] J.Sanders和E.Kandrot,《CUDA示例:通用GPU编程简介》(Addison-Wesley Professional,Reading,MA,2010)。 [30] P.Sonneveld和M.B.van Gijzen,“IDR(s):求解大型非对称线性方程组的一系列简单快速算法”,SIAM J.Sci。计算。31, 1035-1062 (2008). ·Zbl 1190.65053号 ·数字对象标识代码:10.1137/070685804 [31] J.E.Stone、D.Gohara和G.Shi,“OpenCL:异构计算系统的并行编程标准”,计算。科学。《工程》12(3),66-73(2010)。 ·doi:10.1109/MCSE.2010.69 [32] Stuben,K.,《代数多重网格(AMG):应用简介》(1999),德国圣奥古斯丁 [33] U.Trottenberg、C.Oosterlee和A.Schüller,Multigrid(学术,伦敦,2001年)·Zbl 0976.65106号 [34] P.Vaněk、J.Mandel和M.Brezina,“二阶和四阶椭圆问题的平滑聚合代数多重网格”,《计算》56,179-196(1996)·Zbl 0851.65087号 ·doi:10.1007/BF02238511 [35] R.Verfurth,“Stokes问题数值解的联合共轭梯度-多重网格算法”,IMA J.Numer。分析。4, 441-455 (1984). ·Zbl 0563.76028号 ·doi:10.1093/imanum/4.4.441 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。