A Versatile Tuple-Based Optimization Framework

Abstract

This thesis describes a versatile

tuple-based optimization framework. This framework is capable of

optimizing traditional imperative codes (such as sparse matrix

computations) as well as declarative codes (such as database queries). In the first part of this thesis, the vertical integration of database applications is discussed. Using the described framework it is possible to represent the application codes as well as the declarative database queries within the same intermediate representation, unlocking many optimization opportunities. The second part of this thesis explores the optimization of irregular codes using this framework. It is shown that by expressing irregular codes within the presented framework, many different variants of this code using different data structures can be generated automatically.

Optimizing compilersProgram transformationDatabase applicationsSparse matricesIrregular applications