BibTeX
@INBOOK{
Huck2015STf,
author = "H{\"u}ck, Alexander and Willkomm, Johannes and Bischof, Christian",
editor = "Mehl, Miriam and Bischoff, Manfred and Sch{\"a}fer, Michael",
title = "Source Transformation for the Optimized Utilization of the {M}atlab Runtime System for
Automatic Differentiation",
booktitle = "Recent Trends in Computational Engineering --- {CE}2014: Optimization,
Uncertainty, Parallel Algorithms, Coupled and Complex Problems",
year = "2015",
publisher = "Springer International Publishing",
address = "Cham",
pages = "115--131",
abstract = "Operator overloading in Matlab allows for user-defined types to semantically
augment existing Matlab codes without changes. However, given sufficient knowledge about types and
operand semantics, operator overloading can be replaced by equivalent function calls. The ADiMat
software tool provides automatic differentiation of Matlab functions using a hybrid approach that
combines source transformation and operator overloading. It can also be used as a general framework
for user-defined transformations of Matlab codes. Tests showed the potential for performance
improvement in a derivative class providing essential linear algebra functionality for ADiMat. The
Matlab runtime environment was benchmarked regarding function and method call overheads as well as
property access overhead with Matlab's objects. These tests identify the access to class
properties of type cell array as the main performance culprit. Hence, an automatic method,
transforming the XML based abstract syntax tree created with ADiMat's toolchain through a set
of stylesheets, was developed. This process completely removes the derivative object usage and hence
the operator overloading and the property access overhead from any derivative function created with
ADiMat. Experimental results show that performance is improved considerably depending on the data
container storing the derivative directions.",
isbn = "978-3-319-22997-3",
doi = "10.1007/978-3-319-22997-3_7",
url = "https://doi.org/10.1007/978-3-319-22997-3_7",
ad_tools = "ADiMat"
}
|