skip to main content
10.1145/1375527.1375545acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

A projection-based optimization framework for abstractions with application to the unstructured mesh domain

Published: 07 June 2008 Publication History

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.

References

[1]
Open fortran parser. http://fortran-parser.sourceforge.net, Apr. 2008.]]
[2]
M. H. Austern. Generic Programming and the STL: Using and Extending C]]
[3]
Standard Template Library. Addison Wesley, 1999. ISBN: 0201309564.]]
[4]
O. S. Bagge and M. Haveraaen. Domain-specific optimisation with user-defined rules in codeboost. In Workshop on Rule-Based Programming, 2003.]]
[5]
F. Bassetti, K. Davis, and D. Quinlan. Optimizing transformations of stencil operations for parallel object-oriented scientific frameworks on cache-based architectures. In Proc. International Symposium on Computing in Object-Oriented Parallel Environments, pages 107--118, 1998.]]
[6]
M. W. Beall and M. S. Shephard. An object-oriented framework for reliable numerical simulations. Engineering with Computers, 15(1):61--72, 1999.]]
[7]
J. M. Boyle, T. J. Harmer, and V. L. Winter. The TAMPR program transformation system: Simplifying the development of numerical software. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 353--372. Birkh\"auser, 1997.]]
[8]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Prog. Lang. Syst., 13(4):451--490, 1991.]]
[9]
R. Das, M. Uysal, J. H. Saltz, and Y.-S. Hwang. Communication optimizations for irregular scientific computations on distributed memory architectures. Journal of Parallel and Distributed Computing, 22(3):462--479, 1994.]]
[10]
T. B. Dinesh, M. Haveraaen, and J. Heering. An algebraic programming style for numerical software and its optimization. Scientific Programming, 8(4):247--259, 2000.]]
[11]
Edison Design Group. C]]
[12]
front end internal documentation. riptsize http:www.edg.com/docs/edg\_cpp.pdf, 2006.]]
[13]
R. Garcia, J. J\"arvi, A. Lumsdaine, J. Siek, and J. Willcock. A comparative study of language support for generic programming. In Proc. OOPSLA, pages 115--134, 2003.]]
[14]
D. Gregor, J. J\"arvi, J. Siek, B. Stroustrup, G. Dos Reis, and A. Lumsdaine. Concepts: Linguistic support for generic programming in c]]
[15]
. In Proc. OOPSLA, pages 291--310, 2006.]]
[16]
D. Gregor, S. Schupp, and D. R. Musser. Design patterns for library optimizations. In K. Davis and J.Strieglitz, editors, Proc. Parallel/High-Performance Object-Oriented Scientific Computing, pages 309--320, 2001.]]
[17]
W. Gropp, D. Kaushik, D. Keyes, and B. Smith. Performance modeling and tuning of an unstructured mesh cfd application. In Proc. Supercomputing International Conference on High Performance Computing, Networking, Storage and Analysis, 2000.]]
[18]
S. Guyer and C. Lin. An annotation language for optimizing software libraries. In Proc. USENIX Conference on Domain-Specific Languages, pages 39--52, 1999.]]
[19]
S. Guyer and C. Lin. Broadway: A compiler for exploiting the domain-specific semantics of software libraries. Proc. IEEE, 93(2), 2005. Special Issue on Program Generation, Optimization, and Platform Adaption.]]
[20]
IBM Corporation. HPM Tool Kit -- Home Page. http://www.alphaworks.bim.com/tech/hpmtoolkit, 2005.]]
[21]
K. Kennedy. Telescoping languages: A compiler strategy for implementation of high-level domain-specific programming systems. In Proc. IPDPS, pages 297--304, 2000.]]
[22]
K. Kennedy, B. Broom, A. Chauhan, R. J. Fowler, J. Garvin, C. Koelbel, C. McCosh, and J. Mellor-Crummey. Telescoping languages: A system for automatic generation of domain languages. Proc. of the IEEE, 93(2):387--408, 2005.]]
[23]
M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In Proc. PLDI, pages 211--222, June 2007.]]
[24]
N. Mateev, K. Pingali, and V. Kotlyar. Next-generation generic programming and its application to sparse matrix computations. In Proc. ICS, 2000.]]
[25]
V. Menon and K. Pingali. High-level semantic optimization of numerical codes. In Proc. ICS, pages 434--443, 1999.]]
[26]
P. J. Moran. Field model: An object-oriented data model for fields. Technical Report NAS-01-005, NASA Ames Research Center, 2001.]]
[27]
D. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software -- Practice and Experience, 24(7):623--642, 1994.]]
[28]
K. Olmos and E. Visser. Composing source-to-source data-flow transformations with rewriting strategies and dependent dynamic rewrite rules. In International Conference on Compiler Construction, Lecture Notes in Computer Science, pages 204--220, 2005.]]
[29]
J. Owen. An open-source project for modeling hydrodynamics in astrophysical systems. Computing in Science and Engineering, 3(4):54--59, Nov/Dec 2001.]]
[30]
D. Quinlan. Rose: Compiler support for object-oriented frameworks. In Proc. of Conference on Parallel Compilers, volume 10 of Parallel Processing Letters. Sringer Verlag, 2000.]]
[31]
D. Quinlan, M. Schordan, R. Vuduc, and Q. Yi. Annotating user-defined abstractions for optimizations. In Workshop on Performance Optimization for High-Level Languages and Libraries, 2006.]]
[32]
M. Schordan and D. Quinlan. A source-to-source architecture for user-defined optimizations. In Proc. Joint Modular Languages Conference, Lecture Notes in Computer Science, pages 214--223, 2003. vol. 2789, Springer-Verlag.]]
[33]
A. Stepanov and M. Lee. The standard template library. Technical Report 95-11(R.1), HP Laboratories, Nov. 1995.]]
[34]
M. M. Strout, J. Mellor-Crummey, and P. Hovland. Representation-independent program analysis. In PASTE, 2005.]]
[35]
B. White. A Semantics-Based Approach to Optimizing Unstructed Mesh Abstractions. PhD thesis, Cornell University, May 2008.]]
[36]
B. White, S. McKee, B. de Supinski, B. Miller, D. Quinlan, and M. Schulz. Improving the computational intensity of unstructured mesh applications. In Proc. ICS, pages 341--350, 2005.]]
[37]
Q. Yi and D. Quinlan. Applying loop optimizations to object-oriented abstractions through general classification of array semantics. In Proc. LCPC, 2004.]]

Index Terms

  1. A projection-based optimization framework for abstractions with application to the unstructured mesh domain

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '08: Proceedings of the 22nd annual international conference on Supercomputing
    June 2008
    390 pages
    ISBN:9781605581583
    DOI:10.1145/1375527
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 June 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. high-level abstraction semantics
    2. rose
    3. unstructured mesh

    Qualifiers

    • Research-article

    Conference

    ICS08
    Sponsor:
    ICS08: International Conference on Supercomputing
    June 7 - 12, 2008
    Island of Kos, Greece

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 172
      Total Downloads
    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Feb 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media