Affiliation:
1. Sandia National Laboratories, Albuquerque, NM, USA
Abstract
Automatic differentiation (AD) is a well-known technique for evaluating analytic derivatives of calculations implemented on a computer, with numerous software tools available for incorporating AD technology into complex applications. However, a growing challenge for AD is the efficient differentiation of parallel computations implemented on emerging manycore computing architectures such as multicore CPUs, GPUs, and accelerators as these devices become more pervasive. In this work, we explore forward mode, operator overloading-based differentiation of C++ codes on these architectures using the widely available Sacado AD software package. In particular, we leverage Kokkos, a C++ tool providing APIs for implementing parallel computations that is portable to a wide variety of emerging architectures. We describe the challenges that arise when differentiating code for these architectures using Kokkos, and two approaches for overcoming them that ensure optimal memory access patterns as well as expose additional dimensions of fine-grained parallelism in the derivative calculation. We describe the results of several computational experiments that demonstrate the performance of the approach on a few contemporary CPU and GPU architectures. We then conclude with applications of these techniques to the simulation of discretized systems of partial differential equations.
Funder
U.S. Department of Energy’s National Nuclear Security Administration
Sandia National Laboratories
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Reference57 articles.
1. D. Abrahams and A. Gurtovoy. 2004. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley.
2. Periodic table of finite elements;Arnold D. N.;SIAM News,2014
3. Expression Templates and Forward Mode Automatic Differentiation
4. Automatic Differentiation of C++ Codes for Large-Scale Scientific Computing
5. Martin Berz, Christian Bischof, George Corliss, and Andreas Griewank (Eds.). 1996. Computational Differentiation: Techniques, Applications and Tools. SIAM, Philadelphia, PA.
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automatic Orchestration Algorithm of Graphic Language in Visual Communication Design;2024 International Conference on Optimization Computing and Wireless Communication (ICOCWC);2024-01-29
2. Efficient GPU Implementation of Automatic Differentiation for Computational Fluid Dynamics;2023 IEEE 30th International Conference on High Performance Computing, Data, and Analytics (HiPC);2023-12-18
3. Towards an automatic uncertainty compiler;International Journal of Approximate Reasoning;2023-09