Profile-Guided Compiler Optimization with LLVM/Clang

Dear LLVM community,

I am very happy to become a member of this great community. At the German Climate Research Center (DKRZ) I am a PhD student and write my thesis in python. The general topic is Compiler Optimization in High Performance Computing. My use cases are climate models, written in C/C++.
In Frankfurt I am working at a HPC Cluster Center and my duties are to monitor and to optimize the usage of the cluster.

Last year in Saarbrücken was my first time to visit LLVM developers meeting. There I presented my poster about “Intelligent selection of compiler options to optimize compile time and performance” (

I would like to learn from all of you and would like to start a conversion about the specific topic: Profile-Guided Compiler Optimization with LLVM/Clang.

We’ve already tested several optimization flags and want to continue to understand and exploit the capabilities of compilers for a better understanding: what performance a system can best achieve.

The AIMES project ( has already developed a number of higher-level language extensions (DSL) to support climate modeling, as well as the development of a source-to-source translation tool that translates domain-specific code for various architectures (GPU, CPU).

My job will be, basically to optimize compilers that HPC applications can run more efficiently. This provides an interface to the DSL. With the help of DSL we can make transformations that a compiler may not make due to language restrictions. The code should then be translated into a form that can achieve the best possible performance from the compiler.

I really appreciate your reply.

Kind Regards