Title | ||
---|---|---|
A projection-based optimization framework for abstractions with application to the unstructured mesh domain |
Abstract | ||
---|---|---|
Computational scientists often must choose between the greater programming productivity of high-level abstractions, such as matrices and mesh entities, and the greater execution efficiency of low-level constructs. Performance is degraded when abstraction indirection introduces overhead and hinders compiler analysis. This can be overcome by targeting the semantics, rather than the implementation, of abstractions. Raising operators specified by a domain expert project an application from an implementation space to an abstraction space, where optimizations leverage domain semantics to complement conservative analyses. Raising operators define a domain-specific intermediate representation, which optimizations target for improved portability. Following optimization, transformed code is reified as a concrete implementation via lowering operators. We have developed a framework to implement this optimization strategy, which we use to introduce two domain-specific unstructured mesh optimizations. The first uses an inspector/executor approach to avoid costly traversals over a static mesh by memoizing the relatively few references required for mathematical computations. The executor phase accesses stored entities without incurring the indirections. The second optimization lowers object-based mesh access and iteration to a low-level implementation, which uses integer-based access and iteration. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1145/1375527.1375545 | I4CS |
Keywords | Field | DocType |
optimizations leverage domain semantics,domain-specific unstructured mesh optimizations,low-level implementation,projection-based optimization framework,unstructured mesh domain,static mesh,optimization strategy,mesh entity,object-based mesh access,implementation space,abstraction indirection,concrete implementation,intermediate representation,transform coding | Programming productivity,Indirection,Executor,Programming language,Computer science,Parallel computing,Compiler,Operator (computer programming),Software portability,Memoization,Static mesh | Conference |
Citations | PageRank | References |
0 | 0.34 | 25 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Brian S. White | 1 | 112 | 11.21 |
Sally A. Mckee | 2 | 1928 | 152.59 |
Daniel Quinlan | 3 | 139 | 8.27 |