Intel OpenCL debug
来源:互联网 发布:python 灰帽子下载 编辑:程序博客网 时间:2024/05/28 15:47
以下文章原创 转载请注明出处
上次分析了Intel® SDK for OpenCL的一些优点
这次详细讲一下Intel® SDK for OpenCL在VS下的一些常用的几个小技巧
首先是安装Intel® SDK for OpenCL™ Applications
可以在以上链接处打开下载https://software.intel.com/en-us/intel-opencl
安装完成之后,VS会有一个新的功能
以下是新建工程的窗口
常用功能主要有以下几个
1. 查看OpenCL平台
2. 编译kernel
3. 单步调试kernel
4. 使用Session测试kernel
5. 对OpenCL API报错
1. 查看OpenCL平台
在CODE-BUILDER -- Platform Info
之后会出现可用的所有平台
2. 编译kernel
在新建的Intel OpenCL工程中,添加OpenCL文件.cl
之后编译会直接对OpenCL代码编译,
不再需要在cl_build 这个API来返回编译结果了
3. 单步调试kernel
对于调试kernel,使用CPU的OpenCL调试会比较简单
Debug kernel首先需要设置属性
在CODE-BUILDER -- OpenCL Debugger -- Options
在里面第一页
1. 勾选 Kernel Debugger 的 Enable OpenCL kernel debugging for CPU device
2. 输入需要调试的work item 编号
第二页
勾选Enable OpenCL API Debugger
并勾选 Enable raw date tracing 以及 Enable images bitmap tracing
error = clBuildProgram(program,1,&device, "-g -s \"D:/project/opencl/ocl.cl\"", NULL,NULL);需要将clBuildProgram的第四个参数改成-g -s 加上.cl文件的绝对路径(不能使用相对路径)
现在运行只需要使用断点,就能调试指定work item的代码执行了
这里还有多个窗口可以使用
Objects Tree View 显示目前的对象, 比如context program等
Command Queue View 显示目前的命令队列状态
Properties View 显示属性
Trace View 显示OpenCL API的状态和返回值
Problems View 显示错误警告,比如对象没有被释放release program
Image View 显示图像
Data View 显示缓存数据
4. 使用Session调试kernel
使用new session可以对单个.cl文件完成模拟
使用generate session可以对.exe文件完成模拟
模拟可以设置输入输出数据比如image buffer
并可以对数据作显示和比较
这里不作详细展开
5. 对OpenCL API报错
选中图中右边的Problem View 可以在编译中就对OpenCL API提示错误警告
- Intel OpenCL debug
- openCl环境搭建及示例 及 Intel OpenCL debug
- Intel发布OpenCL
- intel opencl hello程序实例
- ubuntu14.04安装intel openCL
- ubuntu14.04安装intel openCL
- OpenCL 调试工具 debug tool
- VS2010 Intel OpenCL安装与配置
- UBUNTU14.04 下 安装Intel GPU OpenCL runtime
- Using Intel® INDE 2015 to Develop OpenCL™ Applications
- centos7下,intel-opencl-caffe安装中遇到的坑
- [Intel汇编-MASM]Debug的使用
- OpenCL
- OpenCL
- OpenCL
- OpenCL
- opencl
- OpenCL
- Linux命令
- 程序开发常用轮子
- java 和javaw 的区别
- Spring Boot系列之十banner和exitCode
- 《程序员面试宝典》第3版纠错
- Intel OpenCL debug
- jquery合并表格中相同文本的相邻单元格
- 初始化动态分配的数组
- 修复Shape区文件中的空洞
- iOS友盟推送零基础集成
- Android对话框的实现
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 一个很好的深度学习网站
- 详解C#中的反射