【发布时间】:2015-10-23 13:17:38
【问题描述】:
我阅读了几个关于这个主题(SIMD 模式)的 SO 问题,但仍然需要稍微澄清/确认事情的工作原理。
Why use SIMD if we have GPGPU?
SIMD intrinsics - are they usable on gpus?
如果我在 SIMD-8 模式下编译代码,以下几点是否正确? 1)这意味着不同工作项的8条指令正在并行执行。
2) 这是否意味着所有工作项都只执行相同的指令?
3) 如果每个工作项代码包含 vload16 load 然后 float16 操作,然后仅 vstore16 操作。 SIMD-8 模式仍然有效。我的意思是说,GPU 是否真的要为所有 8 个工作项执行相同的指令(vload16/float16/vstore16)?
我应该如何理解这个概念?
【问题讨论】:
-
有趣的问题。我从未听说有人在 GPU 上进行 SIMD 优化。
-
GPU 使用(几乎)与 CPU 相同的 SIMD - 只是编程模型不同,在 GPU 上公开标量线程,在 CPU 上公开矢量线程。
-
第 3 点上的任何 cmets)