Bacon: A GPU Programming System With Just in Time Specialization
University of Massachusetts Lowell, 1 University Ave, Lowell MA 01854
University of Massachusetts Lowell, 2012
@article{tuck2012bacon,
title={Bacon: A GPU Programming System With Just in Time Specialization},
author={Tuck, N.},
year={2012}
}
This paper describes Bacon, a data-parallel programming system targeting OpenCL-compatible graphics processors. This system is built upon the existing OpenCL standard in order to make it easier for programmers to write high performance kernels for GPU accelerated applications. The OpenCL C syntax is extended into a new language, Bacon C, intended to make development significantly more convenient and enabling pre-optimizations based on just-in-time specialization as this code is compiled via OpenCL at runtime. Benchmarks are provided for matrix multiplication comparing two Bacon implementations to similar OpenCL implementations. Speedups are demonstrated both for naive implementations and when comparing a Bacon implementation of generalized block decomposed matrix multiplication to a hand-vectorized OpenCL kernel. This latter result demonstrates the benefit of the total loop unrolling enabled by just-in-time specialization.
June 23, 2012 by hgpu