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).
Preview
BP-Using-Polyvariant-2008.pdf
Download (228kB) | Preview
Official URL: http://docs.lib.purdue.edu/ecetr/367
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: | https://mural.maynoothuniversity.ie/id/eprint/8151 |
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)
Downloads
Downloads per month over past year