首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以用OpenCL控制计算单元吗?

可以用OpenCL控制计算单元吗?
EN

Stack Overflow用户
提问于 2018-06-11 12:42:29
回答 1查看 126关注 0票数 1

在我阅读过的关于OpenCL的任何文档中,我都找不到答案,所以我想问:是否可以控制哪个计算单元执行哪种算法?我想让一个算法在计算单元1上执行,另一个算法在计算单元2上同时执行。我希望能够定义在哪个计算单元上执行一个内核,并可能定义多少个处理元素/CUDA核心。

我的GPU是Nvidia GeForce GT 525M,它有2个计算单元和48个CUDA核心每单位。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-11 13:39:16

不那是不可能的。你也不想这么做。GPU比你更懂得如何安排工作,使大部分设备,你不应该(也不能)微观管理。当然,您可以通过设置全局和本地工作组大小来影响日程安排。

如果您有两个算法,A和B,并且都能够充分利用GPU,那么您没有理由并行运行它们。

代码语言:javascript
复制
Sequentially:
CU 1: AAAAB
CU 2: AAAAB

In parallel:
CU 1: AAAAAAAA
CU 2: BB

如果A和B没有完全相同的运行时,并行运行实际上将使整个运行时更长:运行时是slowest(runtime(A), runtime(B))runtime(A/2) + runtime(B/2)

如果这对您没有帮助,我建议您提出一个问题,在其中详细说明您的实际用例。您有哪些算法,您必须在哪些数据上运行它们,它们的设备使用情况是什么,以及为什么要并行运行它们。

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

https://stackoverflow.com/questions/50798035

复制
相关文章

相似问题

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