首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gpgpu中的SIMD-8、SIMD-16或SIMD-32

gpgpu中的SIMD-8、SIMD-16或SIMD-32
EN

Stack Overflow用户
提问于 2015-07-31 18:58:44
回答 1查看 1.6K关注 0票数 2

我读了几个关于这个主题的问题(SIMD模式),但是对于事情是如何工作的,我还是稍作了澄清/确认。

Why use SIMD if we have GPGPU?

SIMD intrinsics - are they usable on gpus?

CPU SIMD vs GPU SIMD?

以下几点是正确的,如果我用SIMD-8模式编译代码? 1)这意味着8个不同工作项的指令被并行执行。

2)是否意味着所有工作项只执行相同的指令?

3)如果每个wrok项代码都包含vload16加载,则只包含float16操作和vstore16操作。SIMD-8模式仍能工作.我的意思是说,GPU是否真的对所有8个工作项执行相同的指令(vload16 16/ float16 / vstore16)?

我应该如何理解这个概念?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-02 19:21:06

在过去,许多OpenCL供应商需要使用向量类型才能使用SIMD。现在,OpenCL供应商正在将工作项打包到SIMD中,因此不需要使用向量类型。可以通过查询:CL_DEVICE_PREFERRED_VECTOR_WIDTH_<CHAR, SHORT, INT, LONG, FLOAT, DOUBLE>来检查是否使用向量类型。

在Intel上,如果使用向量类型,则向量器首先对它们进行标度,然后再对其进行矢量化,以利用宽指令集。在其他平台上,这可能也是类似的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31753304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档