An Automatic OpenCL Compute Kernel Generator for Basic Linear Algebra Operations
Institute for Microelectronics, TU Wien
Spring Simulation Multiconference (SpringSim’12), 2012
@article{tillet2012automatic,
title={An Automatic OpenCL Compute Kernel Generator for Basic Linear Algebra Operations},
author={Tillet, P. and Rupp, K. and Selberherr, S.},
year={2012}
}
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 a factor 1:6 are observed.
April 21, 2012 by hgpu