Code Generation for Productive, Portable, and Scalable Finite Element Simulation in Firedrake

被引:2
作者
Betteridge, Jack D. [1 ]
Farrell, Patrick E. [2 ]
Ham, David A. [1 ]
机构
[1] Imperial Coll London, London SW7 2BX, England
[2] Univ Oxford, Oxford OX1 2JD, England
基金
英国工程与自然科学研究理事会;
关键词
Mathematical model; Supercomputers; Poisson equations; Handheld computers; Computational modeling; !text type='Python']Python[!/text; Bandwidth;
D O I
10.1109/MCSE.2021.3085102
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Creating scalable, high-performance PDE-based simulations requires an appropriate combination of models, discretizations, and solvers. The required combination changes with the application and with the available hardware, yet software development time is a severely limited resource for most scientists and engineers. Here we demonstrate that generating simulation code from a high-level Python interface provides an effective mechanism for creating high-performance simulations from very few lines of user code. We demonstrate that moving from one supercomputer to another can require significant algorithmic changes to achieve scalable performance, but that the code generation approach enables these algorithmic changes to be achieved with minimal development effort.
引用
收藏
页码:8 / 17
页数:10
相关论文
共 6 条
[1]   Unified Form Language: A Domain-Specific Language for Weak Formulations of Partial Differential Equations [J].
Alnaes, Martin S. ;
Logg, Anders ;
Olgaard, Kristian B. ;
Rognes, Marie E. ;
Wells, Garth N. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2014, 40 (02)
[2]  
Balay S., 2021, ANL9511 REV 3 15 ARG ANL9511
[3]   The DUNE framework: Basic concepts and recent developments [J].
Bastian, Peter ;
Blatt, Markus ;
Dedner, Andreas ;
Dreier, Nils-Arne ;
Engwer, Christian ;
Fritze, Rene ;
Graeser, Carsten ;
Grueninger, Christoph ;
Kempf, Dominic ;
Kloefkorn, Robert ;
Ohlberger, Mario ;
Sander, Oliver .
COMPUTERS & MATHEMATICS WITH APPLICATIONS, 2021, 81 :75-112
[4]  
Logg A., 2012, AUTOMATED SOLUTION D, V84, DOI [10.1007/978-3-642-23099-8, DOI 10.1007/978-3-642-23099-8]
[5]   An Algorithm for the Optimization of Finite Element Integration Loops [J].
Luporini, Fabio ;
Ham, David A. ;
Kelly, Paul H. J. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2017, 44 (01)
[6]   Firedrake: Automating the Finite Element Method by Composing Abstractions [J].
Rathgeber, Florian ;
Ham, David A. ;
Mitchell, Lawrence ;
Lange, Michael ;
Luporini, Fabio ;
Mcrae, Andrew T. T. ;
Bercea, Gheorghe-Teodor ;
Markall, Graham R. ;
Kelly, Paul H. J. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2017, 43 (03)