We present libVersioningCompiler, a C++ library designed to support the dynamic generation of multiple versions of the same compute kernel in a HPC scenario. It can be used to provide continuous optimization, code specialization based on the input data or on workload changes, or otherwise to dynamically adjust the application, without the burden of a full dynamic compiler. The library supports multiple underlying compilers but specifically targets the llvm framework.We also provide examples of use, showing the overhead of the library, and providing guidelines for its efficient use
Modern hardware features can boost the performance of an application, but software vendors are often...
International audienceComputer scientists are always eager to have a powerful, robust and stable com...
Much of the software in everyday operation is not making optimal use of the hardware on which it act...
We present libVersioningCompiler, a C++ library designed to support the dynamic generation of multip...
International audienceInstrumentation by sampling, adaptive computing and dynamic optimization can b...
Les compilateurs modernes consacrent beaucoup d efforts pour générer un code à la fois correct et ef...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
Les compilateurs offrent un excellent compromis entre le temps de développement et les performances ...
La compilation est une étape indispensable dans la création d'applications performantes.Cette étape ...
Thesis (Ph.D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer ...
International audienceIterative compilation is a widely adopted technique to optimize programs for d...
International audienceIn this paper, we propose a runtime framework that implements code multi-versi...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
This article describes a software environment called HybroGen, which helps to experiment binary code...
Compilation is an essential step to create efficient applications.This step allows the use of high-l...
Modern hardware features can boost the performance of an application, but software vendors are often...
International audienceComputer scientists are always eager to have a powerful, robust and stable com...
Much of the software in everyday operation is not making optimal use of the hardware on which it act...
We present libVersioningCompiler, a C++ library designed to support the dynamic generation of multip...
International audienceInstrumentation by sampling, adaptive computing and dynamic optimization can b...
Les compilateurs modernes consacrent beaucoup d efforts pour générer un code à la fois correct et ef...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
Les compilateurs offrent un excellent compromis entre le temps de développement et les performances ...
La compilation est une étape indispensable dans la création d'applications performantes.Cette étape ...
Thesis (Ph.D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer ...
International audienceIterative compilation is a widely adopted technique to optimize programs for d...
International audienceIn this paper, we propose a runtime framework that implements code multi-versi...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
This article describes a software environment called HybroGen, which helps to experiment binary code...
Compilation is an essential step to create efficient applications.This step allows the use of high-l...
Modern hardware features can boost the performance of an application, but software vendors are often...
International audienceComputer scientists are always eager to have a powerful, robust and stable com...
Much of the software in everyday operation is not making optimal use of the hardware on which it act...