【问题标题】:instrA is faster than instrB on CPU but vice versa on GPU?instrA 在 CPU 上比 instrB 快,但在 GPU 上反之亦然?
【发布时间】:2015-05-18 19:55:54
【问题描述】:

有没有这样的例子:

on CPU, Instruction A is faster than Instruction B
However, 
on GPU, Instruction B is faster than Instruction A
(Instructions are assumed to be math operations)

这可能是由于 GPU 的某些因素,例如:

  • GPU 并行执行数据相关指令,这可能比顺序执行更糟糕
  • 高速缓存未命中率高,银行冲突

【问题讨论】:

  • 仅仅因为两个平台有一个类似命名的指令,甚至可能做几乎相同的事情,并不一定意味着两者的行为完全相同。
  • 这是你的作业吗?它比 A vs. B 复杂得多。
  • 不,不是我的作业。我是为了自己的兴趣而学习
  • gpu 中每个核心的速度都较慢。 gpu 中有很多内核和良好的本地内存空间/寄存器。

标签: c parallel-processing opencl gpu gpgpu


【解决方案1】:

当然,很长一段时间以来,GPU 不原生支持 32b 整数运算(尤其是乘法)是很常见的。有很多 CPU / GPU 组合,其中 32b 整数乘法比 CPU 上的 32b 浮点乘法更快,反之亦然。

【讨论】:

  • 有人提到 NxM 矩阵数学在 CPU 上处理大 N 和 M 更快,而 GPU 擅长处理小 NxM 矩阵。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 2018-06-18
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 1970-01-01
相关资源
最近更新 更多