We describe an approach to the reversal of the control flow of structured programs. It is used to automatically generate adjoint code for numerical programs by seman-tic source transformation. After a short introduction to applications and the implementation tool set, we describe the building blocks using a simple example. We then illus-trate the code reversal within basic blocks. The main part of the paper covers the reversal of structured control flow graphs. We show the algorithmic steps for simple branches and loops and give a detailed algorithm for the reversal of arbitrary combinations of loops and branches in a general control flow graph.
International audienceThe computation of gradients via the reverse mode of algorithmic differentiati...
Abstract: The paper is addressed to adjoint method applied to inverse problems of flow con...
Program slicing is a program transformation that is useful in program debugging, program maintenance...
Adjoint models are increasingly being developed for use in meteorology and oceanography. Typical app...
We show how to implement functionally the reverse, or adjoint strategy within the domain of Computat...
The history of programming is filled with works about the properties of program flow graphs. There a...
A specification-based method for the automatic generation of executable Fortran adjoint code is pres...
Self-modifying code is notoriously hard to understand and therefore very well suited to hide program...
Abstract. Self-modifying code is notoriously hard to understand and therefore very well suited to hi...
Different languages provide control structures with different kinds of flexibility. For example, CLU...
Key words: adjoint code, source transformation Abstract. This document reports on recent advances in...
The analysis and modification of numerical programs in the context of generating and optimizing adjo...
AbstractRuns of numerical computer programs can be visualized as directed acyclic graphs (DAGs). We ...
Abstract. This is the second instance in a series of papers on single-pass generation of derivative ...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
International audienceThe computation of gradients via the reverse mode of algorithmic differentiati...
Abstract: The paper is addressed to adjoint method applied to inverse problems of flow con...
Program slicing is a program transformation that is useful in program debugging, program maintenance...
Adjoint models are increasingly being developed for use in meteorology and oceanography. Typical app...
We show how to implement functionally the reverse, or adjoint strategy within the domain of Computat...
The history of programming is filled with works about the properties of program flow graphs. There a...
A specification-based method for the automatic generation of executable Fortran adjoint code is pres...
Self-modifying code is notoriously hard to understand and therefore very well suited to hide program...
Abstract. Self-modifying code is notoriously hard to understand and therefore very well suited to hi...
Different languages provide control structures with different kinds of flexibility. For example, CLU...
Key words: adjoint code, source transformation Abstract. This document reports on recent advances in...
The analysis and modification of numerical programs in the context of generating and optimizing adjo...
AbstractRuns of numerical computer programs can be visualized as directed acyclic graphs (DAGs). We ...
Abstract. This is the second instance in a series of papers on single-pass generation of derivative ...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
International audienceThe computation of gradients via the reverse mode of algorithmic differentiati...
Abstract: The paper is addressed to adjoint method applied to inverse problems of flow con...
Program slicing is a program transformation that is useful in program debugging, program maintenance...