Results 1 -
8 of
8
Practical Run-time Adaptation with Procedure Cloning to Enable Continuous Collective Compilation
"... Iterative feedback-directed optimization is now a popular technique to obtain better performance and code size improvements for statically compiled programs over the default settings in a compiler. The offline evaluation of multiple optimization strategies for a given program is a potentially costly ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Iterative feedback-directed optimization is now a popular technique to obtain better performance and code size improvements for statically compiled programs over the default settings in a compiler. The offline evaluation of multiple optimization strategies for a given program is a potentially costly operation. The number of iterations typically grows with the complexity of the program transformation search space, and with the number of input datasets used for performance assessment. In addition, as the behavior of a program can vary considerably across different datasets, it is often preferable to generate different optimization versions, covering the full spectrum of the program’s representative datasets. Continuous and collective optimization are targeted at these issues. Continuous optimization searches for the best program transformation at run-time, taking advantages of the phase behavior of programs to evaluate multiple optimization versions within a single run, and dynamically adapting to changing execution contexts. Collective optimization interleaves optimization iterations with program executions
Int J Parallel Prog DOI 10.1007/s10766-010-0132-7 ACOTES Project: Advanced Compiler Technologies for Embedded Streaming
, 2009
"... © Springer Science+Business Media, LLC 2010 Abstract Streaming applications are built of data-driven, computational components, consuming and producing unbounded data streams. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs. Howeve ..."
Abstract
- Add to MetaCart
© Springer Science+Business Media, LLC 2010 Abstract Streaming applications are built of data-driven, computational components, consuming and producing unbounded data streams. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs. However, programming efficiently for streaming architectures is a challenging task, having to carefully partition the computation and map it to processes
Compiler Performance Engineering,
"... Streaming applications are based on a data-driven approach where compute components consume and produce unbounded data vectors. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs However, programming efficiently for streaming architec ..."
Abstract
- Add to MetaCart
Streaming applications are based on a data-driven approach where compute components consume and produce unbounded data vectors. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs However, programming efficiently for streaming architectures is a very challenging task, having to carefully partition the computation and map it to processes in a way that best matches the underlying multi-core streaming architectures, as well as having to take into account the needed resources (memory, processing, real-time requirements, etc.) and communication overheads (processing and delay) between the processors. These challenges have led to a number of suggested solutions, whose goal is to improve the programmer’s efficiency in developing applications that process massive streams of data on
Cupertino Miranda,
"... Tuning hardwired compiler optimizations for rapidly evolving hardware makes porting an optimizing compiler for each new platform extremely challenging. Our radical approach is to develop a modular, extensible, self-optimizing compiler that automatically learns the best optimization heuristics based ..."
Abstract
- Add to MetaCart
Tuning hardwired compiler optimizations for rapidly evolving hardware makes porting an optimizing compiler for each new platform extremely challenging. Our radical approach is to develop a modular, extensible, self-optimizing compiler that automatically learns the best optimization heuristics based on the behavior of the platform. In this paper we describe MILEPOST 1 GCC, a machine-learning-based compiler that automatically adjusts its optimization heuristics to improve the execution time, code size, or compilation time of specific programs on different architectures. Our preliminary experimental results show that it is possible to considerably reduce execution time of the MiBench benchmark suite on a range of platforms entirely automatically. 1
Team Alchemy Architectures, Languages and Compilers to Harness the End of Moore Years
"... c t i v it y e p o r t ..."
Project-Team Alchemy Architectures, Languages and Compilers to Harness the End of Moore Years
"... c t i v it y e p o r t ..."
PyPs, a programmable pass manager
"... Abstract. As hardware platforms are growing in complexity, compiler infrastructures need more exibility: due to the heterogeneity of these platforms, compiler phases must be combined in unusual and dynamic ways, and several tools may need to be combined to handle speci c parts of the compilation pro ..."
Abstract
- Add to MetaCart
Abstract. As hardware platforms are growing in complexity, compiler infrastructures need more exibility: due to the heterogeneity of these platforms, compiler phases must be combined in unusual and dynamic ways, and several tools may need to be combined to handle speci c parts of the compilation process e ciently. The need for exibility also appears in iterative compilation when di erent phase orderings are explored. In this context, we need to assemble pieces of software typically compiler phases without having to dive into the tool internals. The entity in charge of this phase management is called a pass manager. While pass managers used to rely on a statically de ned schedule, the introduction of plugins in gcc and the current trends in compiler design showcased by llvm pave the way for dynamic pass schedulers. The contributions of this paper are a high-level modeling of pass chaining and its implementation in the pips source-to-source compiler framework under the name pyps. As a result, we propose a high level api for building end-to-end specialized compilers with the minimum e orts validated by 5 prototypes detailed in the paper: an iterative compiler, an openmp directive generator, a C-to-cuda translator, a multimedia instruction generator and a C-to-fpga translator.
Author manuscript, published in "GCC Developers ' Summit (2009)" Collective Tuning Initiative: automating and
, 2009
"... Computing systems rarely deliver best possible performance due to ever increasing hardware and software complexity and limitations of the current optimization technology. Additional code and architecture optimizations are often required to improve execution time, size, power consumption, reliability ..."
Abstract
- Add to MetaCart
Computing systems rarely deliver best possible performance due to ever increasing hardware and software complexity and limitations of the current optimization technology. Additional code and architecture optimizations are often required to improve execution time, size, power consumption, reliability and other important characteristics of computing systems. However, it is often a tedious, repetitive, isolated and time consuming process. In order to automate, simplify and systematize program optimization and architecture design, we are developing open-source modular plugin-based Collective Tuning Infrastructure

