首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openCL行为-需要澄清

openCL行为-需要澄清
EN

Stack Overflow用户
提问于 2011-02-04 09:58:46
回答 1查看 271关注 0票数 1

我在Geforce GT 220卡上使用以下参数进行模拟-

计算单元数=6

本地大小= 32

全局大小= 32*6*256 = 49152

(一切都是一维的)

但在Visual Profiler中,我看到每个计算单元的工作组数量= 768。这意味着它只使用了2个计算单元。为什么会这样呢?如何确保所有计算单元都处于繁忙状态?我的意思是,理想情况下,我希望每个计算单元有49152个/(32*6)= 256个工作组。我对这种行为感到困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-06 20:12:37

您不应该关心计算单元,这是onyl硬件特定的。只关心局部大小和全局大小,并尽可能使用最大的局部大小。

可能发生的情况是,您指定了一个非常小的本地大小。每组本地大小的线程都被加载到一个计算单元中。并且仅运行32个线程是低效的。因此,加载回收会降低性能,并可能使计算单元在很长一段时间内处于空闲状态。

我的建议是,使用非常高的本地大小。或者不指定本地大小(OpenCL将选择可能的最高大小)

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

https://stackoverflow.com/questions/4893820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档