Back to Search Start Over

Multithreaded derivative computation with generated libraries.

Authors :
Buntinas, Darius
Malozemoff, Alexis J.
Utke, Jean
Source :
Journal of Computational Science; Jun2010, Vol. 1 Issue 2, p89-97, 9p
Publication Year :
2010

Abstract

Abstract: The computation of derivatives via automatic differentiation is a valuable technique in many science and engineering applications. While the implementation of automatic differentiation via source transformation yields the highest efficiency results, particularly for gradient computations, the implementation via operator overloading remains a viable alternative for some application contexts. Examples include the computation of higher order derivatives or cases where C++ as the language of choice still proves to be too complicated for the currently available source transformation tools. In this paper, we utilize a code generator to create libraries that overload intrinsics for derivative computation, and discuss approaches to improve the efficiency of the generated code. We first discuss the use of limited loop unrolling, but the main focus of the paper is multithreaded derivative computation, in particular an asynchronous scheme for C++ and a synchronous scheme for Fortran. We present test results obtained with a proof-of-concept implementation. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
18777503
Volume :
1
Issue :
2
Database :
Supplemental Index
Journal :
Journal of Computational Science
Publication Type :
Periodical
Accession number :
53886095
Full Text :
https://doi.org/10.1016/j.jocs.2010.03.009