2015-05-06 335 views
1

可以使用Gpu运行在Cpu上运行的程序,例如从键盘和鼠标获得输入,或者使用Direct3D和OpenGL Api播放音乐或阅读文本文件的内容?GPU可以用来运行在CPU上运行的程序吗?

+0

短:不,长:你会生气尝试。另一方面,如果您要执行几万亿次浮点运算,GPU将支持您。 Google for OpenCL或CUDA。 – gnasher729

回答

0

GPU无法直接访问OS所映射的任何内存,以便在客户端代码(即在CPU上执行指令时以用户模式执行的代码)内访问该内存。另外GPU不应该执行这样的东西,它的目标是高速执行浮点运算。最后,除非你只使用计算着色器,否则绝不会使用Direct3D或OpenGL来执行与图形无关的任何事情。通用计算是在GPU上使用OpenCL或CUDA执行的,例如图像处理或物理模拟。然而,您可以收集CPU上的任何数据,将其发送到GPU进行进一步处理,最后再将其写回到可从CPU访问的内存中。

+2

不一定正确;如果你想把浮点运算从CPU委派给GPU并得到结果,该怎么办?从来没有这种情况下比使用CPU更有效吗?我知道有上传和下载费用,但为了证明概念,是否有办法做到这一点?可能通过将缓冲区作为纹理发送,然后执行复杂的着色器,然后将结果输出到输出缓冲区中。如果我理解正确; GPU具有对矩阵操作的本地支持,这可能会提高某些问题的性能。 – Dmitry

相关问题