我一直在寻找
cpu和GPU之间的主要区别,更准确地说,分离
cpu和gpu的细微差别.例如,为什么不使用多个
cpus而不是gpu,反之亦然.为什么gpu在处理计算中比“
cpu”更快.他们中的一个可以做些什么,而另一个不能做,或者做得很好,为什么会这样.请不要回答“中央处理单位”和“图形处理单位”,我在寻找一个深入的技术答案.
GPU基本上是大规模并行计算机.他们在可以使用大规模数据分解的问题上工作得很好,并且对这些问题提供了
数量级的加速.
然而,GPU中的各个处理单元与通用性能的cpu不匹配.它们更简单,并且没有像长管线,无序执行和指令级并行化这样的优化.
他们也有其他缺点.首先,您必须拥有一个用户,除非您控制硬件,否则您无法依赖此类设备.此外,在将数据从主存储器传输到GPU存储器并返回时还存在开销.
所以这取决于您的要求:在某些情况下,像特斯拉这样的GPU或专用处理单元是明确的赢家,但在其他情况下,您的工作不能被分解,以充分利用GPU,并且开销使cpu成为更好的选择.