## Declarative Assembler (2004)

Citations: | 3 - 2 self |

### BibTeX

@TECHREPORT{An04declarativeassembler,

author = {Christopher Kumar An and Jacques Carette and Wolfram Kahl and Ryan Lortie},

title = {Declarative Assembler},

institution = {},

year = {2004}

}

### OpenURL

### Abstract

Abstract. As part of a larger project, we have built a declarative assembly language. This language enables us to specify multiple code paths to compute particular quantities, giving the instruction scheduler more flexibility in balancing execution resources for superscalar execution. The instruction scheduler is also innovative in that it includes aggressive pipelining, and exhaustive (but lazy) search for optimal instruction schedules. We present some examples where our approach has produced very promising results. 1

### Citations

588 | From System F to Typed Assembly Language
- Morrisett, Walker, et al.
- 1999
(Show Context)
Citation Context ...s is why we are able to obtain a better schedule in the linear spline example. Others have already given assembly language a more modern treatment. Of these, the work on Typed Assembly Language (TAL) =-=[8]-=- and the “higher-level” assembler of C-- [9] stand out. Like TAL, our assembler is typed, but as we strive for extreme efficiency, we have had to abandon portability altogether. It would of course be ... |

72 | Term graph rewriting
- Plump
- 1999
(Show Context)
Citation Context ...nts. An alternative representation was introduced with the name of jungle by Hoffmann and Plump [6] for the purpose of efficient implementation of term rewriting systems (it is called “term graph” in =-=[10]-=-). A jungle is a directed hypergraph where nodes are only labelled with type information (if applicable), function names are hyperedge labels, each hyperedge has a sequence of input tentacles and exac... |

66 | C–, a portable assembly language that supports garbage collection
- Jones, Ramsey, et al.
- 1999
(Show Context)
Citation Context ...dule in the linear spline example. Others have already given assembly language a more modern treatment. Of these, the work on Typed Assembly Language (TAL) [8] and the “higher-level” assembler of C-- =-=[9]-=- stand out. Like TAL, our assembler is typed, but as we strive for extreme efficiency, we have had to abandon portability altogether. It would of course be interesting to see if our ideas can be gener... |

38 | An Algebraic Presentation of Term Graphs, via GSMonoidal Categories. Applied Categorical Structures 7:299–331
- Corradini, Gadducci
- 1999
(Show Context)
Citation Context ...sult that conventional term graphs, extended with sequencing information for source (input) and sink (output) nodes, are obtained as arrows of free gs-monoidal categories over conventional signatures =-=[3]-=-. GS-monoidal categories can be obtained as a generalisation of cartesian categories5 , where the naturality conditions are weakened for the transformations of duplication (sharing) ∇α : α → α × α and... |

35 | Cyclic Lambda Graph Rewriting
- Ariola, Klop
- 1994
(Show Context)
Citation Context ...sembly Language for Data-Flow Code Graphs In concrete syntax, a code graph of the Coconut Assembler language is presented in a way that is very similar to the equation systems used by Ariola and Klop =-=[2]-=- to denote (cyclic) term graphs. This equational approach allows us to write down sub-trees of a code graph in conventional expression notation, and expresses sharing (and, in the case of [2], cycles)... |

13 |
Jungle evaluation for efficient term rewriting
- Hoffmann, Plump
- 1988
(Show Context)
Citation Context ... design and present different opportunities for optimization. 3 Code Graph Syntax and Semantics Our code graphs are a kind of directed hypergraphs that can be seen as generalisation of the jungles of =-=[6]-=-, which are essentially a hypergraph presentation of term graphs with variables. In this section, we first motivate the definition of our code graphs in detail; then we present the macro assembly lang... |

6 | Functorial semantics for multi-algebras
- Corradini, Gadducci
- 1999
(Show Context)
Citation Context ...monoidal categories has the advantage that this provide us with a combinator language for our code graphs that easily accommodates the macro mechanism, and the relational (multi-algebra) semantics of =-=[4, 5]-=- also carries over without problems (⊗ is then parallel composition of relations): – co-termination is interpreted as the empty relation, and – joining ∆α is interpretated as the relation [[ ∆α ] with... |

5 | Term graph syntax for multi-algebras
- Corradini, Gadducci, et al.
- 2000
(Show Context)
Citation Context ...monoidal categories has the advantage that this provide us with a combinator language for our code graphs that easily accommodates the macro mechanism, and the relational (multi-algebra) semantics of =-=[4, 5]-=- also carries over without problems (⊗ is then parallel composition of relations): – co-termination is interpreted as the empty relation, and – joining ∆α is interpretated as the relation [[ ∆α ] with... |

5 |
Refinement and development of programs from relational specifications
- Kahl
- 2001
(Show Context)
Citation Context ...pecification entails showing that each each total function contained in [ G ] is correct with respect to the specification under consideration. When the specification is also given as a relation (see =-=[7]-=-), then this correctness condition boils down to a simple inclusion of relations. Equipped with this understanding, several improvements fit in without any problems. Amongst these are “non-determinist... |

4 |
embeddable design method for spiral magnetic resonance image reconstruction resampling kernels. Optimization and Engineering 2004;5(4):485–502
- CK, Terlaky, et al.
(Show Context)
Citation Context ...ning code is the main source of complexity in the scheduler. Example: In Figure 1, we show the code graph for a fragment needed for efficiently computing nonuniform Fourier Transforms as described in =-=[1]-=-. This operation requires the evaluation of a function of two variablessdefined as the tensor product of two uniform linear splines, on a 4x4 regular grid of points. This fragment evaluates the unifor... |

3 |
Andre Seznec, Gwendal Le Fol, Francois Charot, and Frederic Raimbault. SALTO: System for assembly-language transformation and optimization
- Rohou, Bodin
- 1996
(Show Context)
Citation Context ... languages than the PowerPC. The thorough information contained in [11] about the design of machine-description languages is an excellent starting point. The experience gathered with the SALTO system =-=[12]-=- is also quite relevant. 6 Conclusion and Future Work We are pleased that our initial idea of combining a declarative paradigm with a low-level assembly language was not only realizable, but in fact g... |

1 | Design principles for machine-description languages. http://www.eecs.harvard.edu/˜nr/pubs/desprin.pdf
- Ramsey, Davidson, et al.
(Show Context)
Citation Context ...ave had to abandon portability altogether. It would of course be interesting to see if our ideas can be generalized to other assembly languages than the PowerPC. The thorough information contained in =-=[11]-=- about the design of machine-description languages is an excellent starting point. The experience gathered with the SALTO system [12] is also quite relevant. 6 Conclusion and Future Work We are please... |