CUDA适合实时应用吗?

时间:2012-10-29 23:33:30

标签: performance cuda real-time

继续我的previous question。 CUDA适合实时快速应用吗? 任务是:我需要我的应用程序在0.1-0.3毫秒内进行大量计算。 CUDA内核在适合我的项目的非常好的时间内处理这些计算,但是我得到的所有开销(内存复制)时间是不可接受的。

CUDA是否仅适用于此类应用程序,或者有一些黑客可以避免在我之前的问题中描述的sutuations?

These guys提供所谓的“GPU Workbench”,其中修改后的gpu驱动程序构建在自己的linux verson上。他们说他们的系统执行速度比典型的GPU配置快得多。谁知道他们?

2 个答案:

答案 0 :(得分:1)

0.3ms是在GPU上运行完整程序的非常小的时间窗口。即使对于非常小的任务,10x也更为典型。如果你的任务太小而且可以在如此短的时间内运行,那么你可能甚至都没有使GPU饱和,甚至在GPU上运行也没有意义。

尽管如此,我确实将CUDA用于实时分布式系统,周转时间大约为1秒,但听起来我们对“实时”的定义比你的更加宽松。

我对您链接的“GPU Workbench”一无所知。

答案 1 :(得分:0)

我将分两部分回答这个问题。

  1. 程序的运行时间取决于数据量和实现的并行度。并且还使用不同的技术(使用L1和L2缓存,多个内核)和东西。正如您所提到的实时应用程序,您需要不时使用CPU内存。如果可能,请尝试一次使用所有数据。

  2. 如果您的应用程序使用Graphics。我建议使用图形库(OpenGL [也,GLSL],DirectX [HLSL])。