• opencl(三)----创建、编译程序(cl_program)、创建内核


    1、创建程序

    // 从文本中创建程序
    cl_program clCreateProgramWithSource (    
            cl_context context,      // 上下文
         cl_uint count,             //文本个数
         const char **strings,   // 程序文本
         const size_t *lengths,  //每个程序文本的长度
         cl_int *errcode_ret     //错误码
    )

    编译程序

    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
    )

    2、获取程序信息

    // 获取程序信息
    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   //应有的大小
    )

    3、获取编译信息

    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_BUILD_LOG  查看编译日志

    4、创建内核

    // 为程序中的每个函数创建内核
    cl_int clCreateKernelsInProgram (    
         cl_program  program,  //程序
         cl_uint num_kernels,   // 数量
         cl_kernel *kernels,     //核地址
         cl_uint *num_kernels_ret  //获取应该有的数量
    )

    获取内核信息

    // 获取核信息
    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
    )
  • 相关阅读:
    hdu 2586(最近公共祖先LCA)
    hdu 3394(点双连通)
    hdu 4005(边双连通)
    hdu 2460(tarjan求边双连通分量+LCA)
    【转载】8天学通MongoDB——第四天 索引操作
    【转载】8天学通MongoDB——第三天 细说高级操作
    [转载]MongoDB开发学习 经典入门
    【原创】jQuery 仿百度输入标签插件
    ★《唐琅探案》后记【2】
    ★《唐琅探案》后记【1】
  • 原文地址:https://www.cnblogs.com/feihu-h/p/12081307.html
Copyright © 2020-2023  润新知