首页 > 其他分享 >global_size local_size clEnqueueNDRangeKernel OpenCL

global_size local_size clEnqueueNDRangeKernel OpenCL

时间:2023-05-09 18:23:33浏览次数:28  
标签:core workitem OpenCL get global clEnqueueNDRangeKernel local size

clEnqueueNDRangeKernel

填入的形参:global_size local_size

 

global_size 控制最终的workgroup数量,而且会平均分配到几个core上,比如global_size=8  然后有2个core,那么每个core分到4个wg

local_size 控制每个core分到几个workitem,每个.cl文件里,已经hard coding了一个workitem计算的数据量。

                 device端会有循环,控制单个core循环执行几次kernel,执行一次,消耗一个workitem。

                       cl还会优化,指令存在流水线时,根据local_size 提高 simd指令密度:switch(local_size)

 

                 比如global_size=8  然后有2个core,那么每个core分到4个wg,然后local_size=2,那么这个core只计算2次,还有2次没有做。local_size=4 才正确计算了所有workitem

 

这两个量与get_global_id() 无关,

get_global_id(0) = x维度

get_global_id(1) = y维度

get_global_id(2) = z维度

 

标签:core,workitem,OpenCL,get,global,clEnqueueNDRangeKernel,local,size
From: https://www.cnblogs.com/qmjc/p/17385893.html

相关文章

  • 微信小程序 自定义组件 监听数据变化 出现异常 Maximum call stack size exceeded.
    代码调用处: 组件内部  本地调试无异常,发布之后出现此异常解决方法:监听属性steps的值变化时,调用处不能使用双向绑定,去掉steps的双向绑定即可,具体的原因未知(不知为啥本地调试不会抛异常) ......
  • 一行代码搞定 font-size 响应式
    前言公司要做大屏,但是大屏还要有个嵌在系统的版本,屏幕(iframe)小了但字体大了怎么办。网上找了很多代码都很长,个人参考了资料后实现了一个一行代码font-size响应式。TL;DRhtml{font-size:clamp(12px,calc(7px+0.390625vw),24px);}解释在<html>标签中定义是为......
  • OpenCL入门例程
    OpenCL是一个并行计算库。在VisualStudio中的配置类似于OpenCV,只需要把开发包下载下来,里面有include、lib、bin文件夹,在项目设置里添加上就行了。一般Windows系统自己带的就有OpenCL.dll,在Windows/System32/文件夹里。不同于英伟达的CUDA编程自己搞了个编译器集成到VisualStudio......
  • sizeof和strlen的区别
    1.sizeof和strlen的区别strlen是头文件cstring中的函数,sizeof是c++的运算符,strlen测量的是字符串的实际长度,以\0结束,而sizeof测量的是对象或者表达式类型占用的字节大小size_tstrlen(constchar*str){size_tlength=0;while(*str++){++leng......
  • sizeof的用法
    sizeof(a)如果a是指针类型,那就是返回地址长度(64位系统下是8字节)如果a是类对象,那就返回类对象的长度如果a是数组名,那就返回数组所占字节的大小,而不是数组中元素的个数,此处需要特别注意!!!如果要获取数组的元素个数,需要用如下方式:sizeof(a)/sizeof(type),其中type为数组中的元素类型......
  • useeffect下调用`window.onresize`不生效的解决办法
    组件化开发,多个子组件多次调用onresize使主页面的onresize无法生效解决办法时使用addEventListener添加onresize函数useeffect(()=>{window.addEventListener('resize',function(){//当浏览器窗口大小发生变化时,触发的functionfn()console.log('1......
  • python中的报错:dictionary changed size during iteration
    该报错是一个python中常见的错误,通常在使用for循环迭代字典时删除其中的元素时出现。这个问题的根本原因在于迭代字典的同时修改了它,导致字典的大小发生了变化。如下面的例子,就会报错:d={"a":1,"b":2,"c':3}fork,vind.items():ifv==2:deld[k]上述......
  • 机器学习中的batch_size
    batch_size:表示单次传递给程序用以训练的数据(样本)个数。比如我们的训练集有1000个数据。这是如果我们设置batch_size=100,那么程序首先会用数据集中的前100个参数,即第1-100个数据来训练模型。当训练完成后更新权重,再使用第101-200的个数据训练,直至第十次使用完训练集中的1000个数据......
  • batchsize、iteration、epoch之间的关系
    有的时候总是会弄错batchsize、iteration、epoch之间的关系,现在终于明白了。1、batchsize是批次大小,假如取batchsize=24,则表示每次训练时在训练集中取24个训练样本进行训练。2、iteration是迭代次数,1个iteration就等于一次使用24(batchsize大小)个样本进行训练。3、epoch,1个epoch......
  • MySQL 8.0中InnoDB buffer pool size进度更透明
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:Yejinrong/叶金荣文章来源:GreatSQL社区原创MySQL8.0upupup~从MySQL5.7开始,支持在线动态调整innodbbufferpool,并为此新增了一个状态变......