3

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

CUDA 是不能用于这种应用程序,还是有一些技巧可以避免我之前的问题中描述的 sutuations?

这些家伙提供了所谓的“GPU Workbench”,并在他们自己的 linux 版本上构建了经过修改的 gpu 驱动程序。他们说他们的系统比典型的 GPU 配置执行得更快。有人知道他们吗?

4

2 回答 2

1

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

也就是说,我确实将 CUDA 用于一个周转时间大约为一秒的实时分布式系统,但听起来我们对“实时”的定义比你的要宽松一些。

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

于 2012-10-30T03:35:04.027 回答
0

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

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

  2. 如果您的应用程序使用图形。我推荐使用图形库(OpenGL [also, GLSL], DirectX [HLSL])。

于 2012-10-30T13:18:56.203 回答