BURG: fast optimal instruction selection and tree parsing
ACM SIGPLAN Notices
C++ gems
An annotation language for optimizing software libraries
Proceedings of the 2nd conference on Domain-specific languages
Automatic loop transformations and parallelization for Java
Proceedings of the 14th international conference on Supercomputing
A Comparison of Performance-Enhancing Strategies for Parallel Numerical Object-Oriented Frameworks
ISCOPE '97 Proceedings of the Scientific Computing in Object-Oriented Parallel Environments
A Generator for Production Quality Compilers
CC '90 Proceedings of the Third International Workshop on Compiler Construction
Containers on the Parallelization of General-Purpose Java Programs
PACT '99 Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques
Macro Processing in Object-Oriented Languages
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Parallel object-oriented framework optimization: Research Articles
Concurrency and Computation: Practice & Experience - Compilers for Parallel Computers
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Self-adapting numerical software (SANS) effort
IBM Journal of Research and Development
Annotating user-defined abstractions for optimization
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Efficient, sensitivity resistant binary instrumentation
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Energy reduction by systematic run-time reconfigurable hardware deactivation
Transactions on High-Performance Embedded Architectures and Compilers IV
An extensible open-source compiler infrastructure for testing
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
We define a novel approach for optimizing the use of libraries within applications. We propose that library-defined abstractions be annotated with additional semantics to support their automated optimization. By leveraging these additional semantics we enable specialized optimizations of application codes which use library abstractions. We believe that such an approach entails the use of formal methods. It is a common perception that performance is inversely proportional to the level of abstraction. Our work shows that this is not the case if the additional semantics of library-defined abstractions can be leveraged. We describe ROSE, a framework for building source-to-source translators that perform high-level optimizations on scientific applications. ROSE allows the recognition of library abstractions and the optimization of their use in applications. We show how ROSE can utilize the semantics of userdefined abstractions in libraries within the compile-time optimization of applications.