|
|
Parallel Reverse Mode Automatic Differentiation for OpenMP Programs with ADOL-C-
incollection
- | |
|
Author(s)
Christian Bischof
, Niels Guertler
, Andreas Kowarz
, Andrea Walther
|
Published in Advances in Automatic Differentiation
|
Editor(s) Christian H. Bischof, H. Martin Bücker, Paul D. Hovland, Uwe Naumann, J. Utke |
Year 2008 |
Publisher Springer |
Abstract Shared-memory multicore computing platforms are becoming commonplace, and loop parallelization with OpenMP offers 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. |
Cross-References Bischof2008AiA |
AD Tools ADOL-C |
AD Theory and Techniques Parallelism |
BibTeX
@INCOLLECTION{
Bischof2008PRM,
title = "Parallel Reverse Mode Automatic Differentiation for {OpenMP} Programs with {ADOL-C}",
doi = "10.1007/978-3-540-68942-3_15",
author = "Christian Bischof and Niels Guertler and Andreas Kowarz and Andrea Walther",
abstract = "Shared-memory multicore computing platforms are becoming commonplace, and loop
parallelization with OpenMP offers 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.",
crossref = "Bischof2008AiA",
pages = "163--173",
booktitle = "Advances in Automatic Differentiation",
publisher = "Springer",
editor = "Christian H. Bischof and H. Martin B{\"u}cker and Paul D. Hovland and Uwe
Naumann and J. Utke",
isbn = "978-3-540-68935-5",
issn = "1439-7358",
year = "2008",
ad_tools = "ADOL-C",
ad_theotech = "Parallelism"
}
| |
back
|
|