Compilers play a central role in software development and especially the HPC space at the forefront of hardware evolution. For a while now, most development on compiler technology (relevant to HPC) has centered around the LLVM compiler framework. All major players use LLVM components in their compilers and tools, including ARM, AMD, Cray/HPE, IBM, Intel, and NVIDIA. LLVM is made up of (relatively) well known parts, e.g., Clang and Flang, and others that are less often talked about, e.g., libcxx, lld, lldb, and OpenMP (runtimes).
In this talk we will look at LLVM as a whole and some of its components in more detail. In the end we will briefly introduce some of the DoE/ECP efforts that extend LLVM (and sometimes vendor compilers) for HPC use cases.
Anouar Benali