public static extern ComputeErrorCode BuildProgram( CLProgramHandle program, Int32 num_devices, [MarshalAs(UnmanagedType.LPArray)] CLDeviceHandle[] device_list, String options, ComputeProgramBuildNotifier pfn_notify, IntPtr user_data);
public static extern ComputeErrorCode GetProgramBuildInfo( CLProgramHandle program, CLDeviceHandle device, ComputeProgramBuildInfo param_name, IntPtr param_value_size, IntPtr param_value, out IntPtr param_value_size_ret);
public static extern ComputeErrorCode CreateKernelsInProgram( CLProgramHandle program, Int32 num_kernels, [Out, MarshalAs(UnmanagedType.LPArray)] CLKernelHandle[] kernels, out Int32 num_kernels_ret);
public static extern CLKernelHandle CreateKernel( CLProgramHandle program, String kernel_name, out ComputeErrorCode errcode_ret);
public static extern ComputeErrorCode ReleaseProgram( CLProgramHandle program);