17 research outputs found

    Adjoint computations by algorithmic differentiation of a parallel solver for time-dependent PDEs

    Get PDF
    A computational fluid dynamics code is differentiated using algorithmic differentiation (AD) in both tangent and adjoint modes. The two novelties of the present approach are 1) the adjoint code is obtained by letting the AD tool Tapenade invert the complete layer of message passing interface (MPI) communications, and 2) the adjoint code integrates time-dependent, non-linear and dissipative (hence physically irreversible) PDEs with an explicit time integration loop running for ca. 10610^{6} time steps. The approach relies on using the Adjoinable MPI library to reverse the non-blocking communication patterns in the original code, and by controlling the memory overhead induced by the time-stepping loop with binomial checkpointing. A description of the necessary code modifications is provided along with the validation of the computed derivatives and a performance comparison of the tangent and adjoint codes.Comment: Submitted to Journal of Computational Scienc

    H-Revolve: A Framework for Adjoint Computation on Synchronous Hierarchical Platforms

    Get PDF
    International audienceWe study the problem of checkpointing strategies for adjoint computation on synchronous hierarchicalplatforms, specifically computational platforms with several levels of storage with different writing andreading costs. When reversing a large adjoint chain, choosing which data to checkpoint and where is a criticaldecision for the overall performance of the computation. We introduce H-Revolve, an optimal algorithm forthis problem. We make it available in a public Python library along with the implementation of several state-of-the-art algorithms for the variant of the problem with two levels of storage. We provide a detailed descriptionof how one can use this library in an adjoint computation software in the field of automatic differentiationor backpropagation. Finally, we evaluate the performance of H-Revolve and other checkpointing heuristicsthough an extensive campaign of simulation

    Software for Exascale Computing - SPPEXA 2016-2019

    Get PDF
    This open access book summarizes the research done and results obtained in the second funding phase of the Priority Program 1648 "Software for Exascale Computing" (SPPEXA) of the German Research Foundation (DFG) presented at the SPPEXA Symposium in Dresden during October 21-23, 2019. In that respect, it both represents a continuation of Vol. 113 in Springer’s series Lecture Notes in Computational Science and Engineering, the corresponding report of SPPEXA’s first funding phase, and provides an overview of SPPEXA’s contributions towards exascale computing in today's sumpercomputer technology. The individual chapters address one or more of the research directions (1) computational algorithms, (2) system software, (3) application software, (4) data management and exploration, (5) programming, and (6) software tools. The book has an interdisciplinary appeal: scholars from computational sub-fields in computer science, mathematics, physics, or engineering will find it of particular interest

    Adjoint-based algorithms and numerical methods for sensitivity generation and optimization of large scale dynamic systems

    Get PDF
    This thesis presents advances in numerical methods for the solution of optimal control problems. In particular, the new ideas and methods presented in this thesis contribute to the research fields of structure-exploiting Newton-type methods for large scale nonlinear programming and sensitivity generation for IVPs for ordinary differential equations and differential algebraic equations. Based on these contributions, a new lifted adjoint-based partially reduced exact-Hessian SQP (L-PRSQP) method for nonlinear multistage constrained optimization problems with large scale differential algebraic process models is proposed. It is particularly well suited for optimization problems which involve many state variables in the dynamic process but only few degrees of freedom, i.e., controls, parameter or free initial values. This L-PRSQP method can be understood as an extension of the work of Schäfer to the case of exact-Hessian SQP methods, making use of directional forward/adjoint sensitivities of second order. It stands hence in the tradition of the direct multiple shooting approaches for differential algebraic equations of index 1 of Bock and co-workers. To the novelties that are presented in this thesis further belong - the generalization of the direct multiple shooting idea to structure-exploiting algorithms for NLPs with an internal chain structure of the problem functions, - an algorithmic trick that allows these so-called lifted methods to compute the condensed subproblems directly based on minor modifications to the user given problem functions and without further knowledge on the internal structure of the problem, - a lifted adjoint-based exact-Hessian SQP method that is shown to be equivalent to a full-space approach, but only has the complexity of an unlifted/single shooting approach per iteration, - new adjoint schemes for sensitivity generation based on Internal Numerical Differentiation (IND) for implicit LMMs using the example of Backward Differentiation Formulas (BDF), - the combination of univariate Taylor coefficient (TC) propagation and IND, resulting in IND-TC schemes which allow for the first time the efficient computation of directional forward and forward/adjoint sensitivities of arbitrary order, - a strategy to propagate directional sensitivities of arbitrary order across switching events in the integration, - a local error control strategy for sensitivities and a heuristic global error estimation strategy for IVP solutions in connection with IND schemes, - the software packages DAESOL-II and SolvIND, implementing the ideas related to IVP solution and sensitivity generation, as well as the software packages LiftOpt and DynamicLiftOpt that implement the lifted Newton-type methods for general NLP problems and the L-PRSQP method in the optimal control context, respectively. The performance of the presented approaches is demonstrated by the practical application of our codes to a series of numerical test problems and by comparison to the performance of alternative state-of-the-art approaches, if applicable. In particular, the new lifted adjoint-based partially reduced exact-Hessian SQP method allows the efficient and successful solution of a practical optimal control problem for a binary distillation column, for which the solution using a direct multiple shooting SQP method with an exact-Hessian would have been prohibitively expensive until now

    Fluid Flow Simulation and Optimisation with Lattice Boltzmann Methods on High Performance Computers - Application to the Human Respiratory System

    Get PDF
    An overall strategy for numerical simulations of the full human respiratory system is introduced. The integrative approach takes advantage of numerical simulation, high performance computing and newly developed mathematical optimisation techniques, all based on a mesoscopic model description and on lattice Boltzmann methods as discretisation strategies. Validated numerical results are presented for the simulation of respirations in a real human lung and nose geometry captured by CT

    Adorym: A multi-platform generic x-ray image reconstruction framework based on automatic differentiation

    Full text link
    We describe and demonstrate an optimization-based x-ray image reconstruction framework called Adorym. Our framework provides a generic forward model, allowing one code framework to be used for a wide range of imaging methods ranging from near-field holography to and fly-scan ptychographic tomography. By using automatic differentiation for optimization, Adorym has the flexibility to refine experimental parameters including probe positions, multiple hologram alignment, and object tilts. It is written with strong support for parallel processing, allowing large datasets to be processed on high-performance computing systems. We demonstrate its use on several experimental datasets to show improved image quality through parameter refinement
    corecore