Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 在玩游戏时是否可以将gpu卡用于gpgpu?_Opengl_Cuda_Parallel Processing_Gpgpu - Fatal编程技术网

Opengl 在玩游戏时是否可以将gpu卡用于gpgpu?

Opengl 在玩游戏时是否可以将gpu卡用于gpgpu?,opengl,cuda,parallel-processing,gpgpu,Opengl,Cuda,Parallel Processing,Gpgpu,我已经开始使用CUDA学习异构并行编程(如果有必要,将使用桌面),有一个问题我还找不到答案。玩3D游戏时,gpu卡可以用于gpgpu吗?如果是,性能成本会有多大?如何测量它们?在后台运行游戏和不运行游戏似乎都不是一个值得信赖的解决方案 好吧,gpu卡忙于渲染场景和其他东西,但我不知道它到底是如何工作的。在用户退出游戏之前,设备是否被游戏应用程序锁定,不能用于gpgpu?或者它只是接收异步调用来执行以下任务: 设备是免费的 游戏应用程序要求设备渲染场景 设备被游戏锁定,完成任务后,它再次被释放

我已经开始使用CUDA学习异构并行编程(如果有必要,将使用桌面),有一个问题我还找不到答案。玩3D游戏时,gpu卡可以用于gpgpu吗?如果是,性能成本会有多大?如何测量它们?在后台运行游戏和不运行游戏似乎都不是一个值得信赖的解决方案

好吧,gpu卡忙于渲染场景和其他东西,但我不知道它到底是如何工作的。在用户退出游戏之前,设备是否被游戏应用程序锁定,不能用于gpgpu?或者它只是接收异步调用来执行以下任务:

  • 设备是免费的
  • 游戏应用程序要求设备渲染场景
  • 设备被游戏锁定,完成任务后,它再次被释放
  • 我的应用程序要求设备执行一些gpgpu操作
  • 设备已被我的应用程序锁定,请执行此操作,然后它将再次免费
  • 等等
作为另一个解决方案:是否可以使用单独的gpu卡仅用于此目的(可能我需要防止它被游戏应用程序使用)

玩3D游戏时,gpu卡可以用于gpgpu吗

对。(试试看。)

如果是,性能成本会有多大

如果没有很多细节,比如cuda应用程序的内存和计算密集程度,什么样的GPU,什么样的游戏,等等,就无法真正回答这个问题

如何测量它们

测量任何一般影响应该不难。内存大小可以通过GPU-Z或nvidia smi等工具进行监控。您可以在游戏中监控帧率,以评估性能影响。你可以在游戏运行和不运行的情况下对你的计算应用程序进行基准测试

在用户退出游戏之前,设备是否被游戏应用程序锁定,不能用于gpgpu


不,但GPU必须在游戏任务和计算任务之间切换上下文。例如,在执行CUDA内核时,游戏将停止运行。因此,如果你想同时运行一个游戏和一个计算应用程序,你应该确保你的计算内核的持续时间非常短。在内核调用之间,游戏引擎将“迎头赶上”。

这是一个有趣的问题,但因为它不是关于一个特定的编程问题(即您当前正在编写的代码),它是针对堆栈溢出的-也许您应该试着问一下?如果在渲染OpenGL应用程序时GPU被锁定,那么你就不能同时运行两个OpenGL应用程序,这绝对不是事实。您还可以同时运行OpenGL和OpenCL;CL有与德国劳埃德船级社沟通的方式。GL的最新版本也有计算着色器。你可以在输入这个问题的时间内尝试一下。在显示器连接的GPU上运行GPGPU内核通常会使桌面有些迟钝。缓慢的程度取决于内核执行时间。这种影响在游戏中可能会非常剧烈。您可以使用单独的GPU。确保不启用SLI/Crossfire。