Font Size: a A A

Implementation of just in time value specialization for the optimization of data parallel kernels

Posted on:2015-06-02Degree:Ph.DType:Dissertation
University:University of Massachusetts LowellCandidate:Tuck, NatFull Text:PDF
GTID:1478390020452785Subject:Computer Science
Abstract/Summary:
This dissertation explores just-in-time (JIT) specialization as an optimization for OpenCL data-parallel compute kernels. It describes the implementation and performance of two new extensions to OpenCL, Bacon and Specialization Annotated OpenCL (SOCL). Bacon is a replacement interface for OpenCL that provides improved usability and has JIT specialization built in. SOCL is a simple extension to OpenCL that allows JIT specialization to be applied to OpenCL kernels directly.;We have developed one implementation of Bacon and two implementations of SOCL, which are described and benchmarked. Both implementations of SOCL show significant speedups on some test programs. Speedups of up to 175% are demonstrated when JIT specialization is applied to kernels executing on graphics processing units (GPUs) from AMD and Nvidia using our Pancake library. With Specializing POCL, speedups of up to 150% are shown in tests on a dual-CPU 24-core workstation.;Extensive work has been done previously on JIT compilers and ahead-of-time specialization. Just in time value specialization is a well known technique, but is not commonly implemented as a optimization to improve runtime either in the literature or in existing systems. This work provides JIT value specialization as a general optimization explicitly exposed to the programmer and directly supported by the Bacon and SOCL runtime systems.
Keywords/Search Tags:Specialization, Optimization, JIT, SOCL, Implementation, Kernels, Opencl, Bacon
Related items