可以对GPU进行编程和/或修改以执行CPU指令吗?

时间:2014-03-19 00:17:05

标签: gpu cpu

我想知道如果GPU经过修改或编程就可以像CPU一样运行。如果有办法,我也想知道如何做到这一点。原因是,有时我会做那种东西作为实验,只是为了好玩。另外,如果不是一件大麻烦,那么购买昂贵的处理器只是为了获得更好的性能要好得多。我通常不需要我的GPU,只是因为我用我的电脑做最简单的事情。我的另一台电脑,这是一个略有不同的故事(因为我用它来播放视频),但你明白了。

1 个答案:

答案 0 :(得分:5)

是的,它被称为GPGPU(通用GPU),使用它可以使用CUDAOpenCL等语言在GPU上编写类似CPU的工作负载

当然这种方法对任何工作负载都不起作用,CPU在单线程难以并行化的代码或具有复杂控制流的代码(由于分支预测器)或内存局部性方面仍然要好得多(由于更好的缓存和预取)。 GPGPU主要用于执行非常直接的高度并行可矢量化代码。

事实上,这种计算方法有足够的牵引力来创建新的产品线(例如Xeon Phi,forraly Larrabee),以及增强现有的GPU(例如Tesla/Fermi和其他)< / p>

修改
重新阅读你的问题 - 如果你的意思是在这样的GPGPU上运行实际的CPU ISA,而不仅仅是一些普通的CPU任务,那么最好的选择是上面提到的Xeon Phi,它的目的是基于与CPU相同的ISA(它是我所知道的唯一的x86 GPGPU)。