【发布时间】:2014-12-11 13:08:26
【问题描述】:
所以我想在 openCL 中定义一个可在主机和设备上使用的结构,它使用内置的 openCL float4 数据类型。
在主机端,框架带有 cl_float4 类型,但在设备上它只是 float4。
所以如果我创建一个这样的结构......
typedef struct
{
cl_float4 a, b;
} MyStruct;
...然后尝试将该结构传递到内核(通过缓冲区)我得到一个错误。
如果我声明如下...
typedef struct
{
float4 a,b;
}
...这可以在设备上运行,但在主机上不起作用。
那么有没有办法获得它,以便我可以在同一结构内的程序两侧使用内置向量类型的 openCL?
【问题讨论】:
标签: arrays vector struct kernel opencl