We present a new software system PETSc TSAdjoint for first-order and second-order adjoint sensitivity analysis of time-dependent nonlinear differential equations. The derivative calculation in PETSc TSAdjoint is essentially a high-level algorithmic differentiation process. The adjoint models are derived by differentiating the timestepping algorithms and implemented based on the parallel infrastructure in PETSc. Full differentiation of the library code including MPI routines thus is avoided, and users do not need to derive their own adjoint models for their specific applications. PETSc TSAdjoint can compute the first-order derivative, that is, the gradient of a scalar functional, and the Hessian-vector product that carries second-order derivative information, while requiring minimal input (a few callbacks) from the users. Optimal checkpointing schemes are employed by the adjoint model in a manner that is transparent to users. Usability, efficiency, and scalability are demonstrated through examples from a variety of applications.
翻译:我们提出了一个新的软件系统PETSc TSAdjoint,用于对基于时间的非线性差异方程式进行一阶和二阶联合灵敏分析。PETSc TSAdjoint中的衍生物计算基本上是一个高层次的算法区分过程。通过区分时间步算法和在PETSc中平行基础设施的基础上实施,得出了联合模型。避免了图书馆代码包括MPI例行程序在内的完全区别,用户不必为其具体应用制定自己的联合模型。PETSc TSAdwoit可以计算含有二级衍生物信息的一级衍生物,即标码功能的梯度,以及带有二级衍生物信息的赫斯韦克产品,同时需要用户提供最低限度的投入(少数回馈)。最佳检查站计划在对用户透明的联合模型中采用。通过各种应用的实例可以证明可用性、效率和可缩放性。