Cuda 是否可以处理进程之间的GPU优先级

Cuda 是否可以处理进程之间的GPU优先级,cuda,gpu,thread-priority,Cuda,Gpu,Thread Priority,我从CUDA 5.5了解到,可以使用高优先级内核,但我知道这仅适用于GPU上相同上下文的调用问题,也就是说,它不会影响另一个进程内核启动的优先级,只要它们有足够的CPU时间发布 GPU上是否可能有高优先级的应用程序,类似于您如何设置操作系统以赋予特定线程优先级 谢谢 Henrik Andresen从技术上讲,CUDA 5.5增加了为计算能力3.5设备的CUDA工作调度系统设置单个流优先级的功能。这意味着CUDA驱动程序将允许高优先级流中的任何操作内核抢占竞争低优先级流中操作的驱动程序级调度。这可

我从CUDA 5.5了解到,可以使用高优先级内核,但我知道这仅适用于GPU上相同上下文的调用问题,也就是说,它不会影响另一个进程内核启动的优先级,只要它们有足够的CPU时间发布

GPU上是否可能有高优先级的应用程序,类似于您如何设置操作系统以赋予特定线程优先级

谢谢


Henrik Andresen

从技术上讲,CUDA 5.5增加了为计算能力3.5设备的CUDA工作调度系统设置单个流优先级的功能。这意味着CUDA驱动程序将允许高优先级流中的任何操作内核抢占竞争低优先级流中操作的驱动程序级调度。这可能包括启动内核、将操作和事件复制到设备。然而,我不认为这会延伸到执行优先级的任何差异,一旦在设备上启动内核,它就纯粹是一个驱动端流调度启发式控制。。这扩展到当存在并发内核执行的条件时,从设备上的低优先级流抢占正在运行的内核


据我所知,目前无法将该机制扩展到单个上下文中的流之外,也无法影响竞争访问GPU的流程在驱动程序级别的优先级。我要补充的唯一警告是,CUDA 6可能已经改变了这一点,而我还没有机会看到该版本中的所有新内容。

太糟糕了。谢谢。流优先级仅限于cc 3.5+设备,因为它确实意味着(并取决于)GPU对已经在GPU上启动的内核执行无序工作的能力。有关图示,请参阅的幻灯片9。而且,当前的实现只适用于内核启动,而不适用于内核启动。不过,这可能会改变。@RobertCrovella:谢谢你的更正。我只是阅读了API文档,这让我很傻,我目前没有访问compute capability 3.5设备,也从未尝试过HyperQ或它支持的其他奇特的调度机制。