Cycles has a split OpenCL kernel since Blender release 2.75. It’s an alternative approach to what is used on CPU (so called megakernel). The idea behind splitting the kernel is to have multiple smaller kernels which are not only simpler and faster to compile, but also have better performance. Initial split kernel patch was done by AMD. Further work was also funded by AMD.
The OpenCL Split Kernel now supports nearly all features. Only Correlated multi jitter is missing. Baking works, but uses the mega kernel. Volumetrics, SSS, Branched path tracing, HDR lightning and Denoising are fully supported.
With current drivers, all production files from the official cycles benchmark pack, including the huge one from Gooseberry, render now pretty fast.
Activate OpenCL rendering
For AMD cards on Windows and Linux you just need to select your GPU under file -> user preferences -> system. The split kernel will be used