首页 > 其他 > 详细

OpenCL vector index

时间:2021-07-13 12:11:42      阅读:16      评论:0      收藏:0      [点我收藏+]
背景

最近遇到了一个报错,kernel是这样写的: float *a = fvec4[0] (fvec4是一个vload4的float)``

什么意思呢?spec上对于float4还有float8等vector的访问是如何访问的呢?
float4 caseThis = {1.0f, 2.0f, 3.0f ,4.0f};

那么如果我需要访问第一个数据1.0f,我会是这样的:caseThis.x

其他的三个则是 caseThis.y caseThis.z caseThis.w

而不是使用[],如:caseThis[0] //undef behavior


目前

但是如amd nv以及其他编译器看样子都是支持[](从playground上看也是这样),那没办法,跟进业界,也做一下呗;

想法

既然s0 s1这样的能够访问,那么实现[]最简单的方法就是把[]的处理逻辑做到和它差不多。

OpenCL vector index

原文:https://www.cnblogs.com/moonking/p/15004657.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!