C语言 instrA在CPU上比instrB快,但在GPU上反之亦然



是否有这样一个例子:

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并行执行与数据相关的指令,这可能比顺序执行更糟糕
  • 缓存丢失率高,银行冲突

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

相关内容