码迷,mamicode.com
首页 > 其他好文 > 详细

opencl(7) 内核执行命令入队]工作组、工作项

时间:2020-01-09 18:54:02      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:man   划分数   利用   好的   ons   数据   全局   入队   offset   

1:将内核执行命令入队(该命令可被多个工作项执行)

cl_int clEnqueueNDRangeKernel(

cl_command_queue command_queue,

cl_kernel kernel,

cl_uint work_dim,          //数据的维度

const size_t * global_work_offset,   //各维度上的全局ID偏移量

const size_t* globak_work_size,    //各维度上工作项数目

const size_t* local_work_size,     //各 维度上一个工作组中的工作项数目

cl_uint num_events_wait_in_list,

const cl_event* event_wait_list,

cl_event* event

)

2:将内核执行命令入队(该命令只在一个工作项中执行)

cl_int clEnqueueTask(

cl_command_queue command_queue,

cl_kernel kernel,

cl_uint num_events_waite_in_list,

const cl_event* event_in_list,

cl_event* event

)

clEnqueueTask 和 clEnqueueNDRangeKernel的功能都是将核执行命令加入命令队列。而clEnqueueNDRangeKernel可以更好的划分数据,充分利用设备的资源

工作组和工作项的特点:

1、工作组中的工作项可以访问局部内存的同一块地址

2、工作组中的工作项可以进行同步

 

3:工作项相关函数

技术图片

 

 4:工作组相关函数

技术图片

 

 

opencl(7) 内核执行命令入队]工作组、工作项

标签:man   划分数   利用   好的   ons   数据   全局   入队   offset   

原文地址:https://www.cnblogs.com/pengtangtang/p/PengTangTang_OpenCL_numbersix.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!