zoukankan      html  css  js  c++  java
  • 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 //应有信息的大小

    )

  • 相关阅读:
    springboot整合Swagger2
    FastJson会把哪些字符串解析为null
    BitMap再再体验之布隆过滤器
    如何利用windows自带的画图工具拼接图片
    BitMap再体验之排序
    BitMap 初体验
    Chrome 隐藏最常访问的网站
    idea同一个项目不同端口启动
    ubuntu16搭建harbor镜像库
    virtualbox硬盘扩容
  • 原文地址:https://www.cnblogs.com/pengtangtang/p/PengTangTang_OpenCL_numbertwo.html
Copyright © 2011-2022 走看看