【发布时间】:2019-04-22 21:48:35
【问题描述】:
我在 CUDA 上做了一些工作,在 CPU 上做了很多工作,我试图了解两者之间的区别。我的 I5 处理器有 4 个内核,售价 200 美元,而我的 NVidia 660 有 960 个内核,成本大致相同。
如果有人能解释两种处理单元架构在能力优缺点方面的主要区别是什么,我会非常高兴。例如,CUDA 核心是否有分支预测?
【问题讨论】:
-
CPU 核心是通用的,GPU 核心通常是非常专用的。
-
我明白这一点,但我想更深入地了解是什么让 GPU 内核非常具体,以及它们不能做什么,而 CPU 内核可以做到。
-
talonmies 当您开发具有多线程可读潜力的软件时,了解您可以使用的架构的优缺点非常重要,这样您就可以做出更好的选择,而不是在一个月后发现开发表明,尽管 Cuda 有许多处理器,但每个处理器都有一些缺点,这些缺点可能对您的性能至关重要,并且不适合您的问题。
-
虽然这不是一个询问具体编程问题的问题,但它确实属于这里,因为它的答案可以帮助程序员(如我)为他们正在编写的软件选择合适的基础架构。
-
@OopsUser 我建议您查看GPU Architecture 幻灯片 3-25,这将使您了解 NVIDIA Kepler SMX 如何执行指令。