Siskind, Jeffrey Mark and Pearlmutter, Barak A.
(2008)
Using Polyvariant Union-Free Flow Analysis to Compile a Higher-Order Functional-Programming Language with a First-Class Derivative Operator to Efficient Fortran-like Code.
Technical Report.
ECE Technical Reports (Purdue e-Pubs).
Abstract
We exhibit an aggressive optimizing compiler for a functionalprogramming language which includes a first-class forward automatic differentiation (AD) operator. The compiler’s performance is competitive with FORTRAN-based systems on our numerical examples, despite the potential inefficiencies entailed by support of a functional-programming language and a first-class AD operator. These results are achieved by combining (1) a novel formulation of forward AD in terms of a reflexive mechanism that supports firstclass nestable nonstandard interpretation with (2) the migration to compile-time of the conceptually run-time nonstandard interpretation by whole-program inter-procedural flow analysis. Categories and Subject Descriptors G.1.4 [Quadrature and Numerical Differentiation]: Automatic differentiation; D.3.2 [Language Classifications]: Applicative (functional) languages; D.3.4 [Processors]: Code generation, Compilers, Optimization; F.3.2 [Semantics of Programming Languages]: Partial evaluation, Program analysis
Item Type: |
Monograph
(Technical Report)
|
Additional Information: |
Cite as: Siskind, Jeffrey M. and Pearlmutter, Barak A., "Using Polyvariant Union-Free Flow Analysis to Compile a Higher-Order Functional-
Programming Language with a First-Class Derivative Operator to Efficient Fortran-like Code" (2008). ECE Technical Reports. Paper 367.
http://docs.lib.purdue.edu/ecetr/367 |
Keywords: |
Forward AD; Source-to-source transformation; Reflection; Higher-order functions; Nonstandard interpretation; |
Academic Unit: |
Faculty of Science and Engineering > Computer Science |
Item ID: |
8151 |
Identification Number: |
367 |
Depositing User: |
Barak Pearlmutter
|
Date Deposited: |
13 Apr 2017 13:37 |
Publisher: |
ECE Technical Reports (Purdue e-Pubs) |
Refereed: |
Yes |
URI: |
|
Use Licence: |
This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available
here |
Repository Staff Only(login required)
|
Item control page |
Downloads per month over past year
Origin of downloads