【发布时间】:2013-06-29 21:28:42
【问题描述】:
我要向那些(几乎)不知道 GPU 工作原理的人做一个演示。我认为说 GPU 有 1000 个内核而 CPU 只有 4 到 8 个内核是无稽之谈。但我想给我的观众一个比较的元素。
在使用 NVidia 的 Kepler 和 AMD 的 GCN 架构几个月后,我很想将 GPU“核心” 与 CPU 的 SIMD ALU 进行比较(我不不知道他们在英特尔是否有这个名字)。 公平吗?毕竟,在查看汇编级别时,这些编程模型有很多共同点(至少对于 GCN,看看 p2-6 ISA manual)。
This article 声明 Haswell 处理器每个周期可以执行 32 次单精度操作,但我想有流水线或其他事情发生以实现该速率。 用 NVidia 的说法,这个处理器有多少个 Cuda-cores? 我会说每个 CPU 核心有 8 个用于 32 位操作,但这只是基于SIMD 宽度。
当然,在比较 CPU 和 GPU 硬件时还需要考虑许多其他因素,但这不是我想要做的。我只需要解释一下它是如何工作的。
PS:非常感谢所有指向 CPU 硬件文档或 CPU/GPU 演示文稿的指针!
编辑: 感谢您的回答,遗憾的是我只能选择其中之一。我标记了Igor's answer,因为它最符合我最初的问题,并给了我足够的信息来证明为什么这个比较不应该走得太远,但是CaptainObvious provided very good articles。
【问题讨论】:
-
在你的比较中,一定要区分浮点和整数主导的算法。浮点通常是重点,但许多人使用 GPU (AMD GPU) 进行比特币挖掘,因为它具有出色的整数支持tomshardware.com/reviews/bitcoin-mining-make-money,3514.html。
-
感谢您的提示:)
标签: cuda hardware opencl gpu sse