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
Link To Document