The contributions of this paper are the following. 1. We introduce a new variety of generic programming in which algorithm implementors use a different API than data structure designers, the gap between the API's being bridged by restructuring compilers. One view of this approach is that it exploits restructuring compiler technology to perform a novel kind of template instantiation. 2. We demonstrate the usefulness of this new genetic programming technology by deploying it in a system that generates efficient sparse codes from high-level algorithms and specifications of sparse matrix formats. 3. We argue that sparse matrix formats should be viewed as indexed-sequential access data structures (in the database sense), and show that appropriate abstractions of the index structure of common formats can be conveyed to a restructuring compiler through the type system of a modern language that supports inheritance and templates.
REF introduce a generic programming API to generate efficient sparse code using high-level algorithms and sparse matrix format specifications.
Next-generation generic programming and its application to sparse matrix computations
ICS '00
Computer Science