读书频道 > 网站 > 网页设计 > OpenCL异构并行计算:原理、机制与优化实践
3.9 OpenCL错误处理
15-12-07    下载编辑
收藏    我要投稿   
本书一共分为4个部分:第1章介绍并行计算的沿革与现状。第2章介绍了OpenCLC语言的相关语法。第3章到第5章讲解了OpenCL运行时接口及其功能。第6章讲解了OpenCL更底层的工作机制,并结合当前主流的GPGPU做详细分析立即去当当网订购

对于OpenCL中每个API函数都有相应的函数执行状态,如函数clGetPlatformIDs()的返回值,或函数clCreateContext()最后一个参数errcode_ret。我们可以通过检查这个执行状态来获知某个OpenCL主机端的函数API是否执行成功,还是由于某些资源限制等问题使函数执行失败。成功执行,返回的状态为CL_SUCCESS,如果执行失败都会有相应的错误码。在opencl.h头文件中,列出了所有可能的错误代码,笔者把这些错误代码在表3-15中列出来。



 


如果OpenCL API执行返回状态不是CL_SUCCESS,可以用表格中的错误码对比函数返回状态,能够很快分析并解决程序中的问题。例如:

_kernel void SobelProecess(global char *SrcData,
                           global char *DstData )
{
    ……
}

内核函数名为SobelProcess,在创建内核时,我们手误输入如下:

cl_int err
cl_kernel kernel = clCreateKernel(program, "Sobelproecess",
&err);

此时,err的返回值为CL_INVALID_KERNEL_NAME(-46)。根据函数返回执行状态err,我们可以找出OpenCL API执行是否成功,如果不成功,根据错误代码分析出错误原因。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站