我想运行在单个GPU上异步执行的异构内核。我认为在Nvidia Kepler K20(或任何具有计算能力的3.5+设备)中,这是可能的,方法是将每个内核启动到不同的流,运行时系统根据资源可用性将它们映射到不同的硬件队列。在OpenCL中可以访问此功能吗?如果是这样的话,OpenCL中的CUDA“流”相当于什么?Nvidia驱动程序是否支持通过OpenCL在其K20卡上执行此类操作?他们有没有任何AMD GPU有类似的功能(或者有什么正在开发中)?这些问题的答案都会对我有很大帮助。
发布于 2013-05-13 20:54:46
原则上可以使用OpenCL命令队列来实现并发内核执行。您可以从不同的CPU线程启动它们。以下几个链接可能会帮助您入门:How do I know if the kernels are executing concurrently? http://devgurus.amd.com/thread/142485
我不确定它如何在K20图形处理器上工作,因为我们在NVIDIA图形处理器上使用OpenCL有奇怪的问题。
https://stackoverflow.com/questions/16515929
复制相似问题