An automatic OpenCL compute kernel generator for basic linear algebra operations

  • Authors:
  • Philippe Tillet;Karl Rupp;Siegfried Selberherr

  • Affiliations:
  • Institute for Microelectronics, TU Wien, Wien, Austria;Institute for Microelectronics, TU Wien, Wien, Austria and Institute for Analysis and Scientific Computing, TU Wien Wiedner, Wien, Austria;Institute for Microelectronics, TU Wien, Wien, Austria

  • Venue:
  • Proceedings of the 2012 Symposium on High Performance Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

An automatic OpenCL compute kernel generator framework for linear algebra operations is presented. It allows for specifying matrix and vector operations in high-level C++ code, while the low-level details of OpenCL compute kernel generation and handling are dealt with in the background. Our approach releases users from considerable additional effort required for learning the details of programming graphics processing units (GPUs), and we demonstrate that higher performance than for a fixed, predefined set of OpenCL compute kernels is obtained due to the minimization of launch overhead. The generator is made available in the Vienna Computing Library (ViennaCL) and is demonstrated here with the stabilized bi-conjugate gradient algorithm, for which performance gains up to 40 percent are observed.