skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Parallelizable adjoint stencil computations using transposed forward-mode algorithmic differentiation

Journal Article · · Optimization Methods and Software
ORCiD logo [1];  [2];  [3];  [4]
  1. Department of Earth Science &, Engineering, Imperial College London, London, UK
  2. Argonne National Laboratory, Lemont, IL, USA
  3. Department of Computer Science, University of Arizona, Tucson, AZ, USA
  4. School of Engineering and Materials Science, Queen Mary University of London, London, UK

Algorithmic differentiation (AD) is a tool for generating discrete adjoint solvers, which efficiently compute gradients of functions with many inputs, for example for use in gradient-based optimization. AD is often applied to large computations such as stencil operators, which are an important part of most structured-mesh PDE solvers. Stencil computations are often parallelized, for example by using OpenMP, and optimized by using techniques such as cache-blocking and tiling to fully utilize multicore CPUs and many-core accelerators and GPUs. Differentiating these codes with conventional reverse-mode AD results in adjoint codes that cannot be expressed as stencil operations and may not be easily parallelizable. They thus leave most of the compute power of modern architectures unused. We present a method that combines forward-mode AD and loop transformation to generate adjoint solvers that use the same memory access pattern as the original computation that they are derived from and can benefit from the same optimization techniques. The effectiveness of this method is demonstrated by generating a scalable adjoint CFD solver for multicore CPUs and Xeon Phi accelerators.

Research Organization:
Argonne National Lab. (ANL), Argonne, IL (United States)
Sponsoring Organization:
National Science Foundation (NSF); USDOE Office of Science - Office of Advanced Scientific Computing Research; European Commission - Community Research and Development Information Service (CORDIS) - Seventh Framework Programme (FP7)
DOE Contract Number:
AC02-06CH11357
OSTI ID:
1477730
Journal Information:
Optimization Methods and Software, Vol. 33, Issue 4-6; ISSN 1055-6788
Publisher:
Taylor & Francis
Country of Publication:
United States
Language:
English

References (10)

Handling tens of thousands of cores with industrial/legacy codes: Approaches, implementation and timings journal October 2013
Interpretative adjoints for numerical simulation codes using MPI journal May 2010
On the performance of discrete adjoint CFD codes using automatic differentiation journal January 2005
Optimization of a U-Bend for Minimal Pressure Loss in Internal Cooling Channels—Part I: Numerical Method journal June 2013
OpenMP: an industry standard API for shared-memory programming journal January 1998
Algorithmic Differentiation of Code with Multiple Context-Specific Activities
  • Hückelheim, Jan Christian; Hascoët, Laurent; Müller, Jens-Dominik
  • ACM Transactions on Mathematical Software, Vol. 43, Issue 4 https://doi.org/10.1145/3015464
journal January 2017
Pseudo-timestepping and verification for automatic differentiation derived CFD codes journal July 2011
MPI-Parallel Discrete Adjoint OpenFOAM journal January 2015
Reverse-mode algorithmic differentiation of an OpenMP-parallel compressible flow solver journal February 2017
Why CPU Frequency Stalled journal January 2008