CPU和GPU的差异

新孩子

CPU的单个处理单元和GPU的单个处理单元有什么区别?
我在互联网上走过的大多数地方都掩盖了两者之间的高层差异。我想知道每条指令可以执行什么指令,它们执行的速度有多快?这些处理单元如何集成到竞争体系结构中?
这似乎是一个答案很长的问题。所以很多链接都很好。

编辑:
在CPU中,FPU运行实数运算。每个GPU内核中完成相同操作的速度有多快?如果快,那为什么会快呢?
我知道我的问题很笼统,但我的目标是要回答这些问题。

加布里埃尔南部

简短答案

GPU和CPU之间的主要区别在于,GPU被设计为在许多独立的数据元素上并行执行相同的操作,而CPU被设计为尽可能快地执行单个指令流。

详细答案

部分问题问

在CPU中,FPU运行实数运算。每个GPU内核中完成相同操作的速度有多快?如果快,那为什么会快呢?

这是指在CPU和GPU中使用的浮点(FP)执行单元。主要差别单个FP执行单元是如何实现的。相反,不同之处在于,CPU内核将只有少数几个执行独立指令的FP执行单元,而GPU将有数百个并行执行独立数据的指令执行单元

GPU最初是为图形应用程序执行计算而开发的,在这些应用程序中,相同的操作在数百万个不同的数据点上重复执行(想象一下应用一个操作来查看屏幕上的每个像素)。通过使用SIMDSIMT操作,GPU降低了处理单个指令的开销,但需要多个指令以同步方式进行操作。

后来GPGPU编程变得流行,因为除了适用于该模型的图形外,还有许多类型的编程问题。主要特征是问题是数据并行的,即可以对许多单独的数据元素独立执行相同的操作。

与GPU相比,CPU经过了优化,可以尽快执行单个指令流。CPU使用流水线处理,缓存,分支预测,乱序执行等方法来实现此目标。执行单个浮点指令所花费的大多数晶体管和精力都花费在管理指令流经管线而不是FP执行单元的开销中。尽管GPU和CPU的FP单元可能会有所不同,但这并不是两种体系结构之间的主要区别。主要区别在于指令流的处理方式。CPU也倾向于在单独的内核之间具有缓存一致性内存,而GPU则没有。

当然,具体的CPU和GPU的实现方式有很多变体。但是高级编程的区别在于,GPU针对数据并行工作负载进行了优化,而CPU内核针对尽快执行单个指令流进行了优化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Theano:与CPU和GPU一起获取矩阵点时的差异与数字

来自分类Dev

CPU SIMD和GPU SIMD?

来自分类Dev

GPU和CPU之间的区别

来自分类Dev

异步CPU读取和GPU + CPU计算

来自分类Dev

核心温度和CPU温度之间的差异

来自分类Dev

Python:并行化GPU和CPU工作

来自分类Dev

CPU和GPU生成的结果不匹配

来自分类Dev

Hugin,多核CPU和可选GPU

来自分类Dev

CPU和GPU是否符合要求?

来自分类Dev

Theano对CPU和GPU的不同结果

来自分类Dev

为什么cpu和gpu的结果不同?

来自分类Dev

CUDA对CPU和GPU具有相同功能

来自分类Dev

CUDA:cpu和gpu之间的不同答案减少

来自分类Dev

了解张量流队列和CPU <-> GPU传输

来自分类Dev

在TensorFlow中分配GPU和CPU资源的最佳实践

来自分类Dev

使用Python Windows获取CPU和GPU温度

来自分类Dev

在CPU和GPU之间同步静态分配的结构实例

来自分类Dev

在GPU和CPU上添加2D阵列的性能

来自分类Dev

带有专用GPU和板载VGA端口的AMD CPU

来自分类Dev

CUDA对于CPU和GPU具有相同的功能

来自分类Dev

在CPU和GPU之间以纹理形式传递数据

来自分类Dev

如何结合使用CPU和GPU图形以获得更好的性能?

来自分类Dev

黑屏,CPU和GPU运行以及风扇旋转

来自分类Dev

NUMBA 中 CPU 和 GPU 函数的数组分配

来自分类Dev

CPU 和 GPU 是否*一起* 用于渲染 HEVC?

来自分类Dev

如何同时在 CPU 和 GPU 上运行 Keras?

来自分类Dev

用于CUDA计算的工作站GPU和台式机GPU之间的性能差异是什么?

来自分类Dev

AWS上ejabberd和Riak群集的CPU和内存利用率差异

来自分类Dev

张量流:多GPU和分布式张量流之间的差异