If the compilation time for an OpenCL™ program is of concern, consider reusing compilation results. It is typically faster than recreating you program from the source, but you should check for the specific program or device.
To retrieve binaries generated from calls to
clBuildProgram, you can call
CL_PROGRAM_BINARIESparameter. For the performance-critical applications that typically precompile kernel code to an Intermediate Representation (IR), you can cache the resulting binaries after the first OpenCL compilation and reuse them on subsequent executions by use of
clCreateProgramWithBinary. Another way to save intermediate binaries is to use the Intel® SDK for OpenCL™ Applications, as described in the Developer Guide for Intel® SDK for OpenCL™ Applications.