IGC: The Open Source Intel Graphics Compiler

被引:0
|
作者
Chandrasekhar, Anupama [1 ]
Chen, Gang [1 ]
Chen, Po-Yu [1 ]
Chen, Wei-Yu [1 ]
Gu, Junjie [1 ]
Guo, Peng [1 ]
Kumar, Shruthi Hebbur Prasanna [1 ]
Lueh, Guei-Yuan [1 ]
Mistry, Pankaj [1 ]
Pan, Wei [1 ]
Raoux, Thomas [1 ]
Trifunovic, Konrad [2 ]
机构
[1] Intel Corp, Santa Clara, CA 95054 USA
[2] Intel Corp, Gdansk, Poland
关键词
D O I
10.1109/cgo.2019.8661189
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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%.
引用
收藏
页码:254 / 265
页数:12
相关论文
共 50 条
  • [31] An overview of the Open Research Compiler
    Wu, CY
    Lian, RQ
    Zhang, JC
    Ju, R
    Chan, S
    Liu, LX
    Feng, XB
    Zhang, ZQ
    LANGUAGES AND COMPILERS FOR HIGH PERFORMANCE COMPUTING, 2005, 3602 : 17 - 31
  • [32] TRACO: SOURCE-TO-SOURCE PARALLELIZING COMPILER
    Palkowski, Marek
    Bielecki, Wlodzimierz
    COMPUTING AND INFORMATICS, 2016, 35 (06) : 1277 - 1306
  • [34] A Source-to-Source OpenACC Compiler for CUDA
    Tabuchi, Akihiro
    Nakao, Masahiro
    Sato, Mitsuhisa
    EURO-PAR 2013: PARALLEL PROCESSING WORKSHOPS, 2014, 8374 : 178 - 187
  • [35] A Case Study on Compiler Optimizations for the Intel® CoreTM 2 Duo Processor
    Aart J. C. Bik
    David L. Kreitzer
    Xinmin Tian
    International Journal of Parallel Programming, 2008, 36 : 571 - 591
  • [36] NxTF: An API and Compiler for Deep Spiking Neural Networks on Intel Loihi
    Rueckauer, Bodo
    Bybee, Connor
    Goettsche, Ralf
    Singh, Yashwardhan
    Mishra, Joyesh
    Wild, Andreas
    ACM JOURNAL ON EMERGING TECHNOLOGIES IN COMPUTING SYSTEMS, 2022, 18 (03)
  • [37] A Case Study on Compiler Optimizations for the Intel® Core™ 2 Duo Processor
    Bik, Aart J. C.
    Kreitzer, David L.
    Tian, Xinmin
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2008, 36 (06) : 571 - 591
  • [38] A Cross-platform Evaluation of Graphics Shader Compiler Optimization
    Crawford, Lewis
    O'Boyle, Michael
    2018 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS), 2018, : 219 - 228
  • [39] ESSL Compiler for Embedded 3D Graphics Architecture
    Robart, Mathieu
    Hill, Steve
    2009 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS, 2009, : 135 - 136
  • [40] Design and Implementation of an Open Source OpenGL SC 2.0.1 Installable Client Driver and Offline Compiler
    Maria Trompouki, Matina
    Sole Bonet, Marc
    Pedrajas Perez, Josue
    Kosmidis, Leonidas
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2024, PT II, 2025, 15227 : 126 - 134