• DocumentCode
    1217992
  • Title

    Broadway: A Compiler for Exploiting the Domain-Specific Semantics of Software Libraries

  • Author

    Guyer, Samuel Z. ; Lin, Calvin

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Texas, Austin, TX, USA
  • Volume
    93
  • Issue
    2
  • fYear
    2005
  • Firstpage
    342
  • Lastpage
    357
  • Abstract
    This paper describes the Broadway compiler and our experiences in using it to support domain-specific compiler optimizations. Our goal is to provide compiler support for a wide range of domains and to do so in the context of existing programming languages. Therefore, we focus on a technique that we call library-level optimization, which recognizes and exploits the domain-specific semantics of software libraries. The key to our system is a separation of concerns: compiler expertise is built into the Broadway compiler machinery, while domain expertise resides in separate annotation files that are provided by domain experts. We describe how this system can optimize parallel linear algebra codes written using the PLAPACK library. We find that our annotations effectively capture PLAPACK expertise at several levels of abstraction and that our compiler can automatically apply this expertise to produce considerable performance improvements. Our approach shows that the abstraction and modularity found in modern software can be as much an asset to the compiler as it is to the programmer.
  • Keywords
    linear algebra; mathematics computing; program compilers; programming language semantics; software libraries; specification languages; Broadway compiler machinery; PLAPACK library; abstraction; domain specific compiler optimization; domain specific semantics; library level optimization; parallel linear algebra codes; programming languages; software libraries; Computer languages; Domain specific languages; Linear algebra; MATLAB; Machinery; Optimizing compilers; Program processors; Programming profession; Software libraries; Spirals; Compiler; domain-specific; library-level optimization;
  • fLanguage
    English
  • Journal_Title
    Proceedings of the IEEE
  • Publisher
    ieee
  • ISSN
    0018-9219
  • Type

    jour

  • DOI
    10.1109/JPROC.2004.840489
  • Filename
    1386656