【发布时间】:2011-08-17 11:18:15
【问题描述】:
我知道很多 GPU 比 CPU 快得多的例子。但是存在很难并行化的算法(问题)。能不能给我一些例子或测试什么时候 CPU 可以胜过 GPU?
编辑:
感谢您的建议!我们可以比较最流行和最新的 cpu 和 gpu,例如 Core i5 2500k 与 GeForce GTX 560 Ti。
我想知道如何比较它们之间的 SIMD 模型。例如:Cuda 更准确地称 SIMD 模型为 SIMT。但是 SIMT 应该与 CPU 上的多线程进行比较,后者在 MIMD 内核之间分配线程(任务)(Core i5 2500k 提供 4 个 MIMD 内核)。另一方面,这些 MIMD 内核中的每一个都可以实现 SIMD 模型,但这与 SIMT 不同,我不知道如何比较它们。最后,可以将具有并发内核执行的 fermi 架构视为具有 SIMT 的 MIMD 内核。
【问题讨论】:
-
请先阅读this blog post,然后再在 stackoverflow 上提问此类问题。
-
@talonmies:我不同意:这是一个非常具体的问题,有一个非常具体的答案。唯一反对它的是它可能是其他问题的重复。
-
GPGPU vs. Multicore?的可能重复
-
请参阅 - oxford-man.ox.ac.uk/gpuss/simd.html中的“不良候选人”
-
我认为这主要是“何时”的问题。给定某个算法的 CPU 和 GPU 实现,什么时候 CPU 版本会更快?当正在处理的数据小到足以在 CPU 上处理的时间少于 GPU 版本将数据传输到 GPU 并处理它所需的时间时,CPU 将更快。因此,在某些情况下,当输入数据非常小时,通常在 GPU 上更快的算法可能在 CPU 上具有更好的性能,因为将数据发送到 GPU 会产生开销。跨度>
标签: cpu gpgpu cpu-architecture