public static extern CLError clBuildProgram( CLProgram program, uint num_devices, [In] CLDeviceID[] device_list, IntPtr options, NotifyFunction func, IntPtr user_data);
public static extern CLError clGetProgramBuildInfo( CLProgram program, CLDeviceID device, CLProgramBuildInfo param_name, SizeT param_value_size, IntPtr param_value, ref SizeT param_value_size_ret);
public static extern CLError clCompileProgram( CLProgram program, uint num_devices, [In] CLDeviceID[] device_list, string options, uint num_input_headers, [In] CLProgram[] input_headers, [In] IntPtr[] header_include_names, NotifyFunction pfn_notify, IntPtr user_data);
public static extern CLError clCreateKernelsInProgram( CLProgram program, uint num_kernels, [Out] CLKernel[] kernels, ref uint num_kernels_ret);
public static extern CLKernel clCreateKernel( CLProgram program, string kernel_name, ref CLError errcode_ret);
public static extern CLError clSetProgramSpecializationConstant( CLProgram program, uint spec_id, SizeT spec_size, IntPtr spec_value);
public static extern CLError clSetProgramReleaseCallback( CLProgram program, NotifyFunction pfn_notify, IntPtr user_data);
public static extern CLError clReleaseProgram(CLProgram program);
public static extern CLError clRetainProgram(CLProgram program);