首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从多个进程并发执行GPU内核

从多个进程并发执行GPU内核
EN

Stack Overflow用户
提问于 2012-10-02 03:29:29
回答 2查看 3K关注 0票数 9

我有一个想要在多个进程之间共享单个GPU的应用程序。也就是说,这些进程中的每一个都会创建自己的CUDA或OpenCL上下文,目标是相同的GPU。根据费米怀特paper1的说法,应用程序级别的上下文切换不到25微秒,但启动在GPU上启动时实际上是序列化的--因此费米不能很好地解决这一问题。根据开普尔白paper2的说法,有一种叫做Hyper-Q的东西,它允许从多个CUDA流、MPI进程或一个进程内的线程同时进行多达32个连接。

我的问题是:有没有人在开普勒GPU上尝试过,并验证了它的内核在从不同的进程调度时是并发运行的?这只是一个CUDA功能,或者它也可以在Nvidia GPU上与OpenCL一起使用?AMD的GPU是否支持类似的功能?

1

2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-05 21:51:40

为了回答第一个问题,NVIDIA在博客here中发布了一些hyper-Q结果。该博客指出,移植CP2K的开发人员能够更快地获得加速结果,因为hyper-Q允许他们或多或少地按原样使用应用程序的MPI结构,并在单个GPU上运行多个级别,并通过这种方式获得更高的有效GPU利用率。正如评论中提到的,这个(hyper-Q)功能目前只在K20处理器上可用,因为它依赖于GK110图形处理器。

票数 7
EN

Stack Overflow用户

发布于 2013-05-29 16:24:19

我从Fermi架构运行过同步内核,它工作得非常好,事实上,这通常是从你的硬件中获得高占用率的唯一方法。Hyper-Q是从另一个内核中分派新数据并行内核的能力。这只在开普勒上才有。

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

https://stackoverflow.com/questions/12679737

复制
相关文章

相似问题

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