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提示错误警告





1 0
原创粉丝点击