AUTOMATED DERIVATION OF THE ADJOINT OF HIGH-LEVEL TRANSIENT FINITE ELEMENT PROGRAMS

AUTOMATED DERIVATION OF THE ADJOINT OF HIGH-LEVEL TRANSIENT FINITE ELEMENT PROGRAMS
复制标题

DOI:
10.1137/120873558
复制
发表时间:
2013-01-01
影响因子:
3.1
通讯作者:
Rognes, M. E.
Rognes, M. E.
中科院分区:
数学2区
文献类型:
--
作者:
Farrell, P. E.;Ham, D. A.;Rognes, M. E.

文献摘要

被引文献

相似文献

在本文中,我们演示了一种推导有限元模型的离散伴随和切线模型的新技术。该技术比标准算法微分技术更加高效和自动化。该方法依赖于前向问题的高级符号表示。与直接使用 Fortran 或 C++ 开发模型相比,高级系统允许开发人员以接近数学符号的方式表达要解决的变分问题。因此,这些系统具有一个关键优势:由于保留了问题的数学结构,因此它们更适合自动分析和操作。这里介绍的框架是在一个名为 dolfin-adjoint 的免费软件包中实现的,该软件包基于 FEniCS 项目。我们的自动伴随推导方法依赖于模型时间结构的运行时注释,并采用 FEniCS 有限元形式编译器自动生成推导模型的低级代码。这种方法只需要对一大类正向模型进行微小的改变,包括复杂的瞬态非线性模型。伴随模型自动采用最佳检查点方案来减轻非线性模型的存储需求,无需任何用户管理或干预。此外,切线模型和伴随模型自然可以并行工作,无需通过调用 MPI 或解析 OpenMP 指令来区分。该方法的通用性、适用性和效率通过广泛的科学应用的例子得到了证明。
In this paper we demonstrate a new technique for deriving discrete adjoint and tangent linear models of a finite element model. The technique is significantly more efficient and automatic than standard algorithmic differentiation techniques. The approach relies on a high-level symbolic representation of the forward problem. In contrast to developing a model directly in Fortran or C++, high-level systems allow the developer to express the variational problems to be solved in near-mathematical notation. As such, these systems have a key advantage: since the mathematical structure of the problem is preserved, they are more amenable to automated analysis and manipulation. The framework introduced here is implemented in a freely available software package named dolfin-adjoint, based on the FEniCS Project. Our approach to automated adjoint derivation relies on run-time annotation of the temporal structure of the model and employs the FEniCS finite element form compiler to automatically generate the low-level code for the derived models. This approach requires only trivial changes to a large class of forward models, including complicated time-dependent nonlinear models. The adjoint model automatically employs optimal checkpointing schemes to mitigate storage requirements for nonlinear models, without any user management or intervention. Furthermore, both the tangent linear and adjoint models naturally work in parallel, without any need to differentiate through calls to MPI or to parse OpenMP directives. The generality, applicability, and efficiency of the approach are demonstrated with examples from a wide range of scientific applications.