Draco: a method for engineering reusable software systems
Software reusability: vol. 1, concepts and models
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
Partial evaluation applied to numerical computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Increasing network throughput by integrating protocol layers
IEEE/ACM Transactions on Networking (TON)
Efficient context-sensitive pointer analysis for C programs
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Declarative specialization of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using PLAPACK: parallel linear algebra package
Using PLAPACK: parallel linear algebra package
Advanced compiler design and implementation
Advanced compiler design and implementation
An evaluation of staged run-time optimizations in DyC
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
DyC: an expressive annotation-directed dynamic compiler for C
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
PLAPACK: High Performance through High-Level Abstraction
ICPP '98 Proceedings of the 1998 International Conference on Parallel Processing
Fast concurrent dynamic linking for an adaptive operating system
ICCDS '96 Proceedings of the 3rd International Conference on Configurable Distributed Systems
Incorporating application semantics and control into compilation
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
DiSTiL: a transformation library for data structures
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
User-Extensible SimplificationType-Based Optimizer Generators
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Design patterns for library optimization
Scientific Programming - POOSC '01 Workshop
The Paralax infrastructure: automatic parallelization with a helping hand
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
Hi-index | 0.00 |
This paper introduces an annotation language and a compiler that together can customize a library implementation for specific application needs. Our approach is distinguished by its ability to exploit high level, domain-specific information in the customization process. In particular, the annotations provide semantic information that enables our compiler to analyze and optimize library operations as if they were primitives of a domain-specific language. Thus, our approach yields many of the performance benefits of domain-specific languages, without the effort of developing a new compiler for each domain. This paper presents the annotation language, describes its role in optimization, and illustrates the benefits of the overall approach. Using a partially implemented compiler, we show how our system can significantly improve the performance of two applications written using the PLAPACK parallel linear algebra library.