Publication: Source Transformation for the Optimized Utilization of the Matlab Runtime System for Automatic Differentiation
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

Source Transformation for the Optimized Utilization of the Matlab Runtime System for Automatic Differentiation

- Part of a book -
 

Author(s)
Alexander Hück , Johannes Willkomm , Christian Bischof

Published in
Recent Trends in Computational Engineering --- CE2014: Optimization, Uncertainty, Parallel Algorithms, Coupled and Complex Problems

Editor(s)
Miriam Mehl, Manfred Bischoff, Michael Schäfer

Year
2015

Publisher
Springer International Publishing

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.

AD Tools
ADiMat

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"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)