首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >OpenCL全局/本地工作大小选择

OpenCL全局/本地工作大小选择
EN

Stack Overflow用户
提问于 2016-12-21 14:12:55
回答 1查看 1.5K关注 0票数 1

我正在学习使用opencl。现在我的任务很简单,把一个大数组复制到另一个数组。让我们假设a301300对b301300。这只是一个测试,让我了解什么是全球工作规模和本地工作规模。并利用支持向量机将float8向量阵传递给核函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
__global float8* dts,
__global float8* dts_from_file

1.在我的测试用例中,我似乎必须选择全局工作大小>数组大小。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
size_t globalWorkSize[3] = { 128, 128, 256 };

(128*128*256*8)>301*300*300。否则,我将得到截断输出。我是对的,还是只是对全球工作规模的定义感到困惑?FYI

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    CL_DEVICE_ADDRESS_BITS=64
    CL_DEVICE_MAX_WORK_GROUP_SIZE=256
    CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS=3
    CL_DEVICE_MAX_WORK_ITEM_SIZES[0,1,2]=256, 256, 256

2.是由CL_KERNEL_WORK_GROUP_SIZE=256限制的本地工作大小吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
size_t localWorkSize[3] = { 4,8,8 };

如果我将4改为更大的值,就会出现clEnqueueNDRangeKernel错误CL_INVALID_WORK_GROUP_SIZE,因为4*8*8=256?

3.多个设备的全局/本地工作大小(CPU+GPU)如何,是否需要为每个设备指定不同的工作大小?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-12-22 01:30:32

本地工作的总大小不能超过CL_DEVICE_MAX_WORK_GROUP_SIZE,而且每一个都不能超过CL_DEVICE_MAX_WORK_ITEM_SIZES。在您的情况下,使用本地工作大小{4、8、8}是可以的。

全局工作大小中的每一个都必须是本地工作大小的倍数。当内核只处理一段数据时,必须设置大于数组大小的全局工作大小,并在内核中添加如下检查

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (get_global_id(0) < array_size_x)    {   ...   }

每个项目都可以处理更多的数据,您必须在不同的情况下进行不同的检查。

每个设备都有不同的工作大小,它们必须独立设置。让不同的设备同时运行同一内核并不是一件容易的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41272795

复制
相关文章
判断用户选择的本地文件大小是否合法
/**  * 判断用户选择的本地文件大小是否合法.  * fileObj : 上传文件对象.  * title : 非法时的提示信息.  * maxSize : 最大限制.  */ function fileSizeCheck(fileObj ,title ,maxSize) {     if(fileObj==null || fileObj.value=="")         return true ;    var fso, f, s;    try    {        fso = new
源哥
2018/08/28
7860
构建Kubernetes集群 - 合理选择工作节点数量和大小
本文从多个维度分别阐述了使用更少的大节点与使用更多的小节点来组建 Kubernetes 集群各自的优劣,并结合实践经验给出了选择工作节点数量和大小的通用方法。
CNCF
2019/12/05
1.7K0
构建Kubernetes集群 - 合理选择工作节点数量和大小
如何选择工作
这个问题在『黑客与画家』里 Paul Graham 已经给出了答案:选择那些具备 可测量性 和 可放大性 的工作。 我们来详细说说。注意以下的话跟「敏捷宣言」的措辞类似 —— 当你有选择的权利和能力时,优先选择前者而不是后者。但,这并不意味着后者不好。 首先是行业的选择。蓬勃发展的行业 要优于处于稳定的行业。比如说同样是软件行业,互联网就是比传统软件行业发展速度快得多的行业。而互联网内部,各个方向的发展也有泾渭之分。看看 Gartner 的报告(比如说:http://www.gartner.com/smar
tyrchen
2018/03/29
8210
如何选择工作
如何选择工作
对有些人来谁,年,是一段糟心旅程的终点,又将是一段未知的旅程的起点。抢红包的浮夸背后,是一颗颗躁动的心对未来的期许。心不在焉地吃着火锅唱着歌,搓着麻将点着炮,他们的大脑在思考未来: 2015,我是不是该把2012的计划完成了? 2015,我该换个神马工作了? 于是,这几天,留言里这样的问题陡然多了起来。幸好,程序君写了一年的文章,也算有点存货,遇到一个就biu的一声丢出一篇文章。不过丢得多了,也烦了,干脆找出原文,稍作修订,发出来 --求个红包-- 供大家参考。 这是去年四月六日的一篇旧文,看过了的,直接拖
tyrchen
2018/03/28
9360
如何选择工作
[杂谈] 如何选择工作
最近公司处在动荡期,很多人离开了。我以前的一个下属也要离开,并且是彻底离开数通领域,投身互联网。我跟他在楼下的咖啡厅聊了很久,感觉他真的想通了,知道自己要什么。三十来岁想通自己要什么不是件丢人的事,也并不迟,我也是近三十岁的时候才想通。在此祝福他,希望他在互联网这个伟大的行业里找回自己。 我曾经在途客圈跟团队谈过「如何选择工作」和「公司和个人的关系」,我想很多人都有类似的困惑,所以在此和大家探讨一下。 如何选择工作 其实四月六日那篇『为什么卖产品的比做产品的挣得多』已经给出了答案(如果你看了『黑客与画家』的
tyrchen
2018/03/28
9090
[杂谈] 如何选择工作
Intel altera opencl 入门
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2020/12/29
1.9K0
Intel altera opencl 入门
再起航-大小公司选择
来到大公司已经快一年了,是该总结一下了。去年双十一时,就写了个总结的开头,但没有写完,拖到年底时,想要写个年度总结的,结果又没有写完。这次一定要写完了,一是新路程走了马上满一年,二是定的每月一篇的计划,实在不能拖了。当然如果正好碰到对大小公司如何选择难以决择的路上人有点启发就更有意义了。
码农戏码
2021/03/23
3350
HashMap初始化大小的选择
我个人理解是这样的,当场景中如果装载数量明确的时候,为避免HashMap因resize而引起的不必要的开销,从而一定程度上可以提高你的性能。所以我们今天来讨论一下HashMap初始化的时候大小如何确定。
wade
2020/04/24
1.2K0
HashMap初始化大小的选择
OpenCV+OpenCL stereo match 代码
之前配置cuda跟opencv 的混合编程,发现只要使用的东西多半还要用opencv的代码编译一次,加上cuda的编译太浪费时间了,我看了几个博客,觉的opencl这个可能会比较好整,就把opencv里面的opencl代码的部分编译了一下,这个比较少,用的时候也能直接检测出来i7 自带的集成显卡:
流川疯
2019/01/18
1.2K0
OPengl、DirectX、OPenCV、OpenCL
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
sofu456
2019/10/22
2.2K0
Gromacs也开始支持OpenCL啦!
GROMACS 是目前最常用的分子动力学开源软件。主要用于蛋白、高分子化学和碳纳米管模拟。 荷兰一家OpenCL技术服务公司StreamComputing在Gromacs开发团队的支持下将Gromacs CUDA移植到OpenCL1.1上。 源代码来源和构建 目前该项目还在进行中,不过已经接近完成。 因为还没有二进制代码,所以除了有C,C + +和CMake知识外,你还需要知道如何使用Git。它建立在Windows和Linux, Nvidia和AMD GPU是现阶段的目标平台。
GPUS Lady
2018/03/30
1.2K0
【池化选择】全局最大池化和全局平均池化的实验分析
根据MIT的 Learning Deep Features for Discriminative Localization论文中的描述,在使用类响应图class activation mapping (CAM) 对比全局平均池化Global average pooling (GAP) vs 全局最大池化global max pooling (GMP):
全栈程序员站长
2022/07/25
2.2K0
【池化选择】全局最大池化和全局平均池化的实验分析
大厂与小厂工作的选择
这周末回老家参加妹妹的婚礼,喜宴上和转行进入计算机行业1年多的老弟,聊了不少最近他的现状情况,发现和我刚毕业一两年那会情况类似。
帅地
2018/12/26
6920
OpenCL Installable Client Driver (ICD) Loader编译
OpenCL Installable Client Driver (ICD) Loader是实现OpenCL应用程序与各硬件厂商提供的OpenCL驱动(platform)之间隔离的中间库。
10km
2022/05/07
1.4K0
OpenCL Installable Client Driver (ICD) Loader编译
AMD MLP:基于OpenCL的深度学习工具
AMD-MLP 深度学习技术 AMD-MLP是AMD中国异构计算部门开发的私有软件,其开发人员都是GPU计算和应用方面的专家,在使用异构计算技术提高软件性能方面有丰富的理解和实现经验,他们本着简单、实效、方便用户、注重性能的产品实现原则,为AMD-MLP带来了如下特点: 1) 完全的C++实现 全部的代码用C++类进行组织。用C++类的公共接口作为API,开发者用户无论是利用AMD-MLP进行数据学习,建立数据分类器;还是使用已产生的数据分类器开发识别型应用,编程都非常简单。 2) 基于开放标准实现
GPUS Lady
2018/03/30
1.7K0
jQuery实现本地input选择图片实时显示
在写图片上传功能时,如果可以实时预览就好了,我们可以通过 jQuery 实现这一效果。
德顺
2019/11/13
2.9K0
android全局更改字体大小遇到的一些坑
最近app想控制全局字体大小,于是想用改变fontScale的方式来动态改变字体的大小。遇到一些坑,特此记录。
Crayon鑫
2023/10/10
7550
异构计算综述
异构计算(Heterogeneous computing)技术从80年代中期产生,由于它能经济有效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大,目前已成为并行/分布计算领域中的研究热点之一。本文主要介绍了CPU+GPU基础知识及其异构系统体系结构(CUDA)和基于OpenCL的异构系统,并且总结了两种结构的特点,从而对异构计算有了更深的理解。
碎碎思
2022/01/10
3.8K0
异构计算综述
程序员如何选择城市工作?
准一线城市:成都、杭州、重庆、武汉、西安、苏州、天津、南京、长沙、郑州、东莞、青岛、沈阳、合肥、佛山。
石云升
2022/08/25
1.1K0
程序员如何选择城市工作?
GPU加速——OpenCL学习与实践
参考刘文志等所著《OpenCL异构并行计算》,结合自身实践所做的总结,在此,特别感谢蒋工给予的指导。由于作者认知水平有限,文中如有不到的地方,欢迎大家批评指正。
3D视觉工坊
2020/12/11
3.7K0
GPU加速——OpenCL学习与实践

相似问题

最佳全局工作大小(OpenCL)是多少?

11

在OpenCL中获得最佳的本地/全局工作组大小?

13

OpenCL中的最优局部/全局工作大小

22

opencl本地内存大小如何工作?

12

本地工作组大小=空OpenCL

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文