CPU和GPU到底有什么区别?

  • 2017-07-17
  • 506
  • 0
  • 2

GPU采用了数量众多的运算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。

而CPU不仅被Cache占据了大量空间,而且还有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。

从上图可以看出:

Cache, local memory: CPU > GPU

Threads(线程数): GPU > CPU

Registers: GPU > CPU

CPU 基于低延时的设计,有强大的ALU(算术运算单元),它可以在很少的时钟周期内完成算术计算。

GPU是基于大的吞吐量设计,GPU的特点是有很多的ALU和很少的缓存。而且GPU的缓存不是保存后面需要访问的数据的,而是为多线程服务的。如果有很多线程需要访问同一个相同的数据,缓存会合并这些访问,然后再去访问内存,获取数据后缓存会转发这个数据给对应的线程,这个时候是数据转发的角色。但是由于需要访问内存,自然会带来延时的问题。(文字部分来自:Magnum Programm Life)

精选留言

还没有任何留言,快来说两句吧

写留言


· · ·