在OpenCL中vloadn中的偏移需要澄清

时间:2017-01-27 10:42:56

标签: opencl

This page表示vloadn(size_t offset, const gentype *p)"返回从地址(p +(偏移* n))"读取的sizeof(gentypen)字节数据。这是否意味着short4 m = vload4(1920, p)将从地址p+1920*4开始读取四个16位值,或者它是否会从位置p+1920*0p+1920*1,{{读取一个16位值1}}和p+1920*2

1 个答案:

答案 0 :(得分:1)

p+1920*0, p+1920*1, p+1920*2 and p+1920*3

有一个跨步模式,但定义说它是一个向量加载,它没有说稀疏向量所以它必须是一个

four 16-bit values starting from address p+1920*4

所以它应该与加载一个除了对齐处理(可能)之外的结构不同。

对于跨步副本,您可以使用

event_t async_work_group_strided_copy ( __local gentype *dst,
       const __global gentype *src,
       size_t num_gentypes,
       size_t src_stride,
       event_t event)