vix.ing · top · new · best · stats · spec

Improving OpenCL Performance by Specializing Compiler Phase Selection and Ordering

2018/10/24 by Ricardo Nobre, Luís Reis, Luis Alexandre Cubal dos Reis +4
Computer Science · Decision Sciences · #Distributed and Parallel Computing Systems #FOS: Computer and information sciences #Parallel Computing and Optimization Techniques #Performance (cs.PF) #Scientific Computing and Data Management #cs.PF

paper · pdf · doi:10.48550/arxiv.1810.10496

26 pages, 7 figures, Extended version of paper presented at 15th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar'2017), August 28th, 2017, Santiago de Compostela, Spain

arxiv created 2018/10/24 · openalex publication_date 2018/10/24 · arxiv updated 2018/10/25 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Automatic compiler phase selection/ordering has traditionally been focused on CPUs and, to a lesser extent, FPGAs. We present experiments regarding compiler phase ordering specialization of OpenCL kernels targeting a GPU. We use iterative exploration to specialize LLVM phase orders on 15 OpenCL benchmarks to an NVIDIA GPU. We analyze the generated NVIDIA PTX code for the various versions to identify the main causes of the most significant improvements and present results of a set of experiments that demonstrate the importance of using specific phase orders. Using specialized compiler phase orders, we were able to achieve geometric mean improvements of 1.54x (up to 5.48x) and 1.65x (up to 5.7x) over PTX generated by the NVIDIA CUDA compiler from CUDA versions of the same kernels, and over execution of the OpenCL kernels compiled from source with the NVIDIA OpenCL driver, respectively. We also evaluate the use of code-features in the OpenCL kernels. More specifically, we evaluate an approach that achieves geometric mean improvements of 1.49x and 1.56x over the same OpenCL baseline, by using the compiler sequences of the 1 or 3 most similar benchmarks, respectively.

Related