我已经开始使用CUDA学习异构并行编程(在重要的情况下将使用桌面),并且还有一个我无法找到答案的问题。在玩3D游戏时,gpu卡可以用于gpgpu吗?如果是,性能成本会有多大?以及如何衡量它们?在后台使用和不使用游戏运行我的应用程序似乎不是一个值得信赖的解决方案。
AFAIK,gpu卡忙于渲染场景和其他东西,但我不知道它究竟是如何工作的。在用户退出游戏之前,游戏应用程序锁定的设备是否被用于gpgpu?或者它只是接收异步调用来执行这样的任务:
作为另一种解决方案:是否可以仅为此目的使用单独的gpu卡(也许我需要防止它被游戏应用程序使用)?
答案 0 :(得分:3)
在玩3D游戏时可以将gpu卡用于gpgpu吗?
是。 (试试吧。)
如果是,性能成本会有多大?
在没有很多细节的情况下,这真的无法回答,例如cuda应用程序的内存和计算密集程度,GPU类型,游戏等等。
如何衡量它们?
衡量任何一般影响并不困难。可以使用GPU-Z或nvidia-smi等工具监控内存大小。您可以监控游戏中的帧速率,以评估其中的性能影响。无论游戏运行与否,您都可以对计算应用进行基准测试。
在用户退出游戏之前,游戏应用程序锁定的设备是否被用于gpgpu?
不,但GPU必须在游戏任务和计算任务之间进行上下文切换。因此,例如,您的游戏将在执行CUDA内核时停止运行。因此,如果您想要与计算应用程序同时运行游戏,则应确保计算内核的持续时间非常短。在内核调用之间,游戏引擎将“赶上”#34;。