×

Parallel reverse mode automatic differentiation for OpenMP programs with ADOL-C. (English) Zbl 1156.68620

Bischof, Christian H. (ed.) et al., Advances in automatic differentiation. Selected papers based on the presentations at the 5th international conference on automatic differentiation, Bonn, Germany, August 11–15, 2008. Berlin: Springer (ISBN 978-3-540-68935-5/pbk). Lecture Notes in Computational Science and Engineering 64, 163-173 (2008).
Summary: Shared-memory multicore computing platforms are becoming commonplace, and loop parallelization with OpenMP ofters an easy way for the user to harness their power. As a result, tools for Automatic Differentiation (AD) should be able to deal with such codes in a fashion that preserves their parallel nature also for the derivative evaluation. In this paper, we explore this issue using a plasma simulation code. Its structure, which in essence is a time stepping loop with several parallelizable inner loops, is representative of many other computations. Using this code as an example, we develop a strategy for the efficient implementation of the reverse mode of AD with trace-based AD-tools and implement it with the ADOL-C tool. The strategy combines checkpointing at the outer level with parallel trace generation and evaluation at the inner level. We discuss the extensions necessary for ADOL-C to work in a multithreaded environment and the setup necessary for the user code and present performance results on a shared-memory multiprocessor.
For the entire collection see [Zbl 1143.65003].

MSC:

68W30 Symbolic computation and algebraic computation

Software:

ADOL-C