opencl(3)程序、内核

1:程序

1)从上下文中创建程序

cl_program clCreateProgramWithSource(

cl_context context,  //上下文

cl_uint count,    //文本个数

const char**strings, //程序文本

const size_t *lengths,  //每个程序文本长度

cl_int *errcode_ret  //错误码

)

2)编译程序

cl_int clBuildProgram(

cl_program program,            //程序

cl_uint  num_devices,             //设备数量

const cl_device_id* device_list,       //设备列表

const char *options,            //编译选项

void (*pfn_notify)(cl_program,void *user_data),  //报错信息回调函数

void *user_data                //报错信息

)

3)获取程序信息

cl_int clGetProgramInfo(

cl_program program,        //程序

cl_program_info  param_name,  //信息类型名称

size_t param_value_size,    //要保存的信息大小

void *param_value,      //信息保存地址

size_t param_value_size_ret  //获取信息应有的大小

)

 

4)获取编译信息

cl_int clGetProgramBuildInfo(

cl_program program,

cl_device_id device,

cl_program_build_info param_name,

size_t param_value_size,

void *param_value,

size_t param_value_size_ret

)

常用的变异信息参数    CL_PROGRAM_LOG  查看编译日志

 

2:内核

1)为程序中的每个函数创建内核

cl_int clCreateKernelsInProgram(

cl_program program,      //程序

cl_uint num_kernels,     //内核数量

cl_kernek* kernels,     //内核地址

cl_uint *num_kernels_ret  //获取应有的数据

)

2)获取内核信息

cl_int clGetKernelInfo(

cl_kernel kernel,        //内核

cl_kernel_info param_name,  //信息类型

size_t param_value_size,   //想要获取信息的大小

void *param_value,      //信息保存的地址

size_t *param_value_size_ret //应有信息的大小

)

上一篇:添加页眉Top of page和页脚End of Page


下一篇:抽象数据类型的表示与实现