Reuse Compilation Results with clCreateProgramWithBinary
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
clCreateProgramWithSource
and clBuildProgram
, you can call clGetProgramInfo
with the CL_PROGRAM_BINARIES
parameter. 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.