This paper presents an interactive framework for developing high-performance C code via series of source-to-source transformations. Optimization steps are described in transformation scripts, expressed as OCaml programs. The programmer can interactively visualize the textual differences associated with any step of the script. We demonstrate the effectiveness of OptiTrust by reproducing a manually optimized Particle-In-Cell numerical simulation, starting from a direct, unoptimized version of the algorithm. This case study covers many state-of-the-art optimization patterns that appear in numerical simulation codes. We argue that, compared with optimizing code by hand, deriving high performance code using a transformation script makes the code...
Programmers spent most of their time in speeding up a program. Sometimes, speeding up a program lead...
International audienceDevelopment of an HPC simulation code may take years of a domain scientists' w...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
This paper presents an interactive framework for developing high-performance C code via series of so...
International audienceWe present OptiTrust, an interactive framework for optimizing general-purpose ...
In this dissertation, we show that source-to-source optimization is an efficient method to generate ...
Abstract. Helping programmers write parallel software is an urgent problem given the popularity of m...
Code optimization or code transformation is a complex function of a compiler involving analyses and ...
International audienceCompiler high-level automatic optimization and parallelization techniques are ...
The ability to efficiently optimize or re-optimize an algorithm for high performance on a particular...
AbstractAs software systems become increasingly massive, the advantages of automated transformation ...
International audienceCompiler automatic optimization and parallelization techniques are well suited...
We show how locally replaceable code snippets can be used to easily specify and prototype compiler ...
Source code transformations are a very effective method of parallelizing and improving the efficienc...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Programmers spent most of their time in speeding up a program. Sometimes, speeding up a program lead...
International audienceDevelopment of an HPC simulation code may take years of a domain scientists' w...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
This paper presents an interactive framework for developing high-performance C code via series of so...
International audienceWe present OptiTrust, an interactive framework for optimizing general-purpose ...
In this dissertation, we show that source-to-source optimization is an efficient method to generate ...
Abstract. Helping programmers write parallel software is an urgent problem given the popularity of m...
Code optimization or code transformation is a complex function of a compiler involving analyses and ...
International audienceCompiler high-level automatic optimization and parallelization techniques are ...
The ability to efficiently optimize or re-optimize an algorithm for high performance on a particular...
AbstractAs software systems become increasingly massive, the advantages of automated transformation ...
International audienceCompiler automatic optimization and parallelization techniques are well suited...
We show how locally replaceable code snippets can be used to easily specify and prototype compiler ...
Source code transformations are a very effective method of parallelizing and improving the efficienc...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Programmers spent most of their time in speeding up a program. Sometimes, speeding up a program lead...
International audienceDevelopment of an HPC simulation code may take years of a domain scientists' w...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...