opencl上下文
2015-06-13 13:40
232 查看
目录(?)[+]
[cpp] view
plaincopyprint?
cl_context clCreateContext( const cl_context_properties *properties,
cl_uint num_devices,
const cl_device_id *devices,
void(*pfn_notify)(const char *errinfo,
const void *private_info,
size_t cb,
void *user_data),
void *user_data,
cl_int *errcode_ret)
其中各个参数的含义:
properties 指向一个列表,其中有上下文属性名称及其对应的值。
CL_CONTEXT_PLATFORM cl_platform_id 指定要使用的平台
num_devices 是参数 devices 中设备的数目。
devices是一个指针,指向clGetDeviceIDs所返回的设备的列表 。
pfn_notify 是应用所注册的一个回调函数。OpenCL 的实现可以用这个回调函数来报告此上下文中所发生的错误。如果 pfn_notify 是 NULL,就是没有注册回调函数。当 pfn_notify 被调用时,会将 user_data 作为参数 user_data 传递给 pfn_notify。
user_data 指向用户所提供的数据。ueser_data可以是NULL.
errcode_ret 用来返回错误码。
这个pfn_notify的回调函数的参数是:
errinfo 是一个指针,指向一个错误字符串。
private_info 和 cb 会提供一个指向二进制数据的指针,这些数据由 OpenCL 的实现所返回,可以用来记录一些附加信息来帮助调试错误。
user_data 指向用户所提供的数据。
创建一个 OpenCL 上下文。一个 OpenCL 上下文与一个或多个设备一起创建。OpenCL 运行时会使用上下文来管理命令队列、内存、程序和内核等对象,并在上下文所指定的一个或多个设备上执行内核。OpenCL规范还提供了不需要新建整个设备列表的API,clCreateContestFromType()允许我们自动新建所有指定设备类型的上下文。新建完上下文之后,clGetContextInfo()函数可用来查询现在设备数量和设备结构的信息。
[2] Benedict R. Gaster, Lee Howes and David R.Kaeli, "Heterogeneous Computing with OpenCL".
引言
opencl中,上下文(context)是一个抽象容器并存在于主机端,它能协调主机与设备之间的交互机制,管理设备上可以的内存对象,跟踪针对每个设备新建kernel和程序.API函数clCreateContext
新建上下文的API函数是clCreateContext( )。其中properties用来限定上下文的范围。它可以提供指定的具体硬件平台,开启OpenGL/OpenCL的互操作性或者开启其他着眼于未来的参数。[cpp] view
plaincopyprint?
cl_context clCreateContext( const cl_context_properties *properties,
cl_uint num_devices,
const cl_device_id *devices,
void(*pfn_notify)(const char *errinfo,
const void *private_info,
size_t cb,
void *user_data),
void *user_data,
cl_int *errcode_ret)
其中各个参数的含义:
properties 指向一个列表,其中有上下文属性名称及其对应的值。
CL_CONTEXT_PLATFORM cl_platform_id 指定要使用的平台
num_devices 是参数 devices 中设备的数目。
devices是一个指针,指向clGetDeviceIDs所返回的设备的列表 。
pfn_notify 是应用所注册的一个回调函数。OpenCL 的实现可以用这个回调函数来报告此上下文中所发生的错误。如果 pfn_notify 是 NULL,就是没有注册回调函数。当 pfn_notify 被调用时,会将 user_data 作为参数 user_data 传递给 pfn_notify。
user_data 指向用户所提供的数据。ueser_data可以是NULL.
errcode_ret 用来返回错误码。
这个pfn_notify的回调函数的参数是:
errinfo 是一个指针,指向一个错误字符串。
private_info 和 cb 会提供一个指向二进制数据的指针,这些数据由 OpenCL 的实现所返回,可以用来记录一些附加信息来帮助调试错误。
user_data 指向用户所提供的数据。
创建一个 OpenCL 上下文。一个 OpenCL 上下文与一个或多个设备一起创建。OpenCL 运行时会使用上下文来管理命令队列、内存、程序和内核等对象,并在上下文所指定的一个或多个设备上执行内核。OpenCL规范还提供了不需要新建整个设备列表的API,clCreateContestFromType()允许我们自动新建所有指定设备类型的上下文。新建完上下文之后,clGetContextInfo()函数可用来查询现在设备数量和设备结构的信息。
参考文献
[1] Aaftab Munshi, Benedict R. Gaster,Timothy G.Mattson,James Fung and Dan GinsBurg,"OpenCL Programming Guide"Publisher:Pearson Education.[2] Benedict R. Gaster, Lee Howes and David R.Kaeli, "Heterogeneous Computing with OpenCL".
相关文章推荐
- 屏蔽网站
- Linux trace使用入门
- VMware虚拟机克隆Linux系统后找不到eth0网卡的问题
- Exception starting filter struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUti
- opengl环境下的射线选择
- shell学习第十天----sed查找与替换
- 微软推出一个非常有趣的网站—— How-old.net 看照片猜年龄!
- 微软推出一个非常有趣的网站—— How-old.net 看照片猜年龄!
- 一个实际项目Java架构设计之ETL(Kettle)部分介绍
- mysql5.6 linux下安装笔记
- mysql5.6 linux下安装笔记
- 字典枚举某网站游戏地址
- hadoop常用linux命令与操作
- shell学习第九天----分组
- hadoop初级到资深
- Hadoop项目实战-用户行为分析之分析与设计
- Linux ld命令
- I.MX6 Linux Qt 启动流程跟踪
- linux下一些问题
- POJ 2391 Ombrophobic Bovines 二分最大流+拆点