CAREER: Context-Aware and Context- Adaptive Code Optimization for New General High-Performance Computers
University Of Delaware, Newark DE
Investigators
Abstract
New general high-performance computing platforms simultaneously run multiple programs and a large number of threads. This presents unprecedented challenges for code optimization. First, the ubiquitous existence of multi-program and multi-thread makes a program run in an environment that has extensive resource competition. Second, the execution environment, which is the target of code optimization, is always changing during the life of a program. This project employs a systematic approach of optimization and runtime adaptation for multiple runtime contexts - Context-aware and Context-adaptive Optimization (CACAO). CACAO exploits both computer architectural features and runtime contexts in program optimizations and integrates four synergistic approaches: (1) Runtime environment characterization, which characterizes contexts in which a program will execute and augments compiler models with context; (2) New profiling techniques, which report both program performance and context information; (3) Context aware code optimization, which uses profiling information to identify and predict contexts, optimizes programs for different contexts, and integrates contextualized versions of a program; and (4) Dynamic code adaptation, which adapts programs at runtime by selecting the most suitable version of a program for the current context. The project directly leads to more effective compilation and code generation in all domains, thus bringing broad benefits to society, in particular for people who require the computation power from the new general high-performance computers. The project is expected to provide new code optimization techniques that accelerate programs in the new high-performance computers. The optimization techniques and resources will be disseminated as open-source software tools and packages.
View original record on NSF Award Search →