Even parts of a program that are sequential or just inherently difficult to parallelize can be optimized for ILP. For instance, eliminating loop overheads and potential pipeline stalls from control flow can alleviate performance bottle-necks. Unfortunately, static compilation is limited in the extent to which it can identify opportunities to apply such optimizations. Generating code dynamically at run time, however, create much more efficient applications by usin information not available at compile time. We demonstrate our approach on a sparse-matrix PET scan code by aggressive unrolling loops and specializing code via dynamic code generation. We leverage task-level parallelism by having an auxiliary processor core concurrently generate co...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
GPU devices are becoming a common element in current HPC platforms due to their high performance-per...
AbstractSpeculative parallelization is a classic strategy for automatically parallelizing codes that...
The overhead of performing optimizations during execu-tion is the main hindrance in achieving good p...
We are building an operating system in which an integral run-time code generator constantly strives ...
As software becomes more complex and the costs of developing and maintaining code increase, dynamic ...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
Performance bounds represent the best achievable performance that can be delivered by target microar...
Abstract. Helping programmers write parallel software is an urgent problem given the popularity of m...
Phase-decoupled methods for code generation are the state of the art in compilers for standard proce...
International audienceIn this paper, we present a new runtime code generation technique for speculat...
Abstract. Dynamic compilation is becoming a dominant compilation technique. Runtime compilation has ...
We advocate using performance bounds to guide code optimizations. Accurate performance bounds establ...
Scientific applications are ideal candidates for the “heterogeneous computing” paradigm, in which pa...
Abstract. Tera-scale high-performance computing has enabled scientists to tackle very large and comp...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
GPU devices are becoming a common element in current HPC platforms due to their high performance-per...
AbstractSpeculative parallelization is a classic strategy for automatically parallelizing codes that...
The overhead of performing optimizations during execu-tion is the main hindrance in achieving good p...
We are building an operating system in which an integral run-time code generator constantly strives ...
As software becomes more complex and the costs of developing and maintaining code increase, dynamic ...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
Performance bounds represent the best achievable performance that can be delivered by target microar...
Abstract. Helping programmers write parallel software is an urgent problem given the popularity of m...
Phase-decoupled methods for code generation are the state of the art in compilers for standard proce...
International audienceIn this paper, we present a new runtime code generation technique for speculat...
Abstract. Dynamic compilation is becoming a dominant compilation technique. Runtime compilation has ...
We advocate using performance bounds to guide code optimizations. Accurate performance bounds establ...
Scientific applications are ideal candidates for the “heterogeneous computing” paradigm, in which pa...
Abstract. Tera-scale high-performance computing has enabled scientists to tackle very large and comp...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
GPU devices are becoming a common element in current HPC platforms due to their high performance-per...
AbstractSpeculative parallelization is a classic strategy for automatically parallelizing codes that...