OpenCL中向量和数组的区别

  本文本来自OpenCL实践

   其一,一种给定类型的向量只能包含特定数量的元素;其二,当对向量操作时,所有的元素的操作都必须同时进行

  例如:

  你相对四组浮点数进行求和运算。具体而言,a和b都是由四个float型数所组成的数组,你想将a和b中对应项的求和结果保存到数组c中,下面的代码就是一种解决办法:

  float a[4], b[4], c[4];

  for (int i=0; i<4; i++) {

     c[i]=a[i]+b[i];

  }

  但如果现在假设a, b, c 是三个向量,各个向量包含四个float型数。那么你的求和运算代码就可以修改为:

  float4 a, b, c ;

  c=a+b;


注意:向量中的元素通常称为 向量分量 (component)

你可能感兴趣的:(OpenCL)