scispace - formally typeset
Search or ask a question

Showing papers on "Source transformation published in 1992"


Journal ArticleDOI
TL;DR: Experimental results show that ADifOR can handle real-life codes and that ADIFOR-generated codes are competitive with divided-difference approximations of derivatives, and studies suggest that the source transformation approach to automatic differentiation may improve the time to compute derivatives by orders of magnitude.
Abstract: The numerical methods employed in the solution of many scientific computing problems require the computation of derivatives of a function f $R^N$→$R^m$ Both the accuracy and the computational requirements of the derivative computation are usually of critical importance for the robustness and speed of the numerical solution Automatic Differentiation of FORtran (ADIFOR) is a source transformation tool that accepts Fortran 77 code for the computation of a function and writes portable Fortran 77 code for the computation of the derivatives In contrast to previous approaches, ADIFOR views automatic differentiation as a source transformation problem ADIFOR employs the data analysis capabilities of the ParaScope Parallel Programming Environment, which enable us to handle arbitrary Fortran 77 codes and to exploit the computational context in the computation of derivatives Experimental results show that ADIFOR can handle real-life codes and that ADIFOR-generated codes are competitive with divided-difference approximations of derivatives In addition, studies suggest that the source transformation approach to automatic differentiation may improve the time to compute derivatives by orders of magnitude

458 citations


Proceedings Article
09 Nov 1992
TL;DR: This paper describes a practical metaprogramming system being developed as part of the ITRC Software Life Cycle Technology project, which utilizes source transformation to implement all phases of the metapprogramming process.
Abstract: Metaprogramming is the process of specifying generic software source templates from which classes of software components, or parts thereof, can be automatically instantiated to produce new software components. Metaprograms are specified in an annotated by-example style accessible to ordinary programmers of the source language. Annotations are in the form of Prolog-like predicates that specify the conditions under which different parts of the source template are to be instantiated. Instantiation of a source component is done by specifying facts about the new application in a database, from which the appropriate instance of the metaprogram is automatically inferred using Prolog-style deduction.This paper describes a practical metaprogramming system being developed as part of the ITRC Software Life Cycle Technology project, which utilizes source transformation to implement all phases of the metaprogramming process. Metaprograms are automatically transformed into TXL (Tree Transformation Language) source transformation tasks that automatically implement the instantiation process using TXL. Examples are shown of the use of metaprogramming in automatically deriving C language glue routines that allow Prolog programs to access the GL graphics library.

29 citations