T. van Deurzen
- An adaptive compilation framework for generic data-parallel array programming
- 27. Workshop der GI-Fachgruppe Programmiersprachen und Rechenkonzepte, Bad Honnef, Germany
- Book/source title
- 27. Workshop der GI-Fachgruppe Programmiersprachen und Rechenkonzepte
- Pages (from-to)
- Kiel, Germany: University of Kiel, Institute for Computer Science
- Document type
- Conference contribution
- Faculty of Science (FNWI)
- Informatics Institute (IVI)
Generic array programming abstracts from structural properties of arrays, such as rank (number of axes/dimensions) and shape (number of element along each axis/dimension). This allows for abstract program specifications and, as such, is desirable from a software engineering perspective. However, generic programming in this sense does have an adverse effect on runtime performance when executed naively. Static compiler analyses and transformations aim at reconciling software engineering desires for generic code with runtime performance requirements. However, they are bound to fail whenever the required information is not available until runtime.
We propose a compilation framework that overcomes the inherent limitations of static analysis by incrementally adapting a running program to the structural properties of the arrays it operates on. This is achieved by partial recompilation of code at runtime, when all structural properties of arrays are known, and dynamic relinking of the running program with dynamically generated code. We sketch out the general compilation framework architecture and discuss implementation aspects.
If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library, or send a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible.