Brussels / 3 & 4 February 2024

schedule

Challenges of supporting multiple versions of LLVM in Intel Graphics Compiler


Intel Graphics Compiler (IGC) is a LLVM-based open-source project, which supports multiple operating systems and configurations. Thus, the project must support multiple versions of LLVM spanning form LLVM 9 to LLVM 14 and soon more recent versions. This talk focuses on mechanisms and practices that we use to support changes and inconsistencies between various versions of LLVM's unstable C++ API.

The presentation will also cover our plans for supporting newer LLVM versions. The challenge of upgrading to most recent versions comes from major API changes originating from the shift to opaque pointers in LLVM-IR. Due to the nature of GPU workloads, IGC must support a number of domain-specific types (textures, samplers) which were modelled internally as typed pointers.

The aim of the presentation is to share our experience with other maintainers and developers of LLVM-based projects.

Intel Graphics Compiler is available here: https://github.com/intel/intel-graphics-compiler/

Speakers

Photo of Mateusz Belicki Mateusz Belicki

Attachments

Links