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 //应有信息的大小

)

opencl(3)程序、内核的更多相关文章

  1. Qualcomm_Mobile_OpenCL.pdf 翻译-4-Adreno OpenCL的程序开发

    这章将简要讨论一些开发Adreno OpenCL应用程序的基本要求,下面将会介绍如何调试和统计程序性能. 4.1  安卓平台上开发OpenCL程序 目前,Adreno GPU主要是在安卓操作系统和在部 ...

  2. OpenCL 第一个计算程序,两向量之和

    ▶ 一个完整的两向量加和的过程,包括查询平台.查询设备.创建山下文.创建命令队列.编译程序.创建内核.设置内核参数.执行内核.数据拷贝等. ● C 代码 #include <stdio.h> ...

  3. 揭开Altera公司支持OpenCL的设计工具的神秘面纱

    将程序中处理负荷较大的工作分配给加速器LSI的“异构计算(Heterogeneous Computing)”将踏出崭新的一步.美国Altera公司将于2013年内开始面向普通用户提供可自动由按照异构计 ...

  4. OpenCL学习笔记(一):摩尔定律,异构计算与OpenCL初印象

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld.  技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 关于摩尔定律: 摩尔定律19 ...

  5. CUDA与OpenCL架构

    CUDA与OpenCL架构 目录 CUDA与OpenCL架构 目录 1 GPU的体系结构 1.1 GPU简介 1.2 GPU与CPU的差异 2 CUDA架构 2.1 硬件架构 2.1.1 GPU困境 ...

  6. OpenCV、OpenCL、OpenGL、OpenPCL

    对于几个开源库的总结,作为标记,以前看过,现在开始重视起来!更详细资料请移步 开源中国社区! 涉及:OpenCV,OpenCL,OpenGL,OpenPCL 截止到目前: OpenGL的最新版本为4. ...

  7. 《Linux内核分析》课程总结

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 不知不觉,在网易 ...

  8. Windbg程序调试--转载

    WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. WinDbg是微软很重要的诊断调试工具: 可以查 ...

  9. 操作系统基本概念(内核态与用户态、操作系统结构)-by sixleaves

    内核态与用户态(为什么存在这种机制.程序应处于哪个状态.如何判断当前所处状态.哪些功能需要内核态.如何实现这种机制) 1.首先我们应该思考清楚为什么会有内核态和用户态?(为什么存在这种机制) 因为计算 ...

随机推荐

  1. 移动端纯css超出盒子出现横向滚动条

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. SpringMVC 自定义全局PropertyEditor

    <mvc:annotation-driven></mvc:annotation-driven>注入了@Controller与@RequestMapping需要的注解类 < ...

  3. DPDK LPM库(学习笔记)

    1 LPM库 DPDK LPM库组件为32位的key实现了最长前缀匹配(LPM)表查找方法,该方法通常用于在IP转发应用程序中找到最佳路由匹配. 2 LPM API概述 LPM组件实例的主要配置参数是 ...

  4. JDK安装与配置环境变量

    1.JDK的安装 (1).为什么安装jdk? JDK是java软件开发包的简称,要想开发java程序就必须安装JDK.没有JDK的话,无法编译Java程序. (2).开始安装jdk 1.官网下载jdk ...

  5. C语言基础知识(五)——数组与指针的等价表示

    void f(void) { int * p; int a[3] = {1,2,3}; p = a; printf("%d %d", a[0], p[0], *(a+1), *(p ...

  6. Spring全家桶——SpringBoot之AOP详解

    Spring全家桶--SpringBoot之AOP详解 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方 ...

  7. 一,View中引用自定义Dialog组件

    需求: 在项目中,有时候可能在不同画面需要完成同一功能,比如示例文件列表查看功能,系统上传文件,需要查看文件列表,以及文件历史记录 话不多说,上图 这个查看文件的Dialog需要在系统中的很多地方调用 ...

  8. LNMP PHP升级脚本

    升级PHP前,请确认你的网站程序是否支持升级到的PHP版本,防止升级到网站程序不兼容的PHP版本,具体可以去你使用的PHP程序的官网查询相关版本支持信息.v1.3及以后版本大部分情况下也可以进行降级操 ...

  9. SpringCloud(三)- OpenFeign简介及@FeignClient等注解的使用

    唯能极于情,故能极于剑 有问题或错误请及时联系小编或关注小编公众号 "CodeCow",小编一定及时回复和改正,期待和大家一起学习交流 此文由四部分组成(OpenFeign简介.@ ...

  10. c# 优化代码的一些规则——使用is或as和强制类型转换的区别[三]

    前言 使用as和强制类型转换的时候的区别是否仅仅是代码形式上的区别. 答案是肯定不是的. 正文 看两段代码: object o = Factory.GetObject(); Student stude ...