IGC: The Open Source Intel Graphics Compiler
Citations Over TimeTop 15% of 2019 papers
Abstract
With increasing general purpose programming capability, GPUs have become the mainstay for a wide variety of compute intensive tasks from cloud to edge computing. Because of its availability on nearly every desktop and mobile processor that Intel ships, Intel integrated GPU offers a plethora of opportunities for researchers and application developers to make significant real-world impact. In this paper we present the Intel Graphics Compiler (IGC), the LLVM-based production compiler for Intel HD and Iris graphics. IGC supports all major graphics and compute APIs, and its OpenCL compute stack including compute runtime, compiler frontend and backend, and architecture specification is fully open-source, giving a unique opportunity for developers to optimize the entire stack. We highlight several custom optimizations that address the challenges for GPU compilation. Examples include SIMD size selection, divergence analysis, instruction scheduling, addressing mode selection, and redundant copy elimination. These optimizations take advantage of features in the Intel GPU architecture such as a larger register file, indirect register addressing, and multiple memory addressing modes. Experimental results show that our optimizations deliver significant speedup on a number of OpenCL benchmarks; compared to the baseline, we see a geometric mean of 12% speed up across benchmarks with a peak gain of 45%.
Related Papers
- → MPI-aware compiler optimizations for improving communication-computation overlap(2009)43 cited
- → SIMD Optimization in COINS Compiler Infrastructure(2006)6 cited
- → Hybrid system, a new low cost parallel cluster(2003)4 cited
- → Novel MRC algorithms using GPGPU(2012)3 cited
- → How General-Purpose can a GPU be?(2015)2 cited