Johannes Doerfert is doing research and advancing LLVM compiler infrastructure in fields like inter-procedural optimization, OpenMP (offload), and parallel program optimizations. His interests also include the use of AI in compilers and smart/reactive software development.
Johannes is the Argonne Co-PI for the ECP Flang project where he helps to develop a modern Fortran compiler in the LLVM compiler project, the ECP PROTEAS-TUNE project where he works on LLVM advancements and tuning opportunities, and the ECP SOLLVE project which advances the OpenMP standard and implementation in LLVM. He is also involved in Project 38, an inter-lab effort to explore novel hardware accelerators.
Johannes graduated from Saarland University in 2018 with a Ph.D. in computer science that was focused on the usage of polyhedral compiler technologies in low level codes. He is an active contributor to the LLVM compiler project since 2014 and the OpenMP standard since 2018. Johannes co-organized the Euro-LLVM 2017, the LLVM-Performance workshop at CGO since 2017, as well as the LLVM events at ISC since 2019.
Johannes is always open for new collaborations and has intern positions available for students.
Current Projects (incomplete):
- The Attributor, an inter-procedural fixpoint iteration framework in LLVM [Videos: introduction, tutorial]
- Parallel Program Optimizations [Papers: Compiler Optimizations For OpenMP, Compiler Optimizations For Parallel Programs; Videos: Optimizing Indirection Without Remorse, (OpenMP) Parallelism-Aware Optimizations]
- Remote OpenMP offloading
- Lightweight Link-Time-Optimizations (LTO) [Video: “Header-Time Optimizations”]